Raspberry Pi nginxをバージョンを指定してインストールする

Raspberry Pi Web サーバーの構築
Debian Bookworm
nginx 特定のバージョンをインストール
 
Webサイトの安全性と高いパフォーマンスを維持するためには、Nginxのバージョンアップが必要となるが、Raspberry Pi OS の「デフォルトのパッケージリポジトリ」の基で Nginx をインストールすると、数世代前のマイナーバージョンしかインストールできない。
 
Nginx の公式サイトで最新のバージョンを確認
 
以下、Raspberry Pi OS bookworm に nginx の特定のバージョンを指定してインストールした記録。
 
 

 

スポンサー リンク

 

 
 
 
 
 
1. インストールできる nginx のバージョンを確認
 
Nginx の公式サイトで最新のバージョンを確認する。
Nginx の公式サイトで最新のバージョンを確認
 
安定版(Stable:主に不具合の修正とセキュリティアップデートが行われるバージョン、マイナーバージョンが偶数)は「1.26.3」となっている。
 
Nginxのリリース日とサポート期限。
Nginxのリリース日とサポート期限
 
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」に追加する。
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。
 
$(lsb_release -sc) は、コマンド置換 (Command Substitution) の形式で、
「bookworm nginx」と記述できるよう、OSのコードネームを取得している。
 
lsb_release
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
 
teeコマンド
標準入力を指定したファイル(この場合は/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。
 
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: 出力先のファイルパス。
 通常、この場所はシステム全体で利用可能な鍵を保存するディレクトリとして使われます。

 この部分で、取得した鍵をシステムで使用するためにバイナリ形式に変換して保存します。
 
GPGキー とは
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)
 

 

スポンサー リンク

 

             

 

 

 

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

This site uses Akismet to reduce spam. Learn how your comment data is processed.