Let’s Encryptの証明書自動更新設定
Let’s Encryptの証明書の更新ですが、スタンドアロンでインストールした場合、更新の際にはApacheを一度止めなくてはエラーになってしまい、更新ができないので、以下のようにコマンドを打ちます。
certbot renew --pre-hook "systemctl stop httpd" --post-hook "sudo systemctl restart httpd"
更新実行のコマンドはcertbot renewです。–pre-hookは実行前にApacheの停止、–post-hookは実行後にApacheの再起動となります。
これを自動化するために、croncabに入り、スクリプトを書いておきます。
root権限でcrontabを開きます。
crontab -u root -e
証明書更新用のコマンドを書きます。
00 04 01 * * certbot renew --pre-hook "systemctl stop httpd" --post-hook "sudo systemctl restart httpd"
例は毎月1日の午前4時に更新をかけるようにしています。これでApacheの停止、cerbotの実行、Apacheの再起動まで一括で自動化となります。