MENU

GCP上のWordPressでLet’s EncryptのSSL自動更新ができていなかった件とその対処法【Bitnami環境】

目次

はじめに

GCPで運用している WordPress サイト(Bitnami スタック)で、Let’s Encrypt の SSL証明書の自動更新がされていない問題に直面しました。

本記事では、発見から対応完了までのステップを実際のやり取りを元にまとめています

証明書の確認で異常を検知

SSHでVMにログインし、まずは証明書の状態を確認。

sudo openssl x509 -noout -dates -in /opt/bitnami/letsencrypt/cert.pem

出力結果:

Unable to load certificate

No such file or directory: /opt/bitnami/letsencrypt/cert.pem

正しい証明書ファイルの場所を確認

Bitnamiスタックでは、証明書は certificates/ ディレクトリ内に格納されていました。

sudo ls -l /opt/bitnami/letsencrypt/certificates

中には以下のファイルが:

  • bayashimo.jp.crt
  • bayashimo.jp.key

続いて、有効期限を確認:

sudo openssl x509 -noout -dates -in /opt/bitnami/letsencrypt/certificates/bayashimo.jp.crt

結果:

notBefore=Oct 28 2024

notAfter=Jan 26 2025

すでに失効済みでした。

SSL証明書を再取得

Nginxの一時停止

sudo /opt/bitnami/ctlscript.sh stop nginx

証明書の再取得(初回はrun)

sudo /opt/bitnami/letsencrypt/lego \
--tls --email="hogehoge@example.jp" \
--domains="bayashimo.jp" \
--path="/opt/bitnami/letsencrypt" \
run

※emailのところは自分のメールをいれました

Nginxを再起動

sudo /opt/bitnami/ctlscript.sh start nginx

更新後の確認

sudo openssl x509 -noout -dates -in /opt/bitnami/letsencrypt/certificates/bayashimo.jp.crt

notBefore=Jun  9 2025

notAfter=Sep  7 2025

問題なく更新できていました!

自動更新の設定(cron)

スクリプトの確認

sudo nano /opt/bitnami/letsencrypt/scripts/renew-certificate.sh

スクリプトに実行権限を付与

sudo chmod +x /opt/bitnami/letsencrypt/scripts/renew-certificate.sh

crontabの編集

sudo crontab -e

以下を追記。毎日0時に更新を実行

0 0 * * * /opt/bitnami/letsencrypt/scripts/renew-certificate.sh 2> /dev/null

登録内容を確認:

sudo crontab -l
  • https://bayashimo.jp でブラウザからアクセスし、SSL証明書の期限が更新されている
  • cron により今後は自動で更新される設定になっている

上記が実現できたのでこれでSSLの自動化に成功といえそうです!

おわりに

Bitnami環境の Let’s Encrypt 更新は、パスやスクリプトの構造に独特な部分があるため、マニュアル通りにやってもうまく動かないことがあります

本記事の手順で、同じように困っている方の参考になれば幸いです。

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!
目次