Certbot とは?
certbot とは Let's Encrypt(レッツ・エンクリプト) と呼ばれる認証局から無料で SSL 認証書を発行が出来るツールです。
Apache などの Web サーバの設定まで行ってくれます。
certbot パッケージは、デフォルトではパッケージ マネージャーから利用できません。 Certbot をインストールするには、EPEL リポジトリを有効にする必要があります。
certbot とは Let's Encrypt(レッツ・エンクリプト) と呼ばれる認証局から無料で SSL 認証書を発行が出来るツールです。
Apache などの Web サーバの設定まで行ってくれます。
certbot パッケージは、デフォルトではパッケージ マネージャーから利用できません。 Certbot をインストールするには、EPEL リポジトリを有効にする必要があります。
Apache で HTTPS を利用するには、SSL モジュールをインストールして利用します。
sudo dnf install mod_ssl
# apache の再起動
sudo systemctl restart httpd
python3-certbot-apache は、Certbot を Apache と統合するプラグインです。証明書の取得や Apache の HTTPS の設定がコマンド1つで自動化できます。
# EPEL リポジトリの追加
sudo dnf install epel-release
sudo dnf install certbot python3-certbot-apache
「 example.com 」の部分は、自分のサイトのドメイン名に置き換えます。
sudo certbot --apache -d example.com
証明書の有効期限は三か月のため、期限が来る前に更新作業を忘れず行います。
次のコマンドを実行した場合、更新期限が残りが30日未満の場合のみ更新されます。
sudo certbot renew
すぐに証明書を更新したい場合は次のようにします。
sudo certbot renew --force-renew
cron に証明書の更新を定期的に実行するコマンドを設定します。
証明書の更新には root 権限が必要ですので、root ユーザーの cron に設定します。
crontab -u root -e
証明書の更新と Apache も再起動するコマンドを設定します。
毎日 3:00 に実行されますが、SSL 証明書の有効期限が30日未満の場合のみ更新されます。
0 3 * * * certbot renew && systemctl restart httpd