【WordPress】サイト全体をSSL化する

SSL証明書をサーバに設定して有効化した後、嬉々として自分のページに “https” を付けてアクセスするとこんな画面が表示されると思う。

何でこうなるのか?というと、サーバ側は “https” でアクセスがあった時に暗号化するんだけど、肝心なWordPress側のコンテンツ…つまりすでに投稿してあるページの配信が “http” のままだと不整合を起こしてしまう。

その結果、「502 Bad Gateway」という表示がされてしまう。

なので、WordPress側を “https” に対応してあげなければならない。

『Really Simple SSL』プラグインを使ってSSL化する

やり方は色々あるだろうけど、WordPress自体にテーマやプラグイン導入以外の変更を特に加えていないなら、プラグインを使ってSSL化するのが安全でいいと思う。

僕は『Really Simple SSL』プラグインを利用しました。管理ページのプラグインからプラグインの追加を選び、キーワードに「Really Simple SSL」と入力。

プラグインをインストールして、有効化します。

そうすると…

エラーになります∠( ‘ω’)/

…どうやら、このプラグインは “wp-config.php” にコードを書き込みたいけど、書き込み権限がないためエラーになっているみたい。自分でコードを書き込んでもいいみたいだけど、せっかくなので全部やって貰いましょう。

“wp-config.php” に書き込み権限を与える

“wp-config.php” に変更を加えるのであれば、ターミナルアプリを使ってサーバにアクセスするか、FTPソフトを使ってサーバへアクセスする必要があります。これは各々の環境に合わせたものを使ってください。僕と同じように、AWSのLightsailを使っている場合はWEBからアクセスすることができる。

Lightsailの管理画面にアクセスして、サーバ名の横にある四角い部分を選択する。

サーバにアクセスしたら、”wp-config.php” が保存されているフォルダに向かう。Lightsailの場合は以下のコマンドで移動します。

cd apps/wordpress/htdocs/

移動した先で続けて以下のようにコマンドを打ちます。

chmod 660 wp-config.php

これで下の画像のように、”wp-config.php” の右端が “-rw-rw—-“となっていればプラグインから書き込みができるようになっている。

このファイルの権限は、ずっと書き込みOKにしておくとちょっとまずいファイルなので、後で元に戻します。なのでコンソールは開いたままにしておきましょう。

再度プラグインの有効化をする

WordPressの管理画面に戻り、さっきインストールした『Really Simple SSL』プラグインを有効化しましょう。

今度はエラーも発生しないと思います。その状態で自分のコンテンツにアクセスすれば…

ちゃんと表示された!!∠( ‘ω’)/

これでサイトのSSL化は全部終了…だけど、最後に忘れずに後始末をしておこう。

“wp-config.php” の書き込み権限を元に戻す

上で記載している通り、 “wp-config.php” を常にプラグインから書き込みできるようにしておくのはセキュリティ上よろしくないです。悪意のあるプラグインを謝ってインストールした時に変なコードを書き込まれる可能性もあるので、特に権限をそのままにしておきたい理由がないなら元に戻しましょう。

さっきと同様に “wp-config.php” が配置されているフォルダまで移動し、以下のコマンドを打ち込みます。

chmod 640 wp-config.php

これで元の権限 “-rw-r—–” に戻ります。

これで本当に終わり。意外と簡単だったぜ!(。・ω・)ノ゙