前提
もうすでにNginxのインストールやサーバへのドメインの紐づけが終わっている前提です。
本題
以下の手順では、CentOS上のNginxをhttps化する方法について説明します。
まず、以下のコマンドを実行してEPELリポジトリをインストールします。このリポジトリは、CentOSにはデフォルトで含まれていないが、追加のパッケージを提供します。
sudo su
dnf install <https://dl.fedoraproject.org/pub/epel/epel-release-latest-9.noarch.rpm> -y
次に、以下のコマンドを実行してsnapd
をインストールします。これはSnapパッケージの実行環境で、この後のcertbotのインストールに必要です。
dnf --enablerepo=epel -y install snapd
ln -s /var/lib/snapd/snap /snap
echo 'export PATH=$PATH:/var/lib/snapd/snap/bin' > /etc/profile.d/snap.sh
systemctl enable --now snapd.service snapd.socket
次に、以下のコマンドを実行してcertbot
をインストールします。Certbotは、Let's EncryptからSSL証明書を取得するためのツールです。
snap install certbot --classic
certbot
を使いやすくするために、以下のコマンドを実行してシンボリックリンクを作成します。
ln -s /snap/bin/certbot /usr/bin/certbot
次に、以下のコマンドを実行してcore
をインストールします。これは、snapdの基本的な機能を拡張するためのものです。
sudo snap install core
以下のコマンドを実行して、Nginxの設定を自動的に調整し、SSL証明書を取得します。
sudo certbot --nginx
最後に、表示される指示に従ってメールアドレスを入力し、利用規約に同意し、メルマガの受け取りを選択します。その後、SSL証明書を取得するドメインを選択します。
- メールアドレス: your.mail.addres@email.com
- 利用規約: Y
- メルマガ: N
- 対象のドメイン: 1(複数の場合、スペース区切り)
一度エラーが出た場合でも、再度同じコマンドを実行することで成功することがあります。