Let’s Encrypt SSLサーバー証明書 3か月以内に更新
以前投稿した Jitsi Meet サーバーです
Let’s Encrypt から更新必要のメール到着
ブラウザでSSL証明書の詳細確認
1ヵ月足らずで切れてしまう
SSL証明書更新作業
Jitsi Meet インストール後の Let’s Encrypt インストールシェル
インストールシェルの内容を見てみた
root@jitsi:/usr/share/jitsi-meet/scripts# cat install-letsencrypt-cert.sh
このなかに
CRON_FILE="/etc/cron.weekly/letsencrypt-renew"
とある。
そこで この CRON_FILE の内容を cron で実行してみてはと。
ubuntu の cron は
/etc/cron.d に拡張無しのファイルを配置
/etc/cron.d/jitsi_letsencrypt ファイル名は任意
root@jitsi:/etc# cd /etc/cron.d root@jitsi:/etc/cron.d# ls mdadm popularity-contest root@jitsi:/etc/cron.d# cp /etc/crontab jitsi_letsencrypt ← サンプルコピー root@jitsi:/etc/cron.d# vi jitsi_letsencrypt ← cron動作ファイル作成 root@jitsi:/etc/cron.d# cat /etc/cron.d/jitsi_letsencrypt ← 内容 # /etc/crontab: system-wide crontab # Unlike any other crontab you don't have to run the `crontab' # command to install the new version when you edit this file # and files in /etc/cron.d. These files also have username fields, # that none of the other crontabs do. SHELL=/bin/sh PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin # m h dom mon dow user command 00 * * * * root /etc/cron.weekly/letsencrypt-renew ← 試験的に毎時00分に実行してみる
/etc/cron.d にcron用ファイルを確認できた
root@jitsi:/etc/cron.d# ls -l
合計 12
-rw-r--r-- 1 root root 432 8月 31 13:41 jitsi_letsencrypt ← 今回作成
-rw-r--r-- 1 root root 589 1月 15 2020 mdadm
-rw-r--r-- 1 root root 191 5月 23 00:52 popularity-contest
cron再起動
root@jitsi:/etc/cron.d# systemctl restart cron
root@jitsi:/etc/cron.d# systemctl status cron ← cron の稼働状況確認
● cron.service - Regular background program processing daemon
Loaded: loaded (/lib/systemd/system/cron.service; enabled; vendor preset: enabled)
Active: active (running) since Mon 2020-08-31 13:42:20 JST; 3s ago
Docs: man:cron(8)
Main PID: 6894 (cron)
Tasks: 1 (limit: 2232)
CGroup: /system.slice/cron.service
mq6894 /usr/sbin/cron -f
8月 31 13:42:20 jitsi systemd[1]: Started Regular background program processing daemon.
8月 31 13:42:20 jitsi cron[6894]: (CRON) INFO (pidfile fd = 3)
8月 31 13:42:20 jitsi cron[6894]: (CRON) INFO (Skipping @reboot jobs -- not system startup)
ログの確認
root@jitsi:/var/log# cat le-renew.log Upgrading certbot-auto 1.5.0 to 1.7.0... ← certbot-auto も新しくなった様だ Replacing certbot-auto... Creating virtual environment... Installing Python packages... Installation succeeded. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Processing /etc/letsencrypt/renewal/jitsi.example.com.conf - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - new certificate deployed without reload, fullchain is /etc/letsencrypt/live/jitsi.example.com/fullchain.pem - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Congratulations, all renewals succeeded. The following certs have been renewed: /etc/letsencrypt/live/jitsi.example.com/fullchain.pem (success) - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - root@jitsi:/etc/letsencrypt/archive/jitsi.example.com# ls -lt 合計 32 -rw-r--r-- 1 root root 1911 8月 31 14:02 cert2.pem ← 更新された -rw-r--r-- 1 root root 1647 8月 31 14:02 chain2.pem ← 更新された -rw-r--r-- 1 root root 3558 8月 31 14:02 fullchain2.pem ← 更新された -rw------- 1 root root 1708 8月 31 14:02 privkey2.pem ← 更新された -rw-r--r-- 1 root root 1911 6月 8 16:57 cert1.pem -rw-r--r-- 1 root root 1647 6月 8 16:57 chain1.pem -rw-r--r-- 1 root root 3558 6月 8 16:57 fullchain1.pem -rw------- 1 root root 1704 6月 8 16:57 privkey1.pem
ブラウザで証明書が更新されたことの確認
最終cron 設定ファイル
/etc/cron.d/jitsi_letsencrypt
root@jitsi:/etc/cron.d# cat /etc/cron.d/jitsi_letsencrypt
# /etc/crontab: system-wide crontab
# Unlike any other crontab you don't have to run the `crontab'
# command to install the new version when you edit this file
# and files in /etc/cron.d. These files also have username fields,
# that none of the other crontabs do.
SHELL=/bin/sh
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
# m h dom mon dow user command
15 5 * * 6 root /etc/cron.weekly/letsencrypt-renew ← 毎週土曜日5時15分に更新
まとめ
Let’s Encrypt インストールシェル
/usr/share/jitsi-meet/scripts/install-letsencrypt-cert.sh
で
/etc/cron.weekly/letsencrypt-renew
までは作ってくれたのでありがたい。
できれば cron の設定を週一実行のスケジュールまでやってもらえたらさらに嬉しい。
コメント