無料でWordPressをssl化する方法

2018-12-20
プログラミング

AWSのLightsailでWordPressのインスタンスを立ち上げて、SSL化したい。
王道ならLightsailでロードバランサを使用する方法だが、ロードバランサは高い。
で、使った方法がletsencrypt使用する方法。

$ mkdir ssl
$ cd ssl
$ git clone https://github.com/letsencrypt/letsencrypt
# 各種パッケージインストール
$ letsencrypt/letsencrypt-auto
# 証明書作成
$ letsencrypt/letsencrypt-auto certonly --webroot -w /opt/bitnami/apps/wordpress/htdocs/ --email <メールアドレス> -d <ドメイン名>
# 証明書をApacheのパスに設定
$ sudo cp /etc/letsencrypt/live/<ドメイン名>/fullchain.pem /opt/bitnami/apache2/conf/server.crt
$ sudo cp /etc/letsencrypt/live/<ドメイン名>/privkey.pem /opt/bitnami/apache2/conf/server.key
# Apacheを再起動
$ sudo /opt/bitnami/ctlscript.sh restart apache

letsencryptは3ヶ月で証明書の期限が切れるので、毎月1日に証明書を更新するように設定

$ sudo crontab -e

最後に、以下を追加すると完成

# 毎月1日の0時0分に証明書を更新
0 0 1 * * /home/bitnami/ssl/letsencrypt/letsencrypt-auto renew
# 1分ずつずらして証明書を置換し、Apacheを再起動
1 0 1 * * cp /etc/letsencrypt/live/<ドメイン名>/privkey.pem /opt/bitnami/apache2/conf/server.key
2 0 1 * * cp /etc/letsencrypt/live/<ドメイン名>/fullchain.pem /opt/bitnami/apache2/conf/server.crt
3 0 1 * * /opt/bitnami/ctlscript.sh restart apache