CentOS 7.9 にLet’s encrypt でSSL証明書を設定した時のメモ。
検索すると、古いやり方が出てくる。最新のやり方は、Certbotの本家サイトに行くのがいい。
OSとWebサーバーを選んで、後は指示通りにやるだけ。
一応、CentOS 7.9 で、Apache 2.4 でやった時の手順は以下(2021年2月5日時点)。
1.SSLサーバーの設定
mod_sslは既に入れてあり、SSLは有効化されている。
ただし、SSL証明書を取得したいドメインについては、バーチャルホストとして定義するほうがいい。
デフォルトの/etc/httpd/conf/httpd.confではなく、/etc/httpd/conf.d以下に、バーチャルホストを定義する。ここに定義した、XXXX.com.confに対して、後の手順4で、Certbotが、XXXX.com-le-ssl.confを作成して、XXXX.com.confについても、httpsリダイレクトに修正してくれる。
2.snapdのインストール
https://snapcraft.io/docs/installing-snap-on-centos
これも既にやってあったけど、一応、以下をやる。
sudo yum install epel-release
後は、snapdをインストールする。
sudo yum install snapd sudo systemctl enable --now snapd.socket ln -s /var/lib/snapd/snap /snap
※この後、一度ログアウトするか、再起動
3.snapdのバージョン確認と更新
sudo snap install core sudo snap refresh core
4.以前のCertbotのアンインストール
sudo yum remove certbot
5.Certbotのインストール
以下を実行。
sudo snap install --classic certbot
6.Certbotコマンドの設定
コマンドにシンボリックリンクをはる。
sudo ln -s /snap/bin/certbot /usr/bin/certbot
7.証明書の設定
以下コマンドを実行して、サイトを選択して設定。
sudo certbot --apache
8.証明書の自動更新の設定
更新のスケジューリングは自動でされる。スケジューリングは、以下コマンドで確認できる。
sudo systemctl list-timers
※CentOS8の場合は、/etc/crontab に設定されている。