あまブログ

ドキドキ......ドキドキ2択クイ〜〜〜〜〜〜〜ズ!!

【Debian】Nginx公式リポジトリにある最新バージョンのNginxをインストールする

この記事では、DebianにNginx公式リポジトリにある最新バージョンのNginxをインストールする手順を紹介します。

※Debianのデフォルトの設定でapt install nginxした場合、Nginx公式リポジトリからではなく、Debian公式リポジトリから少し古いバージョンのNginxがインストールされます。

実行環境

  • Debian 11 bullseye

手順

1. 必要なパッケージのインストール

Nginxのインストールに必要な以下のパッケージをインストールします。

以下のコマンドを実行してパッケージをインストール。

$ sudo apt install curl gnupg2 ca-certificates lsb-release debian-archive-keyring
  • パッケージの情報を表示:apt show <パッケージ名>
  • インストール済みパッケージの確認:apt list --installed <パッケージ名>

2. 署名鍵のインポート

aptがパッケージの信頼性を確認できるようにするために、Nginxが公式に公開している署名鍵をインポートします。

以下のコマンドを実行して署名鍵をインポート。

$ curl https://nginx.org/keys/nginx_signing.key | gpg --dearmor | sudo tee /usr/share/keyrings/nginx-archive-keyring.gpg >/dev/null
  • コマンドの意味
    • curl https://nginx.org/keys/nginx_signing.key
      • curlコマンドで署名鍵ファイルをダウンロード
    • gpg --dearmor
      • 署名鍵ファイルをgpgコマンドで暗号化
    • sudo tee /usr/share/keyrings/nginx-archive-keyring.gpg
      • teeコマンドで /usr/share/keyrings 配下に nginx-archive-keyring.gpg というファイル名で保存
    • >/dev/null
      • コマンド実行時の出力結果を /dev/null に渡している

以下のコマンドを実行して、ダウンロードした署名鍵が正しいことを確認します。

$ gpg --dry-run --quiet --import --import-options import-show /usr/share/keyrings/nginx-archive-keyring.gpg

出力結果は以下のようになります。

pub   rsa2048 2011-08-19 [SC] [expires: 2024-06-14]
      573BFD6B3D8FBC641079A6ABABF5BD827BD9BF62
uid                      nginx signing key <signing-key@nginx.com>

出力されたフィンガープリントの値が573BFD6B3D8FBC641079A6ABABF5BD827BD9BF62であることを確認します。

フィンガープリントの値が異なる場合は、署名鍵をインポートし直してください。

3. リポジトリの追加

aptの設定ファイルにNginxの公式リポジトリを追加します。

以下のコマンドを実行して /etc/apt/sources.list.d 配下に設定ファイルを作成します。

$ echo "deb [signed-by=/usr/share/keyrings/nginx-archive-keyring.gpg] http://nginx.org/packages/mainline/debian `lsb_release -cs` nginx" | sudo tee /etc/apt/sources.list.d/nginx.list

作成された /etc/apt/sources.list.d/nginx.list の内容は以下のようになります。

deb [signed-by=/usr/share/keyrings/nginx-archive-keyring.gpg] http://nginx.org/packages/mainline/debian bullseye nginx

上記の設定ではmainlineのリポジトリを追加しています。

4. Nginxのインストール

最後に、以下のコマンドを実行してNginxをインストールします。

$ sudo apt update
$ sudo apt install nginx

以上で終了です。


【番外編】apt-keyコマンドを使う

番外編として、署名鍵のインポートにapt-keyコマンドを使った場合のインストール手順を紹介します。

※apt-keyコマンドは2022年ごろの廃止が予定されています。

1. 署名鍵のインポート

以下のコマンドを実行して、署名鍵をインポートします。

$ sudo wget https://nginx.org/keys/nginx_signing.key
$ sudo apt-key add nginx_signing.key

2. リポジトリの追加

/etc/apt/sources.list を編集します。

$ sudo vi /etc/apt/sources.list

以下を追記。

deb https://nginx.org/packages/mainline/debian/ <CODENAME> nginx
deb-src https://nginx.org/packages/mainline/debian/ <CODENAME> nginx

コードネームの確認:lsb_release -cs

Debian 11 bullseyeの場合

deb https://nginx.org/packages/mainline/debian/ bullseye nginx
deb-src https://nginx.org/packages/mainline/debian/ bullseye nginx

3. Nginxのインストール

以下のコマンドを実行して、Nginxをインストールします。

$ sudo apt update
$ sudo apt install nginx

以上で終了です。


【参考】