Lightsail × WordPress × SSL化

てちてちエンジニアのおっとーです。

 

AWSのLightsailを使って立ち上げたWordPressのSSL化について説明していきます。


最近ではSSL化はウェブサイトやウェブアプリを公開する上で必須になってきています。
SSL化を行っていないとGoogleの検索に出てこない原因になったり、サイト利用者の情報漏洩などを引き起こしたりする可能性があるみたいなので、しっかりSSL化を行いましょう!

では早速、始めます。

事前準備

①LightsailでWordPressの立ち上げ(こちらの記事を参考
②独自ドメイン(こちらの記事を参考)

MACのターミナルやWindowsのコマンドプロンプトからSSH接続したい場合は以下も準備しましょう。
③pem/cerファイル

Lightsailから設定

①AWSからLightsailのページにアクセスします

上図赤枠をクリックすると、SSH接続可能です。

②ターミナルが表示されたら以下のコマンドを実行します。

wget -O bncert-linux-x64.run https://downloads.bitnami.com/files/bncert/latest/bncert-linux-x64.run
sudo mkdir /opt/bitnami/bncert
sudo mv bncert-linux-x64.run /opt/bitnami/bncert/
sudo chmod +x /opt/bitnami/bncert/bncert-linux-x64.run
sudo ln -s /opt/bitnami/bncert/bncert-linux-x64.run /opt/bitnami/bncert-tool

②続けて次のコマンドを実行します。

sudo /opt/bitnami/bncert-tool

数秒待つと

Please provide a valid space-separated list of domains for which you wish to configure your web server.
↑ウェブサーバを構成するドメインを入力してください

と表示されるので、

③取得したドメイン名(〇〇.com)を入力します。(私の場合はtechtech-step.com)

ドメインを入力すると、

The following domains were not included: www.techtech-step.com. Do you want to add them? [Y/n]: 
↑www.〇〇.com.は含まれてないけど、追加しますか?

と表示されるので、

④マルチドメインに対応する場合はY、対応しない場合はNを入力しエンターを押下します。
(今回は前記事までの手順でwww.〇〇〇〇.comまでRoute53で設定済みなので、yを選択します。)

続けて、

Enable HTTP to HTTPS redirection [Y/n]:
↑HTTPからHTTPSのリダイレクトを許可しますか?

と表示されるので、
⑤yを入力してエンターを押下します。

続けて、

Enable non-www to www redirection [Y/n]:
↑wwwがついてない場合、wwwにリダイレクトすることを許可しますか?

と表示されるので

⑥yを入力してエンターを押下します。

続けて、

Enable www to non-www redirection [Y/n]:
↑wwwがついている場合、www無しにリダイレクトすることを許可しますか?

と表示されるので、

⑦nを入力してエンターを押下します。

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: 
www.techtech-step.com techtech-step.com
3. Configure a cron job to automatically renew the certificate each month
4. Configure web server name to: www.techtech-step.com
5. Enable HTTP to HTTPS redirection (example: redirect https://techtech-step.com
to https://techtech-step.com)
6. Enable non-www to www redirection (example: redirect techtech-step.com to 
www.techtech-step.com)
7. Start web server once all changes have been performed

↑bitnamiのインストールに伴い、
Webサーバー停止するよ
www.〇〇.comと〇〇.comで証明書を使えるようにするよ
証明書の自動更新設定するよ
HTTP⇛HTTPSリダイレクトを有効にするよ
www無しはwww有りにリダイレクトするよ
すべて変更完了したらサーバー起動するよ

と表示されるので、

⑧yを入力してエンターを押下します。

続けて、

Please provide a valid e-mail address for which to associate your Let's Encrypt certificate.
↑連絡用のEメールをくださいと求められるので、

⑨Emailアドレスを入力してエンターを押下します。

最後に、

https://letsencrypt.org/documents/LE-SA-v1.2-November-15-2017.pdf

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

↑利用規約に同意しますか的な内容なのでリンク先を閲覧した上で、

⑩同意する場合yを入力、同意しない場合nを入力してエンターを押下します。

yを押下した場合、後続の処理が実行され、successと表示されます。

 

Terminalから設定

Terminalから利用する下準備をします。

下準備をしないと、毎回下のような長いコマンドを履歴からたどるか、直接打ち込む必要があります

ssh -i /tmp/LightsailDefaultKey-ap-northeast-1.pem bitnami@sample

長々コマンドを省略するため、以下の設定を行います。

パソコンから、~/.SSH/configファイルを見つけ出し、以下を記述します。

host SSHコマンドを呼び出すときの名前
HostName 静的IP
Port 22
User bitnami
IdentityFile ~/path/to/pemfile.pem

hostは次回からコマンドを打つ時の命令です。

「host aws_sample」と登録したら次回から、

ssh aws_sample

と入力すればSSH接続が可能になります。

HostNameは静的IPもしくはドメインを入力します。

Portは特に変更していなければ22を入力します。

Userは特に変更していなければbitnamiを入力します。

IdentityFileはインスタンス作成時にダウンロード&保管しておいたpemファイルのパスを入力します。

Pemファイルの権限を変更します

ターミナルから

chmod 600 「pemファイルへのパス」
例) chmod 600 ~/.ssh/pemfile.pem

権限の変更が完了したら、ターミナルから

ssh 〇〇〇〇

を試して接続できるか確認してみてください。

 

以上、SSL化と自端末からSSH接続する方法でした。

コメント

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