SSL化されたWEBサイトを移転先サーバーで事前確認する方法
SSL化したWEBサイトのサーバー移転時に重要なのはSSL証明書の事前持ち込みができるかどうかです。
持ち込みできない場合、SSL証明書の発行し直しが必要なので移転直後はhttpsでは映りません。
「http」状態なら移設データの事前確認できますので、その方法をご紹介します。
SSL証明書を持ち込みできるかどうか
WEBサイトをサーバー移転させる際、移転先データを事前に確認するは必須の作業です。
移転前と移転先のデータに差異があれば修正していき、最終的に問題ない状態を相手に見せなければなりません。
HTML+CSSサイトなら簡単ですし、Wordpressでもhostsファイルを変更すれば確認できる事はこれまでも説明しましたね。
SSLサイトが多くなった
今までは問題は無かったのですが、最近はSSL化したWEBサイトが多くなりました。
SSLは、SSL証明書が発行されて初めて機能します。
SSL化したWEBサイトをサーバー移転させる場合、この証明書を持ち運べるか否かで事前確認の難易度が変わります。
SSL証明書を引き継げない場合がある
移転元サーバーのSSL証明書を、移転先に事前に持ち込み(引継ぎ)できる場合は問題ありません。
しかしレンタルサーバーの仕様などにより、SSL証明書の事前引継ぎができない場合もたくさんあります。
引継ぎができない場合は、DNSを切り替えした後に移転先で取り直す事になりますね。
WEBサイトが映らない
SSL証明書を事前に持ち込み・引き継ぎしない限り、https:で表示する事はできません。
つまり引っ越し直後にWEBサイトは、https:では映らないのです。
http:なら映りますが、検索のインデックス情報やお気に入りの記録は基本「https:」のはずです。
つまりユーザーにとっては映らなくなった事と同じなのです。
※わざわざhttps:の「s」表記を自分で取ったりまではしませんからね。
本記事ではSSL化したWordpressサイトを移転させるにあたり、証明書を引継ぎせずにできる限り事前確認する方法をご紹介します。
前提条件
まずは移転先サーバーのWordpressのデータが確認できる様に、hostsファイルの設定は済んでいるものとします。
さらにWordpressのSSL化には、「really-simple-ssl」などの強制プラグインを使っている場合を想定しています。
さらにデータベースファイルの操作が必要なので、phpMyAdminが使える事も必要です。
本記事で紹介する方法は、全てのケースにおいて有効な手段ではありませんのであらかじめご了承下さいませ。
Wordpressデータの移転・確認
まずは移転元と移転先のデータを完璧にそろえましょう。
Wordpressを移転先に初期状態でインストールします(なるべくバージョンを揃えます)。
通常のセオリー通りWordpress移転作業をおこなう
wp-content内のデータ(themes、plugins、uploads)をダウンロードして移転先にアップします。
移転元のDBデータをエクスポートし、移転先にインポートします。
ここはDBバックアッププラグインや、phpMyAdminなどを使いましょう。
wp_接頭語を合わせる
wp-config.phpに記述された接頭語(wp_などの表記)は、インポートしたテーブルデータ(名前の始まり)にあわせ下さいね。
ここまでは通常通りです。
hostsファイルを変更して確認
この状態で一度移転データを確認してみましょう。当然https:で表示させても映りませんね。
この時URLを手入力で「http:」に書き換えても、おそらくhttps:へリダイレクトされると思います。
HSTSが影響している
これはブラウザの機能(HSTS)の影響もあるので致し方ありません。
HSTSとは、2回目以降の通信を必ず「https」での通信にする様ブラウザに登録する設定の事です。
Wordpressログインページなどを開こうとしても、同じようにhttps表記にリダイレクトされて映らないはずです。
SSL化に影響しているものを解除する
それではいよいよhttps:へ強制している部分を解除していきます。
SSLプラグインの削除
まずは一旦アップロードしたreally-simple-sslなどのプラグインをサーバー側から消しましょう。
ローカルには元ファイルがあるはずので、いつでもアップできるようにしておいて下さい。
htaccessのリダイレクト解除
もしリダイレクト記述をしている.htaccessなどを設置しているのであれば、記述部分を消しましょう。
これもローカルファイルにバックアップを取っておき、いつでも上書きして復元できるようにしておきましょう。
phpMyAdminの操作
ここからサーバーにインストールされたデータベース操作ソフト「phpMyAdmin」を使います。
レンタルサーバーの機能として常設してある場合がほとんどですので、移転先サーバーのコントロールパネルから入りましょう。
上記は一例としてロリポップサーバーのデータベース画面をご紹介しています。
※phpMyAdminが無ければ、インストールする必要があります。
phpMyAdminへのログイン
まずはphpMyAdminへログインをします。ログインするには以下3つの情報が必要です。
・ユーザー名
・パスワード
・データベースのホスト名
これらはすべて移転先のwp-config.phpの中に記載がありますので、該当箇所を探してください。
上記の様な箇所がありますので、移転先のwp-config.phpを確認して下さい。
wp○○○○_options テーブルを編集する
ログインしたら、Wordpressに接続している各種テーブルの中で「options」で終わるテーブルを探します。
基本一つしかありませんので、見つけたらテーブル名をクリックします。
上記の様に、最上段の「siteurl」や「home」のそれぞれの欄に2つURLが表示されています。
ここには「https:」表記でアドレスが記述してあるので、左にある「編集」を押してURL表記を両方とも「http:」に書き換えます。
右下の実行を押して確認画面が出たらOKを押しましょう。2つを変更したらphpMyAdminの操作は一旦終了です。
TOPページ以外のページをhttp:で確認
これで先ほど事前確認したページを、http:表記に変えて確認してみましょう。
TOPページは依然としてhttps:へリダイレクトされるでしょうが、それ以外のページはhttp:表記に変更すると見えるはずです。
管理画面へ入る
Wordpressの管理画面へログインもする事ができるはずなので、http:表記にしたログイン画面を表示させてみましょう。
・http://ドメイン名/○○/wp-admin/
・http://ドメイン名/○○/wp-login.php
上記のいずれかでログイン画面を表示できるはずです。
Wordpressのログイン情報は移転元と同じですので、ログインすれば管理画面が開けるはずです。
移転前データと比較確認
移転前データと比較しながら修正をしていきます。
移設がきちんとできていれば、基本的に両者は全く同じデータのはずです。
ところがたまに、カスタムCSSや専用テンプレートの設定などが抜け落ちる場合があります。
その箇所は移転元と同じになる様に、移設先の管理画面から編集をしていきます。
今回はCocoonテーマを使っていましたが、タブ形式になった「Cocoon設定欄」が一式抜けていました。
TOPページはどうする?
事前確認ができなかったTOPページも丸一日程度たてばキャッシュがクリアされ、http:表記で映る様になります(私の場合はそうでした)。
TOPページは後回しで翌日にでも確認する事にし、それ以外のページを確認する事が先決です。
これで問題なければ事前確認は終了です。
http:で開けない場合
もしサブページがhttp:でも一切開けない状態の場合は、以下の手段を実施して下さい。
DBデータ上のURL記述自体が「https:」になっている可能性があります。
これらを一旦全て強制的にhttp:にする必要があります。
https://ドメイン名部分の一括変更
もう一度移転元からDBファイルをエクスポートしてきます。
そのDBファイル(.sqlファイル)をテキストエディタなどで開きましょう。
「https://ドメイン名」のURL部分を全て「http://ドメイン名」に変更します。
ソフトの一括置き換えを使う
サクラエディタの「置換」機能や一括変更用ソフトを使って、慎重にかつ一気にやってしまいましょう。
この時置換の対象とする単語は、https:だけではなくドメイン名まで全て含んで下さい。
そうしないと関係ない箇所まで変更してしまう恐れがあります。
前回インポートしたテーブルを削除して再度インポート
変換が終了したら、phpMyAdminを使って先ほどインポートしたDBテーブル群を削除し、改めてもう一度インポートします。
同じ名前のものが無ければ良いので、テーブル名のリネームでもOKです。
テーブルは上書き・置き換えがされない仕様であるためです。
上手くインポート出来たらもう一度http:で確認してみましょう。
これでサブページが表示できたり、Wordpressの管理画面にログインできる様になるはずです。
DNS切替後にSSL化する
ここまで来たら後はとにかく一旦DNSを切り替えて引っ越しをさせます。
タイムラグ(プロパゲーション)がありますが、これは仕方ありません。
すぐにSSL証明書を発行する
自分の環境でhttps:で映らなくなったら、すぐにレンタルサーバーでSSL証明書を発行しましょう。
証明書の発行には多少時間が掛かるので、その間に消していたプラグイン(really-simple-sslなど)はUPしておきます。
これまでhttp:に戻していた環境をhttps:へとSSL化していきます。
WEBサイトをSSL化して後は待つ
Wordpressの管理画面「設定」→「一般」のURL表記は、https:にしましょう。
リダイレクトを書いた.htaccessなども所定の位置にUPしておきます。
後はこまめにURLを確認して映るようになるのを待つしかありません。
スムーズにいけば映らなくなる時間は半日から1日程度で済むと思います。