ConohaVPSでWordPressを運用するブログサーバーを構築していましたが、ある時に証明書が切れていることに気づきました。自動更新設定をしていなかったため、切れたまま放置してしまっていたようです。
備忘としてまず手動での更新方法と自動更新設定をまとめておきます。
環境
- OS: Rocky Linux 9.4
- カーネルバージョン: Linux 5.14.0-427.22.1.el9_4.x86_64
- ウェブサーバー: Apache/2.4.57 (Rocky Linux)
- Certbot: 3.0.1(Snap版)
- ファイアウォール: firewalld 1.3.4
手動更新
Certbotのバージョン確認とバージョンアップ
まずcertbotのバージョンを確認し、必要に応じてバージョンアップを行います。
$ certbot --version
下記はdnfでのバージョンアップコマンドです。
$ sudo dnf update
$ sudo dnf install certbot
証明書の手動更新
certbotにシミュレーション用のコマンドが用意されているため、まずはこちらで問題なく更新できるかを確認します。
$ sudo certbot renew --dry-run
問題なければ以下のコマンドで実際に更新処理を行い、Webサーバーの再起動を行えば更新完了です。
下記はApacheを使用している場合のコマンドとなります。
$ sudo certbot renew
$ sudo systemctl reload httpd
手動での更新であればここまでで完了です。
証明書の自動更新設定
Snap版のCertbotでは自動でcertbot.timerが設定されるようなので、改めてインストールし直します。
もとのCertbotがどのパッケージマネージャで導入したかを確認します。
$ sudo dnf list installed | grep certbot
certbot.noarch 2.11.0-1.el9 @epel
python3-certbot.noarch 2.11.0-1.el9 @epel
python3-certbot-apache.noarch 2.11.0-1.el9 @epel
dnfでインストールされていることを確認したため、削除を行います。
$ sudo dnf remove certbot
今回「python3-certbot」と「python3-certbot-apache」は削除不要です。
これらは関連ライブラリであるため削除する必要はありません。
私は削除してしまいましたが、firewall-cmdの設定が初期化されてしまい、一時sshアクセスできなくなり焦りました。※削除した「python3-certbot」と「python3-certbot-apache」は改めてdnfでインストールし、firewall-cmdの設定をやり直し事なきを得ました。
それではSnap版のCertbotをインストールしますが、その前にSnap自体をインストールします。
$ sudo dnf install snapd
$ sudo systemctl enable --now snapd.socket
$ sudo ln -s /var/lib/snapd/snap /snap
そしてcertbotをインストールします。
$ sudo snap install core
$ sudo snap install --classic certbot
$ sudo ln -s /snap/bin/certbot /usr/bin/certbot
Snap版ではタイマーが自動で設定されるため、以下のコマンドで確認します。
$ systemctl list-timers | grep certbot
Mon 2024-11-18 03:02:00 JST 11h left Sun 2024-11-17 13:37:08 JST 1h 40min ago snap.certbot.renew.timer snap.certbot.renew.service
上記のように表示されればOKです。
まとめ
自動更新設定が完了していればほとんど触ることがなく、すぐに忘れるので備忘に残しておきました。
証明書の設定自体ではないからほぼ使わなさそうですが、、、
Snap版は自動更新設定がデフォルトで設定されているのは便利ですね。
CertbotでもSnap版が推奨されているようです。
私も忘れがちですが、このようなWeb系の設定を変更した際にはWebサーバーの再起動を忘れないようにしてください。
それでは良いテックライフを!
コメント