🍖
【AWS】LightSailのSSL証明書の自動更新
Bitnamiが提供するWordPressイメージでSSL証明書を自動更新する手順を説明します。
-
SSHでLightSailインスタンスに接続します。
-
まず、Let's Encrypt アカウントを作成し、認証を行います:
sudo /opt/bitnami/letsencrypt/lego --path /opt/bitnami/letsencrypt --email="your_email@example.com" --http --http-timeout 30 --http.webroot /opt/bitnami/apps/letsencrypt --domains=your_domain.com --user-agent bitnami-bncert/1.1.1 run
your_email@example.comとyour_domain.comを適切な値に置き換えてください。このコマンドを実行すると、Let's Encryptの利用規約に同意するよう求められます。同意して進めてください。
- 認証が完了したら、証明書が生成されます。次に、証明書の更新をテストします:
sudo /opt/bitnami/letsencrypt/lego --path /opt/bitnami/letsencrypt --email="your_email@example.com" --http --http-timeout 30 --http.webroot /opt/bitnami/apps/letsencrypt --domains=your_domain.com --user-agent bitnami-bncert/1.1.1 renew
- 証明書が正常に更新されたら、Apacheを再起動します:
sudo /opt/bitnami/ctlscript.sh restart apache
- 自動更新のためのcronジョブを設定します。rootのcrontabを編集するには以下のコマンドを使用します:
sudo crontab -e
- 以下の行を追加します:
0 0 1 * * /opt/bitnami/letsencrypt/lego --path /opt/bitnami/letsencrypt --email="your_email@example.com" --http --http-timeout 30 --http.webroot /opt/bitnami/apps/letsencrypt --domains=your_domain.com --user-agent bitnami-bncert/1.1.1 renew && sleep 30 && /opt/bitnami/ctlscript.sh restart apache >> /var/log/letsencrypt-renewal.log 2>&1
この設定により、毎月1日の午前0時に証明書の更新チェックが行われ、必要に応じて更新とApacheの再起動が実行されます。
- crontabの内容を確認します:
sudo crontab -l
- 最後に、証明書が正しく適用されているか確認します:
openssl x509 -in /opt/bitnami/letsencrypt/certificates/your_domain.com.crt -noout -dates
これで、SSL証明書の自動更新が設定されました。/var/log/letsencrypt-renewal.logファイルを定期的にチェックして、更新プロセスが正常に実行されていることを確認してください。
注意:この方法はBitnamiが提供するWordPressイメージに特化しています。他の環境では手順が異なる場合があります。
Discussion