Bitnami製のWordpressをSSL化した
前置き
なんだかんだ公式ドキュメントに全て書いてます。 一部わかりにくかったので自分用と引き継ぎ用のメモって位置付けです。
流れ
※前提として、念の為DBのバックアップは取っておきました。
- Goをinstall(しなくて良かった)
- Legoをinstall
- Legoを使って証明書設定
- Really Simple SSL(Wordpressプラグイン)をインストール
- Really Simple SSLを有効化
1. Goをinstall(しなくて良かった)
Goコマンドをダウンロード
curl -L -O https://dl.google.com/go/go1.12.1.linux-amd64.tar.gz
解凍
tar -C /usr/local/ -xf go1.12.1.linux-amd64.tar.gz
パスを通す
echo 'export PATH=$PATH:/usr/local/go/bin' >> ~/.bash_profile
echo 'export GOPATH=$HOME/go' >> ~/.bash_profile
パスが通ったか確認
which go
※パスが帰ってきたらOK
Legoをinstall
【本来やりたかったけどできなかった】Goコマンドを使ってLegoをインストール
go get -u github.com/go-acme/lego/cmd/lego
Legoをインストール
wget https://github.com/go-acme/lego/releases/download/v2.3.0/lego_v2.3.0_linux_amd64.tar.gz
解凍
tar -zxvf lego_v2.3.0_linux_amd64.tar.gz
※CHANGELOG.mdとかLICENCE.mdとか不要なファイルも出来ちゃうけどrmで消せば良いパスが通ってる場所にlegoコマンドを移動
mv lego /usr/local/bin/lego
Legoが使えるか(installされていてパスが通ってるか)を確認
which lego
※パスが帰ってきたらOK
Legoを使って証明書設定
Bitnamiのサービスをストップする
sudo /opt/bitnami/ctlscript.sh stop
証明書を要求する
sudo lego --tls --email="EMAIL-ADDRESS" --domains="DOMAIN" --domains="www.DOMAIN" --path="/etc/lego" run
※EMAIL-ADDRESSは自分のメアドに置き換え ※DOMAINも自分のドメインに置き換え生成された証明書を使う設定
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/DOMAIN.key /opt/bitnami/apache2/conf/server.key sudo ln -s /etc/lego/certificates/DOMAIN.crt /opt/bitnami/apache2/conf/server.crt sudo chown root:root /opt/bitnami/apache2/conf/server* sudo chmod 600 /opt/bitnami/apache2/conf/server*
※上記全コマンドはドキュメントにあります ※上記はApacheの場合です。Nginxの場合はドキュメントへ ※ドキュメント: https://docs.bitnami.com/bch/how-to/generate-install-lets-encrypt-ssl/
Bitnamiのサービスをリスタート
sudo /opt/bitnami/ctlscript.sh start
- Really Simple SSLを有効化 wordpressのGUI上でイントロダクションに沿ってやれば良しなので割愛。
終わりに
以上でSSL対応が完了します。 自分は1.5時間くらいかかりました。流れが分かったので次は10~15分くらいで出来そう。
Let's Encryptの証明書は90日で期限が切れるそうなので、ドキュメント(https://docs.bitnami.com/bch/how-to/generate-install-lets-encrypt-ssl/)のRenew The Let’s Encrypt Certificateセクションを見て随時更新 or 自動更新の設定をするべし。
参考
WordPressサイトアドレスをhttpsに変更する(Really Simple SSL) | 楓プログラミングスタジオ ITインフラ部