Amazon Lightsail WordPress で SSL を設定する

AWS

ここ半年ほどの間 (2021-08〜2022-03) に、AWS上に3件ほどWordPressを設定する機会がありました。Let’s Encrypt の認証を付けたので、そのメモ

Let’s Encrypt 設定

AWSのLightsailでは、bitnaminのwordpressをが用意されているので、そちらを選んで起動すると、簡単に、WordPressのサイトが用意できます。
次はSSLの設定。
公式サイトに従ってコマンドを入力

 

$ sudo /opt/bitnami/bncert-tool
----------------------------------------------------------------------------
Welcome to the Bitnami HTTPS Configuration tool.
----------------------------------------------------------------------------
Domains

Please provide a valid space-separated list of domains for which you wish to
configure your web server.

Domain list []: <ドメイン名>

The following domains were not included: fefri.jp. Do you want to add them? [Y/n]:

----------------------------------------------------------------------------
Enable/disable redirections

Please select the redirections you wish to enable or disable on your Bitnami
installation.

Enable HTTP to HTTPS redirection [Y/n]: y

Enable non-www to www redirection [Y/n]: y

Enable www to non-www redirection [y/N]: n

----------------------------------------------------------------------------
Changes to perform

The following changes will be performed to your Bitnami installation:

1. Stop web server
2. Configure web server to use a free Let's Encrypt certificate for the domains:
3. Configure a cron job to automatically renew the certificate each month
4. Configure web server name to: 
5. Enable HTTP to HTTPS redirection (example: redirect http:// to https://)
6. Enable non-www to www redirection (example: redirect  to www)
7. Start web server once all changes have been performed

Do you agree to these changes? [Y/n]: y
----------------------------------------------------------------------------
Create a free HTTPS certificate with Let's Encrypt

Please provide a valid e-mail address for which to associate your Let's Encrypt
certificate.

Domain list: <ドメイン名>

Server name: <ドメイン名>

E-mail address []: <アドレス>

The Let's Encrypt Subscriber Agreement can be found at:

Do you agree to the Let's Encrypt Subscriber Agreement? [Y/n]: y

----------------------------------------------------------------------------
Performing changes to your installation

The Bitnami HTTPS Configuration Tool will perform any necessary actions to your
Bitnami installation. This may take some time, please be patient.
----------------------------------------------------------------------------
Success

The Bitnami HTTPS Configuration Tool succeeded in modifying your installation.

The configuration report is shown below.

Backup files:
* /opt/bitnami/apache/conf/httpd.conf.back.202203110216
* /opt/bitnami/apache/conf/bitnami/bitnami.conf.back.202203110216
* /opt/bitnami/apache/conf/bitnami/bitnami-ssl.conf.back.202203110216
* /opt/bitnami/apache/conf/vhosts/wordpress-https-vhost.conf.back.202203110216
* /opt/bitnami/apache/conf/vhosts/wordpress-vhost.conf.back.202203110216

Find more details in the log file:
/tmp/bncert-202203110216.log
If you find any issues, please check Bitnami Support forums at:

Press [Enter] to continue:

Success の文字が出ていたら、基本的にはOKです。少し待ってブラウザで確認してみるとHTTPS化されています。

自動更新設定

自動更新が入っているかを確認。

$ crontab -l

リストの中に、下記のような設定が入っていたら自動で書かれているので、大丈夫!だと思います。

 0 0 * * * sudo /opt/bitnami/letsencrypt/lego --path /opt/bitnami/letsencrypt --email="<アドレス>" --http --http-timeout 30 --http.webroot /opt/bitnami/apps/letsencrypt --domains=<ドメイン名> renew && sudo /opt/bitnami/apache/bin/httpd -f /opt/bitnami/apache/conf/httpd.conf -k graceful # bncert-autorenew

なかったら、記述しましょう

自動更新設定の追加

crontabに設定がされていなかったら、作る必要があります。(私はこのケースが有りました)
記述内容は以下のどおり

sudo /opt/bitnami/ctlscript.sh stop
sudo /opt/bitnami/letsencrypt/lego --tls --email="<アドレス>" --domains="<ドメイン名>" --path="/opt/bitnami/letsencrypt" renew --days 90
sudo /opt/bitnami/ctlscript.sh start

これを、シェルスクリプトファイル(renew-certificate.sh)に作成します。保存先は/etc/lego

$ sudo mkdir /etc/lego
$ sudo nano /etc/lego/renew-certificate.sh

実行権限を付与して、crontabに登録します。

$ sudo chmod +x /etc/lego/renew-certificate.sh
$ sudo crontab -e

# 毎月0時更新
0 0 1 * * /etc/lego/renew-certificate.sh 2> /dev/null

登録されているか確認して作業終了

$ crontab -l

コメント

タイトルとURLをコピーしました