過去に Raspbian Stretch 環境へのインストール記事を投稿していますが、現状に相違点がないかの確認を含めて、インストール手順を再投稿します。
internet へ接続し、web 公開時のセキュリティを考慮すると、最新版を使うことが望ましいと考えます。
2019/10/22時点の Nginx の最新版(mainline)は、1.17.5 になっています。
しかし、Raspberry Pi のプラットフォーム(armhf)用のバイナリパッケージは、残念ながら公式サイトでも配布されていないので、ソースパッケージからビルドして Deb パッケージを作成し、導入する手順を記載します。
1. 事前確認
Nginx の公式サイトで、最新版(mainline)の版数を確認します。
次に、Raspbian Buster のデフォルトパッケージリポジトリを使用して、インストールできる Nginx の版数を確認します。
※ 版数の確認結果が、同じであれば apt install nginx するのみでOKです。
# apt update # apt list nginx 一覧表示... 完了 nginx/stable 1.14.2-2+deb10u1 all ← 版数が古い #
2. Debian パッケージ構築の必須ツールのインストール
ソースパッケージをビルドするために必要になるツールパッケージ ” build-essential ” をインストールします。
参考まで ” Raspbian Buster ” の、2019-09-26 版では ” build-essential ” は導入済みでしたが、他の環境での作業時の参考として手順化しておきます。
# apt install build-essential
#
3. Nginx 前提条件パッケージのインストール
Nginx 公式サイトのパッケージインストール手順に、前提条件パッケージの記載があるため、インストールします。 参考まで ” Raspbian Buster ” の、2019-09-26 版で未導入だったのは ” gnupg2 ” のみでした。
# apt install curl gnupg2 ca-certificates lsb-release
#
4. 公式サイトのリポジトリ情報追加
Nginx 公式サイトの PGP 公開鍵を登録します。
# wget -O - http://nginx.org/keys/nginx_signing.key | apt-key add -
#
Nginx ソースパッケージのリポジトリ情報を追加し、パッケージ・リストの更新を行います。
# echo "deb-src http://nginx.org/packages/mainline/debian `lsb_release -cs` nginx" >> /etc/apt/sources.list.d/nginx.list # apt update #
5. 依存パッケージのインストール
Nginx ソースパッケージをビルドする際に、必要となる依存パッケージをインストールします。
# apt build-dep nginx
#
6. ソースパッケージをダウンロード
Nginx ソースパッケージのダウンロード+ビルド作業用のディレクトリを作成し、そこに移動します。
下記の手順では、版数 1.17.5 の例としています。
# mkdir /usr/local/src/nginx # mkdir /usr/local/src/nginx/1.17.5 # chmod 777 /usr/local/src/nginx/1.17.5 # cd /usr/local/src/nginx/1.17.5 #
Nginx ソースパッケージをダウンロードします。
# apt source nginx
#
ビルド作業を実施するため、ダウンロードしたソースパッケージのディレクトリへ移動します。
# cd nginx-1.17.5
#
7. 追加モジュールの設定
※追加モジュールが必要ない場合は、次の項に進んで下さい。
ここでは、Nginx を ipv6 に対応するため、ソースパッケージのビルド時に、モジュール追加される様に、debian/rules ファイルを編集します。
まず、編集前に内容を確認します。
# cat debian/rules
#
./configure の行の後部に ” –with-ipv6 ” の記述を追加します。
下記の手順では、vi 等のエディタを使用せずに、sed コマンドを用いて該当箇所を編集する手法を使用しています。
# sed -i 's/--with-ld-opt="$(LDFLAGS)"/--with-ld-opt="$(LDFLAGS)" --with-ipv6/g' debian/rules
#
編集後の内容を確認します。
# cat debian/rules
#
8. ソースパッケージのビルド
ソースパッケージのディレクトリで、ビルドのコマンドを実行します。
# dpkg-buildpackage -uc -b
#
ビルドが終了すると、親ディレクトリにDebパッケージファイルが作成されます。
# cd .. # ls nginx-1.17.5 nginx_1.17.5-1~buster_armhf.buildinfo nginx-dbg_1.17.5-1~buster_armhf.deb nginx_1.17.5-1~buster_armhf.changes nginx_1.17.5-1~buster.debian.tar.xz nginx_1.17.5-1~buster_armhf.deb nginx_1.17.5-1~buster.dsc nginx_1.17.5.orig.tar.gz #
9. Debパッケージファイルのインストール
ここまでの手順で作成された、Nginx Debパッケージファイルをインストールします。
# apt install ./nginx_1.17.5-1~buster_armhf.deb
#
10. バージョン確認と起動設定
インストールされた、Nginx のバージョン、モジュールは下記コマンドにて確認出来ます。
# nginx -V
#
Nginx 起動状態の確認します。
(下記コマンドを実行し、「 Active: active (running) 」の表示があれば起動状態OKです。)
# systemctl status nginx
#
Nginx が起動していない場合は、下記コマンドで起動します。
# systemctl start nginx
#
Nginx の自動起動設定状態の確認します。
(下記コマンドを実行し、「 enabled 」が表示されればOKです。)
# systemctl is-enabled nginx
#
Nginx が自動起動設定になっていない場合は、下記コマンドで設定します。
# systemctl enable nginx
#
11. 動作確認
ブラウザから、Nginxをインストールした Raspberry Pi の ip アドレス指定でアクセスし、下記の初期画面の表示を確認できれば動作確認完了です。