こんばんは、のるぼるのるのです。DA PUMPのライブがWowowで生中継されていました。汗だくのISSAを見ると、大学生の時、よくライブをしていたことを思い出します。U.S.A.の出だしでダンサーの方がミスってたような気がして、やっぱりプロでも緊張するのかな、と思いました。(小並)
さて、今回はまあまあ記事になっていますが、Let’s Encryptを使用してSSL証明書の更新、その後自動更新を設定していきたいと思います。
というのも、よくある記事ではcertbot-auto renewをしていますが、やろうとしたらちょっと躓いたから、備忘録です(恥ずかしいぜ!)
では、Linux情弱のSSL更新にお付き合いください。
SSL証明書の更新
よくあるのはこんな感じ
1 |
/usr/bin/certbot-auto renew |
certbot-auto renewサブコマンドを使用してSSL証明書を更新します。更新する対象が見つからない場合は、特に何もせずに終了します。
さーてじゃあ更新メールも届いたし、チャチャっとやりますかー。。。
certbot-autoが無い。。。
はー
どうやらCentOS 6系とはちょっと違うみたいです。Let’s Encryptをインストールしたのは随分前なので、どんな感じでやったかなんて完全に忘れています。
どないするかなー、と思ったら、ふっつうに以下でできるとのこと。
1 |
/usr/bin/certbot renew |
よっしゃこれは入ってるな!
1 2 |
[Errno 13] Permission denied: '/var/log/letsencrypt/.certbot.lock' Either run as root, or set --config-dir, --work-dir, and --logs-dir to writeable paths. |
。。。はい、rootでやれとのことでしたはいやりました
1 2 3 4 5 6 |
sudo /usr/bin/certbot renew - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - new certificate deployed with reload of apache server; fullchain is /etc/letsencrypt/live/tac-blog.tech/fullchain.pem // こんな感じの表示でOK! - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - |
SSL証明書を更新したら、webサーバーを再起動します。
1 |
sudo systemctl restart httpd.service |
よっしゃ!
以下のようなメッセージが表示されたら、更新の対象外となります。
1 2 3 |
The following certs are not due for renewal yet: /etc/letsencrypt/live/tac-blog.tech/fullchain.pem expires on 2019-01-09 (skipped) No renewals were attempted. |
強制的に更新をかけたいときは、force-renewオプションを使用してください。
1 |
sudo /usr/bin/certbot renew --force-renew |
crontabへの登録
では、自動更新の設定をしていきましょう。
まずはこちらのコマンドをテスト。
–post-hookオプションでは、更新が入った時、更新後に実行したいコマンドを記述することができます
1 2 3 |
sudo /usr/bin/certbot renew --post-hook 'systemctl restart httpd.service' Cert not yet due for renewal // 更新したばかりなのでこのメッセージが表示される |
crontabに登録していきましょう
1 |
00 03 * * * root /usr/bin/certbot renew --post-hook "systemctl restart httpd.service" |
毎日深夜三時にrenewサブコマンドで更新をチェック、更新した時のみapacheを再起動します。
注意と実行頻度
Let’s Encryptは、週に5回重複したSSL更新の申請をすると、使用制限に引っかかります。
ですので、–force-renewオプションは最終手段にしてください。
また、SSL更新は1日に2回行うのが良いとされていますが、毎日1回やればほぼほぼ更新出来ると思うので、一回crontabに設定したらほとんど忘れていいと思います。
あー、certbot-autoがなかった時ちょっくら焦りました、、、
これからも当サイトをよろしくお願いいたします笑
コメントを書く