5月にLet’s Encryptをインストールしましたが、自動更新を設定していなかったので証明書期限切れになってしまい慌てて更新し、自動更新を設定しました。
Let’s EncryptのサイトにWebサーバーを稼働させたまま証明書を更新する方法が書かれていたので使ってみました。
Let’s Encriptの証明書期限を確認
# ./certbot-auto certificates
webrootを使用して自動更新用のコマンドを作成し、ドライランでエラーが出ないことを確認
webrootのオプション -wでドキュメントルート、 -dでドメインを指定。
設定を間違えないように/etc/httpd/conf/httpd.confを確認(私はwebサーバーにapacheを使用)
DocumentRoot /var/www/html/www
ServerName www.cat-one.net
ドライランオプションを付けてコマンドを実行
# ./certbot-auto certonly --dry-run --webroot -w /var/www/html/www -d www.cat-one.net
Saving debug log to /var/log/letsencrypt/letsencrypt.log
Plugins selected: Authenticator webroot, Installer None
Cert not due for renewal, but simulating renewal for dry run
Renewing an existing certificate
Performing the following challenges:
http-01 challenge for www.cat-one.net
Using the webroot path /var/www/html/www for all unmatched domains.
Waiting for verification…
Cleaning up challenges
IMPORTANT NOTES:
– The dry run was successful.
コマンドには問題がないようです。
自動更新のための自動実行設定(毎月1日に実行)
# crontab -e
viエディタが開くので実行時刻(分 時 日 月 曜日)と実行コマンドを書きます。
”i”キーで編集モードに移行
00 00 10 * * ./certbot-auto certonly –webroot -w /var/www/html/www -d www.cat-one.net
[esc]キーでコマンドモードに移行してから”:wq”で書き込み&エディタ終了。
no crontab for root – using an empty one
crontab: installing new crontab
設定されたか確認
# crontab -l
00 00 10 * * ./certbot-auto certonly –webroot -w /var/www/html/www -d www.cat-one.net