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 に設定されている。
参考になりました。
記載ありがとうございます。
また、細かいところですが、
yum install snapd とやると、以下のメッセージが出力されることが多いかもです。
~メッセージ~
パッケージ epel-release-7-11.noarch はインストール済みか最新バージョンです
パッケージ snapd は利用できません。
何もしません
~メッセージ~
もし、行うのであれば、以下のコマンドが良いかもです。
#sudo yum install epel-release && sudo yum –enablerepo=epel snapd -y
有用なコメントありがとうございます。
epelを指定してyumでインストールする方が間違いがないですね。
sudo yum –enablerepo=epel install snapd -y