当サイトが利用している、ネットオウルのレンタルサーバー『ミニバード』では、2017年11月28日より「独自SSL機能」が無料で提供開始となりました。
そのサービス内容について気になる点をチェックした記事はこちら。
そこで早速、この独自SSL機能を使ってサイトのSSL対応をしてみることにしました。
手順①バックアップをとり、復元までしてみる
WordPressである程度サイト運営をしてきた方であれば、もう当然のことでしょうが、サイトになんらかの手を加える時にバックアップは必須です。
もし何かあった時にも、以前の状態に戻せる、という安心感があるだけでどれだけ心強いものか、もうおわかりですよね。
WordPressでサイト運営するなら、定期的なバックアップは必須ですから、WPBackupなどのプラグインを使ってバックアップをとっている方が大半だと思います。
ですので、ここではあえてバックアップ方法などについて触れませんが、やって欲しいことがひとつだけあります。
それは・・・
バックアップデータを復元までしてみること!
です。
WordPressの関連書籍やネット記事などを参考にしながら、プラグインを使ったバックアップまでは行っているものの、それをPCのローカル環境などに復元するところまで試した経験のある人って・・・
意外と少ない・・・
のではないでしょうか?
データのバックアップ設定をした、ということだけに満足してしまったり、データが壊れて消失することなんてめったにないだろう、と安易に考えてしまいがちなんですよね?
わたしも以前はそうでした・・・(^_^;)
だからこそ、バックアップをとっただけで満足せず、必ず一度は復元までやってみることをオススメします。
まぁ、防災の日に行う年一回の避難訓練くらいに思って、一度もやったことのない方はトライしてみましょう!
手順②ミニバードの管理画面からSSL機能を設定する
現状のバックアップと復元までできたら、いよいよ本題のSSL設定作業に入ります。
といっても、とくに難しい作業ではなく、ミニバードの管理画面から『SSL機能』を設定するだけです。
まずはおなじみの『ミニバード』の管理画面を開きます。
管理画面の左メニュー『SSL設定』をクリック。
続いてSSLを適用するドメインを選択します。
続いて、SSL設定で
- ①『無料独自SSL追加』タブを選択
- ②『ドメイン名』を確認
- ③『CSR情報(SSL証明書申請情報)を入力する』のチェックは不要
- ④『独自SSL設定を追加する(確定)』をクリック
すると、SSLの設定が開始されます。
ミニバード上での『SSLの新規取得申請処理』は、ほんの数分程度で完了します。
サーバ上でのSSL設定が終わっても、実際に設定が反映されるまではしばらくかかるため、https通信でサイトに接続しようとしてもすぐには表示されません。
『SSL設定が反映するまで最大1時間かかりますので今しばらくお待ちください』と表示されるので、ここは待ちましょう。
SSL設定が完了し、サイトに反映されたかどうかは、設定したドメインにSSL(https)接続してみてサイトが表示されたらOKです。
わたしの場合では、平日の22時頃に行ったところ、どのドメインもだいたい30分程度で設定が反映され表示されました。
念のため、管理画面の『SSL一覧』タブをクリックすると、無料独自SSLが設定されたドメインがきちんと表示されていますね。
これで『ミニバード』サーバー上でのSSL設定は完了です。
ここまで1時間程度でできちゃいました!
手順③WordPressの管理画面からサイトのURLを変更
続いては、WordPressに設定している、サイトのURLを変更します。
WordPressの管理画面にログインし、左メニューの『設定』の中にある『一般設定』を選択します。
『WordPressアドレス(URL)』と『サイトアドレス(URL)』に記載されているアドレスの「http」の部分を「https」へ変更します。
これで、サイトのURL変更は完了です。
WordPressの管理画面にhttps通信でアクセスできるか確認してみましょう。
手順④WordPressテーマ『Simplicity』の簡易SSL機能をONにする
ミニバード(サーバー)上でのSSL設定は完了し、httpsでサイトは表示されるようになったと思いますが、この状態ではまだ100%サイトのSSL対応が完了したとはいえません。
どうしてかって?
googleのCromeや、FireFoxなどのブラウザでサイトにアクセスしてみるとわかるのですが、アドレスの表示箇所をみると、サイトが安全であるという『鍵マーク』が出ていません・・・。
どういうことかというと、コンテンツ内にhttpsでないパスが含まれていると、完全に安全なサイトとは認められないからなんです。
画像の参照パスであったり、外部サイトや内部ページへのリンクも、すべて『https』に書き換えないといけないわけです。
サイトのSSL対応でいちばん面倒なのが、このパスの書き換え作業なんですよね。
長年サイトを運営している方などは、サイトのボリューム(ページ数)が何百ページとなっているでしょうから、これらを全部チェックして書き換えるのはかなりの重労働・・・。
この面倒な作業がイヤでSSL対応を先延ばしにしている方も多いのでは??
まだ100ページにもぜんぜん満たない、このサイトでさえ、面倒だとわたしは思っていましたから・・・(^_^;)
でもこのサイトのように、WordPressのテーマに『Simplicity』を使っている方であれば、もっと簡単にできる方法があるんです!
なんと、Simplicityの『簡易SSL機能』を使うことで、この面倒なパスの書き換えも自動的に行って表示してくれるんです!
この機能はホント、素晴らしいです!
Search Regexを使って、データベース内のデータそのものを書き換えるのとは違って、Simplicityが内部処理的に行っているのは、ページを表示するたびに「http〜」となっているパスを「https〜」に書き換えること。
つまり、データベース内のデータそのものを書き換えているわけではないので、Search Regexを使って一括置換したら
- サイトの表示が崩れた・・・
- うまく表示されなくなった・・・
なんてトラブルも避けることができるわけですね。
まぁ逆をいえば、データベースを書き換えないわけなので、もしWordPressのテーマをSimplicityから替えた際は、再びこのパスの変更をする必要が出てくるわけですが・・・。
- 将来的にWordPressのテーマを替える可能性がある
- この機会にデータベースを書き換えておきたい
という方は、Simplicityの『簡易SSL機能』は使わずに、データベースを書き換えてもいいでしょう。
Simplicityの『簡易SSL機能』を使うには、
- カスタマイズを選択
- 簡易SSL機能を使うにチェック
以上です!
これであとはサイトのページが表示されるたびに、自動的にコンテンツ内のパスを「https」に書き換えてくれます。
なんて便利なんでしょう。これでhttpsへの移行はほぼ完了したようなものです。
手順⑤httaccessファイルを修正し、リダイレクト設定をする
SSL設定しただけでは、http、httpsのどちらでもサイトにアクセスできるのですが、つまりは2つのサイトが存在する状態です。
ですので、http通信のアクセスをhttpsへ転送(リダイレクト)してあげる必要があるんですね。
「.htaccess」ファイルの冒頭に下記コードを追加して完了です。
RewriteEngine on RewriteCond %{HTTPS} !=on [NC] RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
手順⑥サイトの表示テストをする
以上で、当サイトのSSL対応も完了です。
実際にSSL対応する前の「http」でアクセスして「https」へリダイレクトされるか試してみましょう。
googleのChromeで表示してみると・・・
きちんとリダイレクトされ、鍵マークもしっかり付いていますね。
念のため、FireFoxでも表示してみました。
Chrome同様に鍵マークがしっかり付いていることが確認できました。
トップページ以外でもいくつか確認して、どのページにおいても鍵マークがしっかり確認できたら、サイトのSSL対応は完了です。
お疲れさまでした!