Ubuntu 22.04 LTSへの最新版Nginxのインストール

Ubuntu 22.04 LTSへの最新版Nginxのインストール サーバー

「UbuntuでNginxをWebサーバーをとして利用したい」
「Ubuntu 22.04に最新版のNginxをインストールしたい」

このような場合には、この記事の内容が参考となります。
この記事では、Ubuntu 22.04 LTSに最新版Nginxをインストールする方法を解説しています。

本記事の内容

  • Ubuntu 22.04 LTSにおけるOS標準のNginx
  • 最新版Nginxのリポジトリの追加
  • 最新版Nginxの反映(パッケージ更新)
  • 最新版Nginxのインストール

それでは、上記に沿って解説していきます。

Ubuntu 22.04 LTSにおけるOS標準のNginx

Ubuntuには、OS標準のソフトウェアが存在しています。
Nginxのような人気ソフトウェアであれば、ほぼ確実にOS標準が存在します。

Ubuntu 22.04 LTSのOS標準となるNginxは、以下。

$ sudo apt info nginx 
Package: nginx 
Version: 1.18.0-6ubuntu14.1 
Priority: optional 
Section: web 
Origin: Ubuntu 
Maintainer: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com> 
Original-Maintainer: Debian Nginx Maintainers <pkg-nginx-maintainers@alioth-lists.debian.net> 
Bugs: https://bugs.launchpad.net/ubuntu/+filebug 
Installed-Size: 50.2 kB 
Depends: nginx-core (<< 1.18.0-6ubuntu14.1.1~) | nginx-full (<< 1.18.0-6ubuntu14.1.1~) | nginx-light (<< 1.18.0-6ubuntu14.1.1~) | nginx-extras (<< 1.18.0-6ubuntu14.1.1~), nginx-core (>= 1.18.0-6ubuntu14.1) | nginx-full (>= 1.18.0-6ubuntu14.1) | nginx-light (>= 1.18.0-6ubuntu14.1) | nginx-extras (>= 1.18.0-6ubuntu14.1) 
Breaks: libnginx-mod-http-lua (<< 1.18.0-6ubuntu5) 
Homepage: https://nginx.net 
Download-Size: 3,884 B 
APT-Sources: http://archive.ubuntu.com/ubuntu jammy-updates/main amd64 Packages 
Description: 小さくて強力で拡張性のあるウェブ/プロキシサーバ 
 Nginx ("engine X") は Igor Sysoev によって作成された高性能ウェブおよび 
 リバースプロキシサーバです。スタンドアロンのウェブサーバとしても バックエンドの HTTP やメールサーバへの負荷を減らすためのプロキシとしても 
 使えます。 
 . 
 This is a dependency package to install either nginx-core (by default), 
 nginx-full, nginx-light or nginx-extras.

古い!!古過ぎる・・・

上記で確認できるNginx 1.18.0は、2020年4月21日にリリースされています。
Nginx 1.18.0は、現時点(2022年4月末)よりも約2年も前にリリースされていることになります。

2年前のWebサーバーをインストールしたいですか?
個人利用ならともかく、企業案件なら絶対にこれはダメですね。

個人利用でも、できる限りで最新版を利用すべきでしょう。
今の時代、セキュリティを意識せずにはいられません。

とにかく、Ubuntu 22.04 LTSにおけるOS標準のNginxが古いことを認識しましょう。
どれくらい古いかと言うと、Nginxの公式でLegacy扱いされるほどです。

以上、Ubuntu 22.04 LTSにおけるOS標準のNginxを説明しました。
次は、最新版Nginxのリポジトリの追加について説明します。

最新版Nginxのリポジトリの追加

Nginxは、リポジトリを用意してくれています。
Nginx公式のリポジトリを利用します。

そのリポジトリ情報は、以下。

deb https://nginx.org/packages/ubuntu/ jammy nginx  
deb-src https://nginx.org/packages/ubuntu/ jammy nginx

この情報を以下のファイルに保存します。

/etc/apt/sources.list.d/nginx.list

$ sudo nano /etc/apt/sources.list.d/nginx.list

保存できたら、確認。

$ cat /etc/apt/sources.list.d/nginx.list 
deb https://nginx.org/packages/ubuntu/ jammy nginx 
deb-src https://nginx.org/packages/ubuntu/ jammy nginx

以上、最新版Nginxのリポジトリの追加について説明しました。
次は、最新版Nginxの反映(パッケージ更新)について説明します。

最新版Nginxの反映(パッケージ更新)

最新版Nginxの反映と言っていますが、簡単に言うとaptで利用できるようにします。
そのためには、リポジトリに追加した情報をもとにパッケージの更新を行います。

$ sudo apt update

おそらく、次のようなGPGエラーが出ます。

~
エラー:5 https://nginx.org/packages/ubuntu jammy InRelease 
  公開鍵を利用できないため、以下の署名は検証できませんでした: NO_PUBKEY ABF5BD827BD9BF62 
ヒット:6 http://archive.ubuntu.com/ubuntu jammy-backports InRelease 
パッケージリストを読み込んでいます... 完了 
W: GPG エラー: https://nginx.org/packages/ubuntu jammy InRelease: 公開鍵を利用できないため、以下の署名は検証できませんでした: NO_PUBKEY ABF5BD827BD9BF62 
E: リポジトリ https://nginx.org/packages/ubuntu jammy InRelease は署名されていません。 
N: このようなリポジトリから更新を安全に行うことができないので、デフォルトでは更新が無効になっています。 
N: リポジトリの作成とユーザ設定の詳細は、apt-secure(8) man ページを参照してください。

これは、リポジトリがapt的には怪しいと疑っているエラーになります。
そのため、追加したモノは安心できるリポジトリだとaptに教えます。

その作業は、次のコマンドで行います。

sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys $key

「$key」には、エラーで出ている「ABF5BD827BD9BF62」を設定します。
これは、Nginxで統一されているモノです。

実際にコマンドを実行した結果は、以下。

$ sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys ABF5BD827BD9BF62 
Warning: apt-key is deprecated. Manage keyring files in trusted.gpg.d instead (see apt-key(8)). 
Executing: /tmp/apt-key-gpghome.ABGaRXfzFJ/gpg.1.sh --keyserver keyserver.ubuntu.com --recv-keys ABF5BD827BD9BF62 
gpg: 鍵ABF5BD827BD9BF62: 公開鍵"nginx signing key <signing-key@nginx.com>"をインポートしました 
gpg: 処理数の合計: 1 
gpg:               インポート: 1

では、再度パッケージを更新しましょう。

$ sudo apt update 
ヒット:1 http://archive.ubuntu.com/ubuntu jammy InRelease 
ヒット:2 http://security.ubuntu.com/ubuntu jammy-security InRelease 
ヒット:3 http://archive.ubuntu.com/ubuntu jammy-updates InRelease 
ヒット:4 http://archive.ubuntu.com/ubuntu jammy-backports InRelease 
ヒット:5 https://ppa.launchpadcontent.net/ondrej/apache2/ubuntu jammy InRelease 
取得:6 https://nginx.org/packages/ubuntu jammy InRelease [2,840 B] 
取得:7 https://nginx.org/packages/ubuntu jammy/nginx Sources [1,999 B] 
取得:8 https://nginx.org/packages/ubuntu jammy/nginx amd64 Packages [3,940 B] 
5,939 B を 2秒 で取得しました (3,015 B/s) 
パッケージリストを読み込んでいます... 完了 
依存関係ツリーを作成しています... 完了 
状態情報を読み取っています... 完了 
パッケージはすべて最新です。 
W: https://nginx.org/packages/ubuntu/dists/jammy/InRelease: Key is stored in legacy trusted.gpg keyring (/etc/apt/trusted.gpg), see the DEPRECATION section in apt-key(8) for details.

警告が出ていますが、無事にパッケージの更新ができました。
この警告は、今回は無視しても問題ありません。

以上、最新版Nginxの反映(パッケージ更新)を説明しました。
次は、最新版Nginxのインストールについて説明します。

最新版Nginxのインストール

aptで再度Nginxのパッケージを確認しましょう。

$ sudo apt info nginx 
Package: nginx 
Version: 1.20.2-1~jammy 
Priority: optional 
Section: httpd 
Maintainer: NGINX Packaging <nginx-packaging@f5.com> 
Installed-Size: 3,222 kB 
Provides: httpd, nginx, nginx-r1.20.2 
Depends: libc6 (>= 2.34), libcrypt1 (>= 1:4.1.0), libpcre3, libssl3 (>= 3.0.0~~alpha1), zlib1g (>= 1:1.1.4), lsb-base (>= 3.0-6), adduser 
Conflicts: nginx-common, nginx-core 
Replaces: nginx-common, nginx-core 
Homepage: https://nginx.org 
Download-Size: 991 kB 
APT-Sources: https://nginx.org/packages/ubuntu jammy/nginx amd64 Packages 
Description: high performance web server 
 nginx [engine x] is an HTTP and reverse proxy server, as well as 
 a mail proxy server.

バージョンが、1.18.0から1.20.2に変わっています。
Nginx 1.20.2は、2021年11月16日にリリース済みです。
Nginx 1.20.2は、安定版の最新バージョンとなります。

ここまで確認できれば、あとは簡単にNginx 1.20.2をインストールできます。
次のコマンドで最新版Ngnixのインストールを行います。

sudo apt install -y nginx

上記コマンドを実行。
以下のように表示されればNgnixのインストールは成功です。

~
---------------------------------------------------------------------- 
nginx (1.20.2-1~jammy) を展開しています... 
nginx (1.20.2-1~jammy) を設定しています ... 
Created symlink /etc/systemd/system/multi-user.target.wants/nginx.service → /lib/systemd/system/nginx.service. 
man-db (2.10.2-1) のトリガを処理しています ... 
Scanning processes... 
Scanning linux images... 
Running kernel seems to be up-to-date. 
No services need to be restarted. 
No containers need to be restarted. 
No user sessions are running outdated binaries. 
No VM guests are running outdated hypervisor (qemu) binaries on this host. 
$

この時点では、インストールが完了しただけとなります。

$ sudo systemctl status nginx 
○ nginx.service - nginx - high performance web server 
     Loaded: loaded (/lib/systemd/system/nginx.service; enabled; vendor preset: enabled) 
     Active: inactive (dead) 
       Docs: https://nginx.org/en/docs/

Ngixnを起動させましょう。
Nginxは、次のコマンドで起動します。

$ sudo systemctl start nginx

起動状況の確認です。

$ sudo systemctl status nginx 
● nginx.service - nginx - high performance web server 
     Loaded: loaded (/lib/systemd/system/nginx.service; enabled; vendor preset: enabled) 
     Active: active (running) since Sat 2022-04-30 17:21:57 JST; 16s ago 
       Docs: https://nginx.org/en/docs/ 
    Process: 2738 ExecStart=/usr/sbin/nginx -c /etc/nginx/nginx.conf (code=exited, status=0/SUCCESS) 
   Main PID: 2739 (nginx) 
      Tasks: 3 (limit: 1119) 
     Memory: 2.5M 
        CPU: 4ms 
     CGroup: /system.slice/nginx.service 
             ├─2739 "nginx: master process /usr/sbin/nginx -c /etc/nginx/nginx.conf" 
             ├─2740 "nginx: worker process" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" 
             └─2741 "nginx: worker process" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" 
 4月 30 17:21:57 ubuntu-jammy systemd[1]: Starting nginx - high performance web server... 
 4月 30 17:21:57 ubuntu-jammy systemd[1]: Started nginx - high performance web server.

上記のように表示されていれば、Nginxは正常に起動しています。

タイトルとURLをコピーしました