その(4)で実行した、webrootモードを一か月おきにcronで自動実行させましょう。初回はちゃんと動くか確認するために数分後にしてみます。
root権限に変更します(rootユーザのcrontabとして動かすため)
$ sudo -i
crontabを修正します。初めて動かすときは何も書かれていないかもしれません。
# crontab -e
「i」を押して、編集モードにします。
crontabを以下のような感じに編集します。とりあえず、毎時20分(例えば今が11:18分だとした場合)に設定して動作するかを確認します。MAILTOに自分のメールアドレスを設定しておくと、結果がメールで送られてくるので便利です。太字は自分の環境によって違うので適宜書き換えてください。
SHELL=/bin/bash
PATH=/sbin:/bin:/usr/sbin:/usr/bin
MAILTO=”xxxxxx@ji0vwl.com”
HOME=/# run-parts
20 * * * * /root/letsencrypt/letsencrypt-auto certonly –renew-by-default –webroot -w /var/www/html -d ji0vwl.net -d www.ji0vwl.net
Escキーを押した後「:WQ」を入力してviエディタを終了しましょう。
時間が来てcronが動作すると、メールが送られてきます。
~前略~
IMPORTANT NOTES:
– Congratulations! Your certificate and chain have been saved at
/etc/letsencrypt/live/ji0vwl.net/fullchain.pem. Your cert will
expire on 2016-07-02. To obtain a new version of the certificate in
the future, simply run Let’s Encrypt again.
~後略~
Congratulations! が出ていたら自動更新成功です!
このような文面がない場合は、コマンドかパスなどが間違っている可能性があるので確認して修正します。
うまく動作した場合は、1か月に1回自動更新するように修正しましょう。
# crontab -e
「i」を押して、編集モードにします。
実行時間を 1 4 1 * * (毎月1日、午前4時01分)に修正します。時間は適当で良いです。
SHELL=/bin/bash
PATH=/sbin:/bin:/usr/sbin:/usr/bin
MAILTO=”xxxxxx@ji0vwl.com”
HOME=/# run-parts
1 4 1 * * /root/letsencrypt/letsencrypt-auto certonly –renew-by-default –webroot -w /var/www/html -d ji0vwl.net -d www.ji0vwl.net
Escキーを押した後「:WQ」を入力してviエディタを終了しましょう。
あとは、来月の1日に実行結果のメールが来るのを待つだけです。Let’s Encryptへの乗り換え編は以上です。
追記
まさかとは思いましたが、httpdを再起動しないと最新の証明書が反映されないような感じです。。。
数秒間Webサーバーが止まりますが、証明書更新5分後の、毎月1日、午前4:06にWebサーバの再起動処理を入れてみました。今度こそ大丈夫かな。
# crontab -e
SHELL=/bin/bash
PATH=/sbin:/bin:/usr/sbin:/usr/bin
MAILTO=”xxxxxx@ji0vwl.com”
HOME=/# run-parts
1 4 1 * * /root/letsencrypt/letsencrypt-auto certonly –renew-by-default –webroot -w /var/www/html -d ji0vwl.net -d www.ji0vwl.net6 4 1 * * service httpd restart