Debian 12 (bookworm) - Web サーバ Nginx 構築(Nginx 公式リポジトリ使用)!

Updated:


Debian GNU/Linux 12 (bookworm) に Web サーバ Nginx を Nginx 公式リポジトリを使用して導入する方法についての記録です。

以前古いバージョンでの作業時に残していた記録を参考に作業を行い、今回更新した作業記録を貼付する形式の内容となっています。
(当然ながら、興味がなければスルーしてください)

0 前提条件

  • Debian GNU/Linux 12 (bookworm; 64bit) での作業を想定。
  • 接続元のマシンも Debian GNU/Linux 12 (bookworm; 64bit) を想定。
  • Debian 公式リポジトリの Nginx はバージョンが古いため、Nginx リポジトリを使用して 1.24.0(当記事執筆時点最新安定版)をインストールする。
  • 実際に運用する際は、ドキュメントルートを変更する等、設定を編集すること。
  • 一般ユーザでの作業を想定。

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

$ sudo apt -y install curl gnupg2 ca-certificates lsb-release debian-archive-keyring

2. 公式 Nginx 署名キーのインポート

$ curl https://nginx.org/keys/nginx_signing.key | gpg --dearmor \
    | sudo tee /usr/share/keyrings/nginx-archive-keyring.gpg >/dev/null

3. 署名キーの検証

$ gpg --dry-run --quiet --no-keyring --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>

4. apt リポジトリの設定

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

5. apt リポジトリの優先度設定

$ echo -e "Package: *\nPin: origin nginx.org\nPin: release o=nginx\nPin-Priority: 900\n" \
    | sudo tee /etc/apt/preferences.d/99nginx

6. Nginx のインストール

$ sudo apt -y update
$ sudo apt -y install nginx

7. インストールの確認

Nginx がインストールできたか確認してみる。(-v の代わりに -V オプションを使用すると詳細に表示される)

$ sudo nginx -v
nginx version: nginx/1.24.0

8. 設定

今回のインストール環境の場合、基本的(グローバル)な設定のファイルは /etc/nginx/nginx.conf で、このファイルから /etc/nginx/conf.d ディレクトリ配下の設定ファイルを読み込む形式となっている。
取り急ぎ、デフォルトのままとした。
詳細な設定は、「当ブログ Nginx 関連の過去記事」を参照。

9. ファイアウォール(ufw)の設定

TCP ポート 80 を開放する必要がある。(HTTPS の場合は TCP: 443)

$ sudo ufw allow 80/tcp
Rule added

$ sudo ufw status
    :
80/tcp                     ALLOW       Anywhere
    :

10. サーバの起動

$ sudo systemctl start nginx

11. 起動確認

ブラウザで http://<サーバアドレス or ホスト名>/ にアクセスしてみる。 Welcome to nginx! と以下5行くらい表示されば成功。

12. 自動起動の設定

マシン起動時に自動で Nginx を起動させるには以下のようにする。(インストール直後は自動起動するようになっているはずなので、そうなっていない場合)

$ sudo systemctl enable nginx
Synchronizing state of nginx.service with SysV service script with /lib/systemd/systemd-sysv-install.
Executing: /lib/systemd/systemd-sysv-install enable nginx
Created symlink /etc/systemd/system/multi-user.target.wants/nginx.service → /lib/systemd/system/nginx.service.

$ sudo systemctl is-enabled nginx
enabled

nginx はネイティブなサービスでないため、 systemd-sysv-install にリダイレクトされる)

自動起動しないようにするには、

# systemctl disable nginx
Synchronizing state of nginx.service with SysV service script with /lib/systemd/systemd-sysv-install.
Executing: /lib/systemd/systemd-sysv-install disable nginx
Removed "/etc/systemd/system/multi-user.target.wants/nginx.service".

# systemctl is-enabled nginx
disabled

13. 参考サイト


以上。





 

Sponsored Link

 

Comments