Raspberry Pi Web サーバーの構築
Debian Bookworm
nginx 特定のバージョンをインストール
Debian Bookworm
nginx 特定のバージョンをインストール
Webサイトの安全性と高いパフォーマンスを維持するためには、Nginxのバージョンアップが必要となるが、Raspberry Pi OS の「デフォルトのパッケージリポジトリ」の基で Nginx をインストールすると、数世代前のマイナーバージョンしかインストールできない。
以下、Raspberry Pi OS bookworm に nginx の特定のバージョンを指定してインストールした記録。
スポンサー リンク
目 次
1. インストールできる nginx のバージョンを確認
2. nginx の公式リポジトリを追加
3. GPG 鍵をインストールする
4. リポジトリのセキュリティを設定する
5. リポジトリ情報を更新する
6. 利用可能なバージョンを確認する
7. 特定のバージョンをインストール
8. 自動更新の無効化
2. nginx の公式リポジトリを追加
3. GPG 鍵をインストールする
4. リポジトリのセキュリティを設定する
5. リポジトリ情報を更新する
6. 利用可能なバージョンを確認する
7. 特定のバージョンをインストール
8. 自動更新の無効化
1. インストールできる nginx のバージョンを確認
安定版(Stable:主に不具合の修正とセキュリティアップデートが行われるバージョン、マイナーバージョンが偶数)は「1.26.3」となっている。
apt-cache コマンドで、Raspberry Pi OS bookworm にインストール可能な nginx のバージョンを確認する。
apt-cache madison nginx
nginx | 1.22.1-9 | http://deb.debian.org/debian bookworm/main arm64 Packages
sudo apt-cache policy nginx
nginx:
インストールされているバージョン: (なし)
候補: 1.22.1-9
バージョンテーブル:
1.22.1-9 500
500 http://deb.debian.org/debian bookworm/main arm64 Packages
apt パッケージマネージャが利用するリポジトリで、インストール可能なバージョンは「1.122.1」となっている。
2. nginx の公式リポジトリを追加
nginx の公式リポジトリをパッケージリストを作成し、
ファイル「/etc/apt/sources.list.d/nginx.list」に追加する。
ファイル「/etc/apt/sources.list.d/nginx.list」に追加する。
echo "deb http://nginx.org/packages/debian/ $(lsb_release -sc) nginx" | sudo tee /etc/apt/sources.list.d/nginx.list
deb: Debian ベースのパッケージリポジトリを指定する際に使用される形式。
http://nginx.org/packages/debian/: NGINX の公式 Debian 用リポジトリの URL。
http://nginx.org/packages/debian/: NGINX の公式 Debian 用リポジトリの URL。
$(lsb_release -sc) は、コマンド置換 (Command Substitution) の形式で、
「bookworm nginx」と記述できるよう、OSのコードネームを取得している。
「bookworm nginx」と記述できるよう、OSのコードネームを取得している。
lsb_release:
Linux Standard Base(LSB)に関連する情報を取得するコマンド。
-s:簡潔(short)な出力を表示。
-c:ディストリビューションのコードネーム(例:focalやbusterなど)を表示。
Linux Standard Base(LSB)に関連する情報を取得するコマンド。
-s:簡潔(short)な出力を表示。
-c:ディストリビューションのコードネーム(例:focalやbusterなど)を表示。
lsb_release -sc
bookworm
No LSB modules are available.
というメッセージが表示されたら、LSBモジュールがインストールされていないことを示している。LSBモジュールを使用するスクリプトやプログラムを使用する場合は、インストールを検討する。
sudo apt install lsb-release
というメッセージが表示されたら、LSBモジュールがインストールされていないことを示している。LSBモジュールを使用するスクリプトやプログラムを使用する場合は、インストールを検討する。
sudo apt install lsb-release
teeコマンド:
標準入力を指定したファイル(この場合は/etc/apt/sources.list.d/nginx.list)に書き込むコマンドです。
ここでは、echoで生成したリポジトリ情報を/etc/apt/sources.list.d/nginx.listに保存します。
標準入力を指定したファイル(この場合は/etc/apt/sources.list.d/nginx.list)に書き込むコマンドです。
ここでは、echoで生成したリポジトリ情報を/etc/apt/sources.list.d/nginx.listに保存します。
パッケージリストの内容を見てみると・・・。
sudo nano /etc/apt/sources.list.d/nginx.list
deb http://nginx.org/packages/debian/ bookworm nginx
3. GPG 鍵をインストールする
公式リポジトリのパッケージを認証するために、GPG 鍵をダウンロードしてインストールする。
curl -fsSL https://nginx.org/keys/nginx_signing.key | sudo gpg --dearmor -o /usr/share/keyrings/nginx-archive-keyring.gpg
curl: 指定された URL からデータを取得するコマンド。
-f: HTTP エラー(例: 404)を無視せず、失敗時にはエラーを出力します。
-s: サイレントモード。進行状況やエラー以外の出力を抑制します。
-S: エラーが発生した場合にエラーメッセージを表示します。
-L: リダイレクトされた場合に追従します。
https://nginx.org/keys/nginx_signing.key: NGINX の公式 GPG 鍵ファイルの URL。
-f: HTTP エラー(例: 404)を無視せず、失敗時にはエラーを出力します。
-s: サイレントモード。進行状況やエラー以外の出力を抑制します。
-S: エラーが発生した場合にエラーメッセージを表示します。
-L: リダイレクトされた場合に追従します。
https://nginx.org/keys/nginx_signing.key: NGINX の公式 GPG 鍵ファイルの URL。
gpg: GNU Privacy Guard。データの暗号化や署名のためのツールです。
--dearmor: ASCII 形式の GPG 鍵(armored key)をバイナリ形式に変換します。
-o /usr/share/keyrings/nginx-archive-keyring.gpg:
-o: 出力先を指定します。
/usr/share/keyrings/nginx-archive-keyring.gpg: 出力先のファイルパス。
通常、この場所はシステム全体で利用可能な鍵を保存するディレクトリとして使われます。
この部分で、取得した鍵をシステムで使用するためにバイナリ形式に変換して保存します。
--dearmor: ASCII 形式の GPG 鍵(armored key)をバイナリ形式に変換します。
-o /usr/share/keyrings/nginx-archive-keyring.gpg:
-o: 出力先を指定します。
/usr/share/keyrings/nginx-archive-keyring.gpg: 出力先のファイルパス。
通常、この場所はシステム全体で利用可能な鍵を保存するディレクトリとして使われます。
この部分で、取得した鍵をシステムで使用するためにバイナリ形式に変換して保存します。
GPGキー とは
GPG(GNU Privacy Guard)というオープンソースの暗号化ソフトで生成される公開鍵で、apt コマンドを使ってインターネットから入手できるパッケージが、正しい配布先のものかどうかのチェックに使われる。
GPG(GNU Privacy Guard)というオープンソースの暗号化ソフトで生成される公開鍵で、apt コマンドを使ってインターネットから入手できるパッケージが、正しい配布先のものかどうかのチェックに使われる。
4. リポジトリのセキュリティを設定する
パッケージリストにリポジトリのセキュリティを追加設定する。
echo "deb [signed-by=/usr/share/keyrings/nginx-archive-keyring.gpg] http://nginx.org/packages/debian/ bookworm nginx" | sudo tee /etc/apt/sources.list.d/nginx.list
パッケージリストの内容を見てみると・・・。
sudo nano /etc/apt/sources.list.d/nginx.list
deb [signed-by=/usr/share/keyrings/nginx-archive-keyring.gpg] http://nginx.org/packages/debian/ bookworm nginx
5. リポジトリ情報を更新する
パッケージリストの準備ができたので、パッケージリポジトリを更新する。
sudo apt update
6. 利用可能なバージョンを確認する
更新されたパッケージリポジトリを利用して、利用可能な nginx のバージョンを確認する。
apt-cache madison nginx
nginx | 1.26.3-1~bookworm | http://nginx.org/packages/debian bookworm/nginx arm64 Packages
nginx | 1.26.2-1~bookworm | http://nginx.org/packages/debian bookworm/nginx arm64 Packages
nginx | 1.26.1-2~bookworm | http://nginx.org/packages/debian bookworm/nginx arm64 Packages
nginx | 1.26.1-1~bookworm | http://nginx.org/packages/debian bookworm/nginx arm64 Packages
nginx | 1.26.0-1~bookworm | http://nginx.org/packages/debian bookworm/nginx arm64 Packages
nginx | 1.24.0-1~bookworm | http://nginx.org/packages/debian bookworm/nginx arm64 Packages
nginx | 1.22.1-9 | http://deb.debian.org/debian bookworm/main arm64 Packages
nginx の公式リポジトリから提供されている最新バージョンが表示される。
この中から、特定のバージョン nginx=1.26.3-1~bookworm を選択する。
7. 特定のバージョンをインストール
特定のバージョン nginx=1.26.3-1~bookworm を指定してインストールする。
sudo apt install nginx=1.26.3-1~bookworm
インストールが完了したら、以下のコマンドでバージョンを確認する。
nginx -v
nginx version: nginx/1.26.3
8. 自動更新の無効化
インストールしたバージョンを維持する為に、パッケージの自動更新を止める。
sudo apt-mark hold nginx
以上で、nginx を「バージョンを指定」してインストールすることが出来る。
以上。
(2025.02.20)
(2025.02.20)
スポンサー リンク