webサーバーのSSL化

Debian-linux-9.0(Raspberry Pi3 Model B)で Let’s Encrypt を使って無料の SSL 証明書を
取得したので ~SSL証明書の取得から更新まで~をメモ。3ヶ月で有効期限が切れるので、
更新を自動化する方法も紹介します。
1.Certbot クライアントをインストール
#apt-get install certbot

2.SSL 証明書を取得する
ファイアーウォールで 80 と 443 ポートを開けて、Apache などの Web サーバを停止してから
以下コマンドを実行。初回実行時はメールアドレスの入力と利用規約への同意を求められるので
入力します。
# certbot certonly –standalone -d example.com
_は証明書を取得するドメイン名。
コマンドが正常終了すると、/etc/letsencrypt/live 以下に最新版の証明書へのシンボリック
リンクが作成されるので、apache2 などの Web サーバに設定します。Raspberry Pi3 Model Bでは
/etc/apache2/sites-available/default-ssl.confを修正

SSLEngine on

SSLCertificateFile /etc/letsencrypt/live/ong-net.com/cert.pem
SSLCertificateKeyFile /etc/letsencrypt/live/ong-net.com/privkey.pem
SSLCertificateChainFile /etc/letsencrypt/live/ong-net.com/chain.pem

3.SSL 証明書の更新を自動化する
Let’s Encrypt の証明書の有効期限は90日間のため定期的に更新する必要があります。
以下コマンドで更新します。以下のコマンドを実行しても、有効期限の 1 ヶ月前になるまでは何も
起こりません。
1 ヶ月前になると新しい証明書をダウンロードしてきて、apache を再起動してくれます。
私は cron 毎月10日の朝5時に更新するように設定しました。 更新日時はお好みで。

certbot renew –pre-hook ‘service apache2 stop’ –post-hook ‘service apache2 start’