ざっくりAmazon EC2でUbuntuを選択したときに最新のNginxをインストールできない問題を解決する方法をまとめました。Linuxそこまで触ったことなくてもいける感じに解説を入れているので、最後まで見て試していただけると幸いです。
環境
- Ubuntu 20.04 LTS (Amazon EC2)
方法
初手
sudo打ちまくりは面倒なので、環境構築の時は権限変更しといた方がいいと思います。(今回のはどれもsudo使います)
$ sudo su -
$ apt update && apt upgrade
初期段階でパッケージ確認
以下のコマンドで、今apt install nginx
と入力すると何がインストールできるか確認します。
$ apt show nginx
Package: nginx
Version: 1.18.0-0ubuntu1.2
Priority: optional
Section: web
Origin: Ubuntu
Maintainer: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com>
Original-Maintainer: Debian Nginx Maintainers <pkg-nginx-maintainers@lists.alioth.debian.org>
(以下略)
見ての通り、Nginx1.18.0しかインストールできない状態です。2021年6月現在安定版の最新バージョンは1.20.1なので、これをインストールできるように設定していきます。
NginxのPGPキーを取得
Nginxをインストールするのに必要なPGPキーを取得します。(wget行うときは基本/tmp
か/var/tmp
へ移動しましょう。どっちに行くかは宗派があるのでお任せします)
$ cd /tmp
$ wget https://nginx.org/keys/nginx_signing.key
$ apt-key add nginx_signing.key
Nginx公式リポジトリの署名確認を行える状態になりました。これでインストール時のエラーを解消できます。
Nginx公式リポジトリの登録
Nginx公式ページにあるやり方の通りにファイルを作成します。今回使用するUbuntu 20.04 LTSではfocal
を使用してください。
$ cd /etc/apt/sources.list.d/
$ vi nginx.list <- 新規作成。名前は何でもいいです。
deb https://nginx.org/packages/ubuntu/ focal nginx
deb-src https://nginx.org/packages/ubuntu/ focal nginx
リストファイルを保存したら再読み込みします。
$ apt update
ここまで出来たら、始めと同じコマンドを使用してどのバージョンがインストールできる状態か確認します。
$ apt show nginx
Package: nginx
Version: 1.20.1-1~focal
Priority: optional
Section: httpd
Maintainer: NGINX Packaging <nginx-packaging@f5.com>
これでaptコマンドで最新版のNginxをインストールできる状態まで持って行けたので、いつも通りのインストールを行います。
$ apt install nginx
サービス起動
この段階ではまだ起動できていない状態なので、サービス起動の設定をしていきます。
$ systemctl enable nginx <- nginxサービスの自動起動設定
$ systemctl daemon-reload <- 設定ファイルの再読込
$ systemctl start nginx <- サービス起動
これでEC2のパブリックIPにアクセスすればNginxの画面が出てくると思います。
お疲れさまでした!