#目次的なの
- 書こうと思った理由
- 発行までの下準備
- 発行
- 更新
#書こうと思った理由
毎回複数サイトを見るのが面倒だからまとめちまおうと
#発行までの下準備
##Let’s Encrypt(LEGO) インストール
以下のコマンドにて/tmpにLet’s Encrypt(LEGO) をインストール
# cd /tmp
# curl -Ls https://api.github.com/repos/xenolf/lego/releases/latest | grep browser_download_url | grep linux_amd64 | cut -d '"' -f 4 | wget -i -
##解凍
# tar xf lego_{バージョン}.tar.gz
##作業用ディレクトリの追加、移動
# sudo mkdir -p /opt/bitnami/letsencrypt
# sudo mv lego /opt/bitnami/letsencrypt/lego
#発行
##bitnamiサービスの停止
# sudo /opt/bitnami/ctlscript.sh stop
##証明書の発行
sudo /opt/bitnami/letsencrypt/lego --tls --email="{your@email.com}" --domains="{domain}" --path="/opt/bitnami/letsencrypt" run
##証明書 ファイル、暗号鍵ファイル 差替え
aws Lightsail LAMP7のインスタンス環境だと、デフォルトで証明書ファイル(server.crt)、暗号鍵ファイル(server.key)が配置されています。
これらを作成済みのファイルに差し替える必要があります。
まず、既存のファイルをバックアップします。
※crtファイル、keyファイルが存在しないとbinamiサービスは正常に起動できなくなるので、失敗に備えてバックアップします。
# sudo mv /opt/bitnami/apache2/conf/bitnami/certs/server.crt /opt/bitnami/apache2/conf/bitnami/certs/server.crt.old
# sudo mv /opt/bitnami/apache2/conf/bitnami/certs/server.key /opt/bitnami/apache2/conf/bitnami/certs/server.key.old
バックアップ後に反映させるため移動
# sudo cp /opt/bitnami/letsencrypt/certificates/{domain}.crt /opt/bitnami/apache2/conf/bitnami/certs/server.crt
# sudo cp /opt/bitnami/letsencrypt/certificates/{domain}.key /opt/bitnami/apache2/conf/bitnami/certs/server.key
##停止していたbitnamiサービスの起動
# sudo /opt/bitnami/ctlscript.sh start
ここまで実行すると設定した{domain}がhttpsアクセスできると思います
#更新
このままではいずれ有効期限が切れてしまうため更新用ファイルを作成する
# sudo vi /opt/bitnami/letsencrypt/renew-certificate.sh
中身
#!/bin/bash
sudo /opt/bitnami/ctlscript.sh stop
sudo /opt/bitnami/letsencrypt/lego --tls --email="{your@email.com}" --domains="{domain}" --path="/opt/bitnami/letsencrypt" renew
sudo /opt/bitnami/ctlscript.sh start
##アクセス権限の書き換え
# sudo chmod +x /etc/lego/renew-certificate.sh
##cronの設定
# sudo crontab -e
# 毎月0時更新
0 0 1 * * sh /opt/bitnami/letsencrypt/renew-certificate.sh
#参考
https://qiita.com/yshishido/items/67c57b9faafbda07da81
https://syslog.life/2020/10/18/aws-lightsail-%E8%A8%BC%E6%98%8E%E6%9B%B8-%E4%BD%9C%E6%88%90-%E8%A8%AD%E5%AE%9A-tls-ssl-lets-encrypt/#%E3%83%BBLets_EncryptLEGO_%E3%82%A4%E3%83%B3%E3%82%B9%E3%83%88%E3%83%BC%E3%83%AB