SSL証明書の発行
今回は、WordPressのURLのプロトコルをhttpからhttpsに変更する手順について書いていきます。
httpsの設定を行う方法を調べると、次の3つの作業が必要になることが分かりました。
① サーバーのSSL証明書の取得
② WordPressのサイトアドレスをhttpsに修正
③ 「.htaccess」ファイルにhttpからhttpsへのリダイレクトの設定を記載
①のサーバーのSSL証明書の取得を、Amazon Lightsailではどのように行えば良いのか・・
調べてみると、簡単な方法を見つけました。
Bitnami HTTPS 設定ツールを使う!
AWSの公式サイトに以下のような記事がありました。
この記事によると、Bitnami HTTPS 設定ツールを使うことで、
- Bitnami スタックで HTTPS 証明書を設定する
- 証明書の自動更新を作成する
- HTTP から HTTPS へのリダイレクトをセットアップする
を行ってくれるそうです。
この記事に沿って、実際にBitnami HTTPS 設定ツールを起動するコマンド「sudo /opt/bitnami/bncert-tool」を実行してみました。
Bitnami HTTPS 設定ツールを起動
$ sudo /opt/bitnami/bncert-tool
でBitnami HTTPS 設定ツールを起動することができます。
The following domeins were not included:<ドメイン名> Do you want to add them? [Y/n]:
と最初に聞かれます。ここでYesを選択すると上手くいかず・・
今回のHTTPS設定とは直接関係無いので、noを選択して飛ばしました。
Enable HTTP to HTTPS redirection [Y/n]:
HTTPからHTTPSへのリダイレクトを行う設定をするか聞いているので、ここはYesを選択します。
Do you agree to these changes? [Y/n]:
「変更してOKですか?」と聞いているので、Yesを選択します。
『「Let’s Encrypt」で無料のHTTPS証明書を作成します。「Let’s Encrypt」と関連付けるための、有効なE-mailアドレスを書いてください。』と言っているので、登録するE-mailアドレスを記載します。「Let’s Encrypt」は、無料でSSL証明書を発行している認証局です。詳細は以下を参考にしてください。
最後に、
Do you agree to the Let's Encrypt Subscriber Agreement? [Y/n]
『「Let’s Encrypt」に登録してもよろしいですか?』
と聞いてくるので、Yesを選びます。これで、Bitnami HTTPS 設定は完了しました。
Webページを見てみると・・httpからhttpsに変わって、鍵マークも出現しています!無事に成功しました。
WordPressのURL変更
次は、WordPressのサイトアドレスをhttpからhttpsに変更します。
サイトアドレスがグレーアウトしている!
httpの後ろに「s」を追加するだけの簡単な作業だなと思いながら、サイトアドレスの欄を確認すると・・・
アドレス欄がグレーアウトされていて、変更ができない事態になっていました!
なかなかこういった作業がスムーズに進むことって少ないですよね。。
そこで、次はグレーアウトしている原因と対策について調べてみました。
wp-config.phpファイルの編集
どうやら、「wp-config.php」ファイルで定義されているURLがhttpであることが原因だそうです。
「wp-config.php」の記載が何よりも優先されるため、ここをhttpsに変更しなければ、WordPressのサイトアドレスも修正できないとか。
調査内容が正しいかどうか分かりませんが、とにかく実行してみます。
「wp-config.php」は「/opt/bitnami/apps/wordpress/htdocs」配下にありました。
念の為、「wp-config.php」のバックアップを取得しておいて、編集しました。
$ cd /opt/bitnami/apps/wordpress/htdocs
$ cp wp-config.php wp-config.php.org
$ vi wp-config.php
以下をhttpsに編集
[修正前]
define('WP_SITEURL', 'http://' . $_SERVER['HTTP_HOST'] . '/');
define('WP_HOME', 'http://' . $_SERVER['HTTP_HOST'] . '/');
↓
[修正後]
define('WP_SITEURL', 'https://' . $_SERVER['HTTP_HOST'] . '/');
define('WP_HOME', 'https://' . $_SERVER['HTTP_HOST'] . '/');
そして修正後に、WordPressのサイトアドレスを確認すると・・
無事、httpsに変更されていました!
ただ、グレーアウトの状態は保持されたままでした。先程修正した部分を消してしまえば、この欄のグレーアウトが消えるそうですが、今回はその動作確認はしませんでした。
httpからhttpsへの変更はこれで終わりです。
ここまででひとまずサーバーサイドの変更は完了しました!
今後はWordPressの機能について勉強していきたいと思います。
コメント