最終更新日:2022‐05-01
スクリプトを作る
まずはbitnami公式ページに従って、下記のシェルスクリプトを完成させます。
公式ページの「Step 5: Renew The Let’s Encrypt Certificate」の項からの説明部分にあたります。
#!/bin/bash
sudo /opt/bitnami/ctlscript.sh stop nginx
sudo /opt/bitnami/letsencrypt/lego --tls --email="EMAIL-ADDRESS" --domains="DOMAIN" --path="/opt/bitnami/letsencrypt" renew --days 90
sudo /opt/bitnami/letsencrypt/lego --tls --email="EMAIL-ADDRESS" --domains="DOMAIN" --path="/opt/bitnami/letsencrypt" renew --days 90
sudo /opt/bitnami/ctlscript.sh start nginx
スクリプト内の"EMAIL-ADDRESS" の部分は証明書を新規作成したときのメールアドレスです。"DOMAIN" の部分は、更新したいドメイン名を記載してください。
"renew-certificate.sh"というファイル名で保存してください。
複数のドメインを一度に更新したい場合は、上記のサンプルのように連続してコマンドを投入することができます。
スクリプトを実行する
作ったシェルスクリプトを実行します。
sudo bash /opt/bitnami/renew-certificate.sh
成功するとこのようなログになります。
$ sudo bash ./renew-certificate.sh
Unmonitored nginx
/opt/bitnami/nginx/scripts/ctl.sh : Nginx stopped
2021/05/23 04:19:19 [INFO] [eaglet.jp] acme: Trying renewal with 384 hours remaining
2021/05/23 04:19:19 [INFO] [eaglet.jp] acme: Obtaining bundled SAN certificate
2021/05/23 04:19:20 [INFO] [eaglet.jp] AuthURL: https://acme-v02.api.letsencrypt.org/acme/authz-v3/XXXXXXXXXXX
2021/05/23 04:19:20 [INFO] [eaglet.jp] acme: use tls-alpn-01 solver
2021/05/23 04:19:20 [INFO] [eaglet.jp] acme: Trying to solve TLS-ALPN-01
2021/05/23 04:19:25 [INFO] [eaglet.jp] The server validated our request
2021/05/23 04:19:25 [INFO] [eaglet.jp] acme: Validations succeeded; requesting certificates
2021/05/23 04:19:26 [INFO] [eaglet.jp] Server responded with a certificate.
2021/05/23 04:19:26 [INFO] [code.eaglet.jp] acme: Trying renewal with 426 hours remaining
2021/05/23 04:19:26 [INFO] [code.eaglet.jp] acme: Obtaining bundled SAN certificate
2021/05/23 04:19:27 [INFO] [code.eaglet.jp] AuthURL: https://acme-v02.api.letsencrypt.org/acme/authz-v3/XXXXXXXXXXX
2021/05/23 04:19:27 [INFO] [code.eaglet.jp] acme: use tls-alpn-01 solver
2021/05/23 04:19:27 [INFO] [code.eaglet.jp] acme: Trying to solve TLS-ALPN-01
2021/05/23 04:19:33 [INFO] [code.eaglet.jp] The server validated our request
2021/05/23 04:19:33 [INFO] [code.eaglet.jp] acme: Validations succeeded; requesting certificates
2021/05/23 04:19:33 [INFO] [code.eaglet.jp] Server responded with a certificate.
/opt/bitnami/nginx/scripts/ctl.sh : Nginx started
Monitored nginx
$
以上です。
cronを使った証明書の更新自動化は以下の記事からどうぞ。
技術の進化についていけていないシステムエンジニア。浅く広く、何でも大体はこなせるエンジニアで重宝されてる(つもり)。でもやっぱり特化した武器欲しい。
備忘録として記事を投稿していますが、少しでも誰かの助けになればと思います。
最近はプロジェクトでReact(TypeScript )を触っています。
趣味でギター弾きます。