ここ darkgrayサイトでは サイトの暗号化にcertbotを使用しています。 certbotを使用する事で 無料でお手軽(?)に 暗号化サイトを運用できます。 certbotの説明、インストール方法等々は ググれば色々な情報が出てくるので ここでは省略します。
以前にcrontabを使用して更新する方法を紹介していますが、crontabを使用して自動更新する方法は作法的に宜しくないようで 推奨方法を改めて紹介します。
条件は Centos7(比較的最近のバージョンのOS)で yum(或いはdnf)で certbotをインストールします。 certbotのインストールにはepel等の拡張リポジトリが必要かもしれません。
自動更新設定をする前にPOST_HOOKの設定をしておきます。PRE_HOOKが必要な場合は PRE_HOOKの設定もできます。
[] vi /etc/sysconfig/certbot # 開いたファイル中のPOST_HOOKの項に # 証明書更新後に再起動が必要なアプリを設定しておきます。 # POST_HOOK="--post-hook 'systemctl restart httpd'" POST_HOOK="--post-hook 'systemctl restart httpd dovecot'"
次に certbotの自動更新の機能を有効化します。
[]# systemctl start certbot-renew.timer []# systemctl enable certbot-renew.timer Created symlink from /etc/systemd/system/timers.target.wants/certbot-renew.timer to /usr/lib/systemd/system/certbot-renew.timer.
動作確認します。certbot-renew.timerが登録されていて 起動時間が確認できれば ちゃんと動作しています。
[]# systemctl list-timers NEXT LEFT LAST PASSED UNIT ACTIVATES 火 2020-12-08 19:49:25 JST 4h 18min left 火 2020-12-08 04:10:20 JST 11h ago certbot-renew.timer certbot-renew.service 水 2020-12-09 14:34:00 JST 23h left 火 2020-12-08 14:34:00 JST 56min ago systemd-tmpfiles-clean.timer systemd-tmpfiles-clean.service 2 timers listed. Pass --all to see loaded but inactive timers, too.