nginx: Linuxパッケージ
対応ディストリビューションとバージョン インストール手順 RHELとその派生版 Debian Ubuntu SLES Alpine Amazon Linux ソースパッケージ 動的モジュール 署名 |
対応ディストリビューションとバージョン
nginxパッケージは、以下のLinuxディストリビューションとバージョンで利用可能です
バージョン 対応プラットフォーム 8.x x86_64, aarch64/arm64 9.x x86_64, aarch64/arm64
バージョン 対応プラットフォーム 11.x “bullseye” x86_64, aarch64/arm64 12.x “bookworm” x86_64, aarch64/arm64
バージョン 対応プラットフォーム 20.04 “focal” x86_64, aarch64/arm64 22.04 “jammy” x86_64, aarch64/arm64 24.04 “noble” x86_64, aarch64/arm64 24.10 “oracular” x86_64, aarch64/arm64
バージョン 対応プラットフォーム 15 SP2+ x86_64
バージョン 対応プラットフォーム 3.18 x86_64, aarch64/arm64 3.19 x86_64, aarch64/arm64 3.20 x86_64, aarch64/arm64
バージョン 対応プラットフォーム 2 (LTS) x86_64, aarch64/arm64 2023 x86_64, aarch64/arm64
インストール手順
新しいマシンにnginxを初めてインストールする前に、nginxパッケージリポジトリを設定する必要があります。その後、リポジトリからnginxをインストールおよび更新できます。
RHELとその派生版
このセクションは、Red Hat Enterprise Linuxとその派生版(CentOS、Oracle Linux、Rocky Linux、AlmaLinuxなど)に適用されます。
前提条件をインストールする
sudo yum install yum-utils
yumリポジトリを設定するには、以下の内容で/etc/yum.repos.d/nginx.repo
という名前のファイルを作成します
[nginx-stable] name=nginx stable repo baseurl=https://nginx.dokyumento.jp/packages/centos/$releasever/$basearch/ gpgcheck=1 enabled=1 gpgkey=https://nginx.dokyumento.jp/keys/nginx_signing.key module_hotfixes=true [nginx-mainline] name=nginx mainline repo baseurl=https://nginx.dokyumento.jp/packages/mainline/centos/$releasever/$basearch/ gpgcheck=1 enabled=0 gpgkey=https://nginx.dokyumento.jp/keys/nginx_signing.key module_hotfixes=true
デフォルトでは、安定版nginxパッケージのリポジトリが使用されます。メインラインnginxパッケージを使用する場合は、次のコマンドを実行します
sudo yum-config-manager --enable nginx-mainline
nginxをインストールするには、次のコマンドを実行します
sudo yum install nginx
GPGキーの受け入れを求められたら、フィンガープリントが573B FD6B 3D8F BC64 1079 A6AB ABF5 BD82 7BD9 BF62
と一致することを確認し、一致する場合は受け入れます。
Debian
前提条件をインストールする
sudo apt install curl gnupg2 ca-certificates lsb-release debian-archive-keyring
aptがパッケージの信頼性を検証できるように、公式のnginx署名キーをインポートします。キーを取得します
curl https://nginx.dokyumento.jp/keys/nginx_signing.key | gpg --dearmor \ | sudo tee /usr/share/keyrings/nginx-archive-keyring.gpg >/dev/null
ダウンロードしたファイルに適切なキーが含まれていることを確認します
gpg --dry-run --quiet --no-keyring --import --import-options import-show /usr/share/keyrings/nginx-archive-keyring.gpg
出力には、以下のように完全なフィンガープリント573BFD6B3D8FBC641079A6ABABF5BD827BD9BF62
が含まれている必要があります
pub rsa2048 2011-08-19 [SC] [expires: 2027-05-24] 573BFD6B3D8FBC641079A6ABABF5BD827BD9BF62 uid nginx signing key <signing-key@nginx.com>
出力には、パッケージの署名に使用された他のキーが含まれている場合があることに注意してください。
安定版nginxパッケージのaptリポジトリを設定するには、次のコマンドを実行します
echo "deb [signed-by=/usr/share/keyrings/nginx-archive-keyring.gpg] \ https://nginx.dokyumento.jp/packages/debian `lsb_release -cs` nginx" \ | sudo tee /etc/apt/sources.list.d/nginx.list
メインラインnginxパッケージを使用する場合は、代わりに次のコマンドを実行します
echo "deb [signed-by=/usr/share/keyrings/nginx-archive-keyring.gpg] \ https://nginx.dokyumento.jp/packages/mainline/debian `lsb_release -cs` nginx" \ | sudo tee /etc/apt/sources.list.d/nginx.list
ディストリビューション提供のパッケージよりも優先されるように、リポジトリのピンニングを設定します
echo -e "Package: *\nPin: origin nginx.org\nPin: release o=nginx\nPin-Priority: 900\n" \ | sudo tee /etc/apt/preferences.d/99nginx
nginxをインストールするには、次のコマンドを実行します
sudo apt update sudo apt install nginx
Ubuntu
前提条件をインストールする
sudo apt install curl gnupg2 ca-certificates lsb-release ubuntu-keyring
aptがパッケージの信頼性を検証できるように、公式のnginx署名キーをインポートします。キーを取得します
curl https://nginx.dokyumento.jp/keys/nginx_signing.key | gpg --dearmor \ | sudo tee /usr/share/keyrings/nginx-archive-keyring.gpg >/dev/null
ダウンロードしたファイルに適切なキーが含まれていることを確認します
gpg --dry-run --quiet --no-keyring --import --import-options import-show /usr/share/keyrings/nginx-archive-keyring.gpg
出力には、以下のように完全なフィンガープリント573BFD6B3D8FBC641079A6ABABF5BD827BD9BF62
が含まれている必要があります
pub rsa2048 2011-08-19 [SC] [expires: 2027-05-24] 573BFD6B3D8FBC641079A6ABABF5BD827BD9BF62 uid nginx signing key <signing-key@nginx.com>
出力には、パッケージの署名に使用された他のキーが含まれている場合があることに注意してください。
安定版nginxパッケージのaptリポジトリを設定するには、次のコマンドを実行します
echo "deb [signed-by=/usr/share/keyrings/nginx-archive-keyring.gpg] \ https://nginx.dokyumento.jp/packages/ubuntu `lsb_release -cs` nginx" \ | sudo tee /etc/apt/sources.list.d/nginx.list
メインラインnginxパッケージを使用する場合は、代わりに次のコマンドを実行します
echo "deb [signed-by=/usr/share/keyrings/nginx-archive-keyring.gpg] \ https://nginx.dokyumento.jp/packages/mainline/ubuntu `lsb_release -cs` nginx" \ | sudo tee /etc/apt/sources.list.d/nginx.list
ディストリビューション提供のパッケージよりも優先されるように、リポジトリのピンニングを設定します
echo -e "Package: *\nPin: origin nginx.org\nPin: release o=nginx\nPin-Priority: 900\n" \ | sudo tee /etc/apt/preferences.d/99nginx
nginxをインストールするには、次のコマンドを実行します
sudo apt update sudo apt install nginx
SLES
前提条件をインストールする
sudo zypper install curl ca-certificates gpg2
安定版nginxパッケージのzypperリポジトリを設定するには、次のコマンドを実行します
sudo zypper addrepo --gpgcheck --type yum --refresh --check \ 'https://nginx.dokyumento.jp/packages/sles/$releasever_major' nginx-stable
メインラインnginxパッケージを使用する場合は、代わりに次のコマンドを実行します
sudo zypper addrepo --gpgcheck --type yum --refresh --check \ 'https://nginx.dokyumento.jp/packages/mainline/sles/$releasever_major' nginx-mainline
次に、zypper/rpmがパッケージの信頼性を検証できるように、公式のnginx署名キーをインポートします。キーを取得します
curl -o /tmp/nginx_signing.key https://nginx.dokyumento.jp/keys/nginx_signing.key
ダウンロードしたファイルに適切なキーが含まれていることを確認します
gpg --with-fingerprint /tmp/nginx_signing.key
出力には、以下のように完全なフィンガープリント573B FD6B 3D8F BC64 1079 A6AB ABF5 BD82 7BD9 BF62
が含まれている必要があります
pub 2048R/7BD9BF62 2011-08-19 [expires: 2027-05-24] Key fingerprint = 573B FD6B 3D8F BC64 1079 A6AB ABF5 BD82 7BD9 BF62 uid nginx signing key <signing-key@nginx.com>
最後に、キーをrpmデータベースにインポートします
sudo rpmkeys --import /tmp/nginx_signing.key
nginxをインストールするには、次のコマンドを実行します
sudo zypper install nginx
Alpine
前提条件をインストールする
sudo apk add openssl curl ca-certificates
安定版nginxパッケージのapkリポジトリを設定するには、次のコマンドを実行します
printf "%s%s%s%s\n" \ "@nginx " \ "https://nginx.dokyumento.jp/packages/alpine/v" \ `egrep -o '^[0-9]+\.[0-9]+' /etc/alpine-release` \ "/main" \ | sudo tee -a /etc/apk/repositories
メインラインnginxパッケージを使用する場合は、代わりに次のコマンドを実行します
printf "%s%s%s%s\n" \ "@nginx " \ "https://nginx.dokyumento.jp/packages/mainline/alpine/v" \ `egrep -o '^[0-9]+\.[0-9]+' /etc/alpine-release` \ "/main" \ | sudo tee -a /etc/apk/repositories
次に、apkがパッケージの信頼性を検証できるように、公式のnginx署名キーをインポートします。キーを取得します
curl -o /tmp/nginx_signing.rsa.pub https://nginx.dokyumento.jp/keys/nginx_signing.rsa.pub
ダウンロードしたファイルに適切なキーが含まれていることを確認します
openssl rsa -pubin -in /tmp/nginx_signing.rsa.pub -text -noout
出力には、以下のモジュラスが含まれている必要があります
Public-Key: (2048 bit) Modulus: 00:fe:14:f6:0a:1a:b8:86:19:fe:cd:ab:02:9f:58: 2f:37:70:15:74:d6:06:9b:81:55:90:99:96:cc:70: 5c:de:5b:e8:4c:b2:0c:47:5b:a8:a2:98:3d:11:b1: f6:7d:a0:46:df:24:23:c6:d0:24:52:67:ba:69:ab: 9a:4a:6a:66:2c:db:e1:09:f1:0d:b2:b0:e1:47:1f: 0a:46:ac:0d:82:f3:3c:8d:02:ce:08:43:19:d9:64: 86:c4:4e:07:12:c0:5b:43:ba:7d:17:8a:a3:f0:3d: 98:32:b9:75:66:f4:f0:1b:2d:94:5b:7c:1c:e6:f3: 04:7f:dd:25:b2:82:a6:41:04:b7:50:93:94:c4:7c: 34:7e:12:7c:bf:33:54:55:47:8c:42:94:40:8e:34: 5f:54:04:1d:9e:8c:57:48:d4:b0:f8:e4:03:db:3f: 68:6c:37:fa:62:14:1c:94:d6:de:f2:2b:68:29:17: 24:6d:f7:b5:b3:18:79:fd:31:5e:7f:4c:be:c0:99: 13:cc:e2:97:2b:dc:96:9c:9a:d0:a7:c5:77:82:67: c9:cb:a9:e7:68:4a:e1:c5:ba:1c:32:0e:79:40:6e: ef:08:d7:a3:b9:5d:1a:df:ce:1a:c7:44:91:4c:d4: 99:c8:88:69:b3:66:2e:b3:06:f1:f4:22:d7:f2:5f: ab:6d Exponent: 65537 (0x10001)
最後に、キーをapkの信頼できるキーストレージに移動します
sudo mv /tmp/nginx_signing.rsa.pub /etc/apk/keys/
nginxをインストールするには、次のコマンドを実行します
sudo apk add nginx@nginx
動的モジュールを含むパッケージをインストールする場合は、@nginx
タグも指定する必要があります
sudo apk add nginx-module-image-filter@nginx nginx-module-njs@nginx
Amazon Linux
前提条件をインストールする
sudo yum install yum-utils
Amazon Linux 2のyumリポジトリを設定するには、以下の内容で/etc/yum.repos.d/nginx.repo
という名前のファイルを作成します
[nginx-stable] name=nginx stable repo baseurl=https://nginx.dokyumento.jp/packages/amzn2/$releasever/$basearch/ gpgcheck=1 enabled=1 gpgkey=https://nginx.dokyumento.jp/keys/nginx_signing.key module_hotfixes=true priority=9 [nginx-mainline] name=nginx mainline repo baseurl=https://nginx.dokyumento.jp/packages/mainline/amzn2/$releasever/$basearch/ gpgcheck=1 enabled=0 gpgkey=https://nginx.dokyumento.jp/keys/nginx_signing.key module_hotfixes=true priority=9
Amazon Linux 2023のyumリポジトリを設定するには、以下の内容で/etc/yum.repos.d/nginx.repo
という名前のファイルを作成します
[nginx-stable] name=nginx stable repo baseurl=https://nginx.dokyumento.jp/packages/amzn/2023/$basearch/ gpgcheck=1 enabled=1 gpgkey=https://nginx.dokyumento.jp/keys/nginx_signing.key module_hotfixes=true priority=9 [nginx-mainline] name=nginx mainline repo baseurl=https://nginx.dokyumento.jp/packages/mainline/amzn/2023/$basearch/ gpgcheck=1 enabled=0 gpgkey=https://nginx.dokyumento.jp/keys/nginx_signing.key module_hotfixes=true priority=9
デフォルトでは、安定版nginxパッケージのリポジトリが使用されます。メインラインnginxパッケージを使用する場合は、次のコマンドを実行します
sudo yum-config-manager --enable nginx-mainline
nginxをインストールするには、次のコマンドを実行します
sudo yum install nginx
GPGキーの受け入れを求められたら、フィンガープリントが573B FD6B 3D8F BC64 1079 A6AB ABF5 BD82 7BD9 BF62
と一致することを確認し、一致する場合は受け入れます。
ソースパッケージ
パッケージングソースは、パッケージングソースリポジトリにあります。
default
ブランチには現在のメインラインバージョンのパッケージングソースが、stable-*
ブランチには安定版リリースの最新のソースが含まれています。バイナリパッケージをビルドするには、Debian/Ubuntuではdebian/
ディレクトリで、RHELとその派生版、SLES、Amazon Linuxではrpm/SPECS/
で、Alpineではalpine/
でmake
を実行します。
パッケージングソースは、nginxで使用されているのと同じ2条項BSDライセンスで配布されています。
動的モジュール
メインのnginxパッケージは、追加の依存関係を回避するために、追加のライブラリを必要としないすべてのモジュールを使用してビルドされています。バージョン1.9.11以降、nginxは動的モジュールをサポートしており、以下のモジュールは動的としてビルドされ、個別のパッケージとして出荷されます
nginx-module-geoip nginx-module-image-filter nginx-module-njs nginx-module-perl nginx-module-xslt
さらに、バージョン1.25.3以降、以下のモジュールは個別のパッケージとして出荷されます
nginx-module-otel
署名
当社のPGPキーとパッケージは同じサーバーにあるため、同等に信頼されています。ダウンロードしたPGPキーの信頼性を dodatkowo 検証することを強くお勧めします。PGPには「Web of Trust」という概念があり、キーが他の誰かのキーによって署名され、それがさらに別のキーによって署名される、といった具合です。これにより、任意のキーから個人的に知っている信頼できる人物のキーへのチェーンを構築し、チェーンの最初のキーの信頼性を検証できることがよくあります。この概念については、GPGミニハウツーで詳しく説明されています。当社のキーには十分な署名があり、信頼性を比較的簡単に確認できます。