GCPでLet’s EncryptのSSLを設定したんだけど、証明書の有効期限が90日間。証明書の自動更新を設定しようとしていたけど、忘れていて期限切れしてしまった。。
なので、自動更新を設定しよう!というやってみたメモです。
それでは都度更新ではなく自動更新にしてみようと思います。
まずは、cerbotをインストールする必要があるの?
certbotインストール使用とするもパーミッションなのかインストールできないんだけど。。
macでは、パーミッションでインストールできなかった。
コンパネでフルディスクアンセクスきってもcertbotインストールできなかった。。
あ、自分のマシンに入れるんじゃないんだ。。。
GCPでSSH接続してコマンド打つんだ。。
Let’s EncryptのSSL接続にする
GCPのVMインスタンス画面で、SSHボタンをクリック
コンソールでcertbotをインストール。初回にインストールした気もするけど。。
wget https://dl.eff.org/certbot-auto && chmod a+x certbot-auto
./certbot-auto certonly –webroot -w /var/www/html/ -d 自分のドメイン.com
/etc/letsencrypt/live/自分のドメイン.com/privkey.pem
後で使うので証明書がインストールされている場所を覚えておく
sudo nano /etc/apache2/sites-available/default-ssl.conf
の中身を確認したら、編集してた形跡があったので、
SSLCertificateFile “/etc/letsencrypt/live/example.com/cert.pem”
SSLCertificateKeyFile “/etc/letsencrypt/live/example.com/privkey.pem”
SSLCertificateChainFile “/etc/letsencrypt/live/example.com/chain.pem”
とかね。
で、
sudo a2ensite default-ssl
sudo a2enmod ssl
sudo service apache2 restart
を実行して、apacheを再起動。
httpsでアクセスしても表示されなかったので、一度インスタンスを停止して再度開始してみたら、https接続復活した。。!
Let’s Encryptのhttps接続は有効期限が3ヶ月なので、自動更新の設定をします。
証明書の自動更新設定で引き続きHTTPS接続にする
では、自動更新の設定です。
certbotをletsencryptディレクトリに移動します。
sudo mv certbot-auto /etc/letsencrypt/
ls /etc/letsencrypt/
で移動されているか確認。
crontabを開きます。
sudo crontab -e
crontabに週一回実行されるスクリプトを追加します。
45 2 * * 6 cd /etc/letsencrypt/ && ./certbot-auto renew && /etc/init.d/apache2 restart
はい、自動更新の設定が完了しました。。!
GCPでLet’s EncryptのSSLを設定したのに、
証明書の有効期限が切れてHTTPS接続が出来なくなってしまった人は、
初回以降もこれで自動更新になりますね。
コメント