ワードプレス 構築にAWSのLightsailを利用するという方は多いと思います。
Lightsailでワードプレスを構築したら、忘れずにSSL化とHTTP/2を有効にしましょう。
Lightsailで構築したWordPressをSSL化
AWSのコントロールパネルからターミナルが使えますので、そこからでも行えます。
SSL化は、お馴染みのLet’sEncryptクライアントのlegoで行います。
//tmpに移動
cd /tmp
//legoをダウンロード
curl -s 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_v*
// /usr/local/bin/legoに移動
sudo mv lego /usr/local/bin/lego
bitnamiを停止させます。
//以下を実行。※{メールアドレス}、{ドメイン}は置き換えてください。
sudo lego --email="{メールアドレス}" --domains="{ドメイン}" --domains="www.{ドメイン}" --path="/etc/lego" --http run
// 実行後Do you accept the TOS? Y/nと聞かれますのでYを入力してエンター。
//証明書の置き換えをします。※ドメインは置き換えてください。
sudo mv /opt/bitnami/apache2/conf/server.crt /opt/bitnami/apache2/conf/server.crt.old
sudo mv /opt/bitnami/apache2/conf/server.key /opt/bitnami/apache2/conf/server.key.old
sudo mv /opt/bitnami/apache2/conf/server.csr /opt/bitnami/apache2/conf/server.csr.old
sudo ln -s /etc/lego/certificates/{ドメイン}.key /opt/bitnami/apache2/conf/server.key
sudo ln -s /etc/lego/certificates/{ドメイン}.crt /opt/bitnami/apache2/conf/server.crt
sudo chown root:root /opt/bitnami/apache2/conf/server*
sudo chmod 600 /opt/bitnami/apache2/conf/server*
bitnamiを起動し、httpsでワードプレスにアクセスできれば完了です。
あとは自動更新の設定もしておきましょう。
// 新規ファイルの作成
sudo vi /etc/lego/renew-certificate.sh
//下記の内容を書き込みます ※{メールアドレス}、{ドメイン}は置き換えてください。
#!/bin/bash
sudo /opt/bitnami/ctlscript.sh stop apache
sudo /usr/local/bin/lego --email="{メールアドレス}" --domains="{ドメイン}" --path="/etc/lego" --http renew
sudo /opt/bitnami/ctlscript.sh start apache
// 権限を変更
sudo chmod +x /etc/lego/renew-certificate.sh
// cronを設定します
sudo crontab -e
// 下記が表示されますので2を選択
Select an editor. To change later, run 'select-editor'.
1. /bin/ed
2. /bin/nano
3. /usr/bin/vim.basic
4. /usr/bin/vim.tiny
Choose 1-4 [2]:
// 最終行に下記を書き込みます。
0 0 1 * * /etc/lego/renew-certificate.sh 2> /dev/null
以上でSSL化と自動更新は完了です。
HTTP/2も有効にする
SSL化になったところで満足して肝心なHTTP/2を有効にするのを忘れていませんか?
せっかくですので、こちらも有効にします。
$ sudo vi /opt/bitnami/apache2/conf/httpd.conf
// 下記がコメントアウトされていますのでコメントアウトを削除して有効に。記述がなければ追記します。
LoadModule http2_module modules/mod_http2.so
$ sudo vi /opt/bitnami/apache2/conf/bitnami/bitnami.conf
<VirtualHost _default_:443>
DocumentRoot "/opt/bitnami/apache2/htdocs"
// 上記の文字列の下あたりに、下記を追記
Protocols h2 http/1.1
あとはApacheを再起動させれば完了です。