先日、当サイトで利用しているレンタルサーバーをさくらインターネットからエックスサーバーに移行(引っ越し)しました。サーバーを移行するにあたり、無料SSL対応を実施したさくらインターネットの環境からエックスサーバーへ移行するには手順を誤ると移行がうまくいかないという情報もあり、色々と調べながらサーバーの移行を実施しました。
今後、同じように「無料SSL対応を実施したさくらインターネットのWordPress環境をエックスサーバーへと移行したい」という方の参考になればと思い、以下の通り移行方法を解説いたしますのでご参考にいただければ幸いです。
※英語学習とは全く関係ない内容です
全体の流れ
無料SSL対応をしたさくらインターネットからエックスサーバーへの移行の全体の流れは以下の通りです。
1.エックスサーバーの契約
2.エックスサーバーでのドメイン設定
3.さくらインターネット側での無料SSL対応の解除
4.さくらインターネットのMySQLデータベースのエクスポート(ダウンロード)
5.さくらインターネットのWordPress全体のエクスポート(ダウンロード)
6.エックスサーバーへのMySQLデータベースのインポート(アップロード)
7.エックスサーバーへのWordPress全体のインポート(アップロード)
8.DNSサーバーの変更
9.エックスサーバーでの無料SSL対応
10.さくらインターネットの解約
以下、各ステップ毎に説明していきます。
1.エックスサーバーの契約
まず、移行先であるエックスサーバーの環境がないと移行ができないのでサーバーの利用契約を行います。
エックスサーバーのプランはX10、X20、X30がそれぞれ用意されており、ディスクスペースの利用量や管理できるデータベース数等に違いがあります。運営しているサイトの数や性質に応じてプランを選べばよいと思いますが、個人運営レベルのサイトであれば一番安いX10で十分かと思います。
エックスサーバーのウェブサイトにアクセスをして、申し込みフォームを埋めて送信するだけで申し込みは完了します。サーバーID(初期ドメイン)に関しては、独自ドメインを利用する場合であれば初期ドメインはあまり利用することはないと思いますので、それほどこだわらずにサーバーIDを決めてしまって問題ないかと思います。
ちなみにお試し利用の期間は、メールアドレスの追加ができません。メールアドレスも新しい環境ですぐに使う必要がある方は、サーバ移行が完了次第すぐに本契約へと移行することをおすすめします。
2.エックスサーバーでのドメイン設定
申込みが完了すると「お申し込み受付のお知らせ」というメールが送られてきて、その後サーバー側の設定が完了(1時間から数時間程度時間がかかります)すると「サーバーアカウント設定完了のお知らせ」というメールが送られてきます。「サーバーアカウント設定完了のお知らせ」が送られてくると、管理画面へのログインが可能です。
管理画面は契約情報等を管理する「インフォパネル」と、サーバー情報を管理する「サーバーパネル」とがありますが、サーバー移行関連の作業は全て「サーバーパネル」上で実行します。
「サーバーアカウント設定完了のお知らせ」に記載されたID・パスワードでサーバーパネルにログインをして「ドメイン設定」をクリックして設定を進めていきます。
「ドメイン設定」の中にある「ドメイン設定追加」のタブを選択して、設定するドメイン名を入力します。サーバーの移行にあたっては、さくらインターネット側でSSLを一旦解除した上でエックスサーバーへと移行し、移行が完了した際に市アド無料SSL対応を行う形になるので「無料独自SSLを利用する(推奨)」のチェックは(推奨)と記載がありますがチェックを外して進めていきます。(まずはSSLを利用しない環境で移行を実施していきます)
設定を進めようとすると、ドメインのネームサーバーの設定がさくらインターネットのネームサーバーになっているため、以下のような警告が表示されるかと思います。まだネームサーバーの設定は変更していないので、問題ありませんのでこのまま進めて大丈夫です。
追加作業が完了すると「反映待ち」というステータスになります。
数十分から1時間程度で以下の通り「反映待ち」のアイコンが消え、ドメインの設定は完了です。
3.さくらインターネット側での無料SSL対応の解除
さくらインターネット側で無料SSL対応を解除するために実施することは、専用プラグインの停止とコントロールパネルからの設定です。
専用プラグインの停止は、WordPressの管理画面の「プラグイン」>「インストール済みプラグイン」から実施します。以下の「SAKURA RS WP SSL」を停止すれば完了です。
次に、コントロールパネルにログインして、SSLの設定を解除していきます。
「ドメイン設定」の中の「ドメイン/SSL設定」をクリックします。
該当するドメインの「変更」をクリックし、「共有SSL、SNI SSLを利用しない」にチェックを入れて設定します。
この時点で無料SSL対応させたものは元に戻り、管理画面のURLをhttps://からhttp://に変更することでSSL対応されていないアクセスができるはずです。
・・・が、私の場合もそうでしたが以下のようになってしまうこともあるようです。
サーバーに何もアップされていない、さくらインターネットの初期画面が開いてしまいました。「全て消えてしまったのでは・・・」と焦りますが、消す作業などしていないので消えてしまうはずがありません。落ち着いて対応しましょう。
私の場合、原因は専用プラグインの停止をしたにも関わらず、.htaccessの301リダイレクトの設定がそのまま残っていたことが原因でした。つまり、コンテンツはhttpにあってhttpsにはないにも関わらず、リダレクト設定でhttpsに飛ばされていたので初期画面が表示されていたということです。
具体的には、.htaccessの”#BEGIN Force SSL for SAKURA”から”#END Force SSL for SAKURA”の部分は、SSL対応を解除して移行する上では不要の記述なので、万一残っていたら削除してしまいましょう。
4.さくらインターネットのMySQLデータベースのエクスポート(ダウンロード)
続いてデータベースのエクスポートです。コントロールパネルから「データベースの設定」>「管理ツールログイン」へと進みます。少し分かりづらいですが、以下赤枠のところです。
パスワードを入力してログインすると、phpMyAdminという普段あまり見慣れない画面が開くと思います。(滅多にアクセスすることのない画面だけにパスワードを覚えていないという方もいらっしゃるかと思いますが、データベースを作成したときに設定しているはずです)
画面左側からデータベースを選択し、上のエクスポートのタブをクリックします。「DB のダンプ(スキーマ)表示」の中の「エクスポート」では、全選択されて「SQL」のラジオボタンにチェックが入っていると思いますのでここはいじりません。唯一いじるところは、右側「オプション」の中の「DROP TABLE / VIEW / PROCEDURE / FUNCTION / EVENT を追加」というところにチェックを入れるのみです。
「実行する」をクリックすると、データベースのエクスポート(ダウンロード)が開始されます。データベースは.sqlというファイルで保存されるはずです。後ほどエックスサーバー側にインポート(アップロード)する必要があるので、わかりやすいところに保存しておきましょう。データベースのサイズにもよりますが、エクスポートには少し時間がかかります。
5.さくらインターネットのWordPress全体のエクスポート(ダウンロード)
次は、WordPress全体をさくらインターネットの環境からエクスポート(ダウンロード)します。ダウンロードの仕方はFTPソフトを使うと便利ですが、さくらインターネットの場合コントロールパネルからアクセスできる、ファイルマネージャーを利用してダウンロードをすることも可能です。以下、ファイルマネージャーを使ってダウンロードを実施した際の画面です。ファイルを全選択して、ダウンロードをクリックして待つのみです。
6.エックスサーバーへのMySQLデータベースのインポート(アップロード)
工程4でエクスポートしたデータベースを、エックスサーバーの環境にインポートする作業に移りますが、最初にデータベースそのものの作成をします。
まず、サーバーパネルから「MySQL設定」に入ります。
MySQL追加のタブをクリックし、データベースを追加します。データベース名は、さくらインターネットのデータベース名と同じである必要はありません。
続いてMySQLユーザ追加のタブをクリックし、ユーザを追加します。
ユーザの追加が完了したらMySQL一覧タブに戻り、「アクセス権未所有ユーザ」から先程追加したユーザを選択し、追加をクリックします。これでデータベースそのものの設定が完了しますので、データベースインポートの作業へと進みます。
サーバーパネルからphpmyadmin(MySQL5.7)をクリックすると、別画面でphpMyAdminの画面が開きます。データベースをエクスポートしたときと同じように、該当するデータベースを左側から選択し、上部の「インポート」のタブをクリックします。
アップロードファイルから「ファイルを選択」をクリックし、先程エクスポートしたデータベース(.sqlという拡張子のファイル)を選択して「実行」をクリックします。
正常にアップロードされると、以下のような画面が表示されてインポート完了です。
データベースのサイズが大きかったり、ネットワークが不安定だったりするときにタイムアウトのエラーが発生することがあります。この場合、再度データベースをアップロードすると途中からアップロードの再開をしてくれますので、一度でうまくいかなくても焦らずアップロードを試みてください。
7.エックスサーバーへのWordPress全体のインポート(アップロード)
次に、先程エクスポートしたWordPress全体をエックスサーバーの環境にアップロードします。
データベースの場合はエクスポートしたデータベースをそのままアップロードすれば問題ありませんでしたが、こちらはアップロード前に一部修正が必要となるのでアップロード前にその作業を完了します。
修正が必要なファイルは”wp-config.php”というファイルで、このファイルの中にデータベースを指定する記述があるので、その内容を修正します。具体的にはDB_NAME、DB_USER、DB_PASSWORD、DB_HOSTの4つです。DB_NAME、DB_USER、DB_PASSWORDについては工程6で自分で設定したものになります。DB_HOSTについては、エックスサーバーのサーバーパネルの中のMySQL設定の中に「MySQL5.7 ホスト名」という項目がありますので、それを転記する形となります。
また、.htaccessの中にさくらインターネットのSSL設定のための記述が残っていると動作に影響がある可能性があるので、念の為確認しておきましょう。
ファイルのアップロードは、さくらインターネット同様、FTPソフトを利用してもエックスサーバーのファイルマネージャー(WebFTP)を利用しても大丈夫です。但し、zip等で圧縮しない形でアップロードすると相当の時間がかかることを見込んでおいたほうがよいでしょう。なお、アップロード先はpublic_html直下となりますので、間違えないように注意しましょう。
8.DNSサーバーの変更
DNSサーバーの変更は、ドメインの管理先で実施します。さくらインターネットでドメインを管理していればさくらインターネット側で作業を行う必要がありますし、お名前.comのようなところでドメインを管理していればそちらで実施します。
エックスサーバー指定のネームサーバーは以下の通りです。
ネームサーバー1 | ns1.xserver.jp( 219.94.200.246 ) |
---|---|
ネームサーバー2 | ns2.xserver.jp( 210.188.201.246 ) |
ネームサーバー3 | ns3.xserver.jp( 219.94.200.247 ) |
ネームサーバー4 | ns4.xserver.jp( 219.94.203.247 ) |
ネームサーバー5 | ns5.xserver.jp( 210.188.201.247 ) |
ネームサーバーの変更が反映されるのには少し時間がかかる(数十分~数時間程度)ので、すぐに反映されなくても焦らないようにしましょう。
9.エックスサーバーでの無料SSL対応
ここまで完了したら、エックスサーバー側で無料SSLに対応させる作業を行います。
サーバーパネルの「ドメイン」の中にある「SSL設定」をクリックします。「独自SSL設定の追加」のタブをクリックし、「独自SSL設定を追加する」をクリックすれば設定完了です。ドメインの設定を行ったときと同様に、設定直後は「反映待ち」と表示されていますが、時間が経過すると自動的に設定は完了します。さくらインターネットでの無料SSL対応のように、専用のプラグインを入れたりする必要はありません。
設定が完了したら、https://というURLでアクセスできるかを確認しましょう。また、httpのアクセスを自動的にhttpsにリダイレクトさせたい場合には、.htaccessの中に301リダイレクトさせる記述が必要です。具体的には以下の通りです。
RewriteEngine On RewriteCond %{HTTPS} !on RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
10.さくらインターネットの解約
移行が全て完了したら、さくらインターネットの解約手続きをして全て完了です。データの移行忘れ等があった場合に備えて、一定期間はそのまま契約を残しておくことをおすすめします。
また、エックスサーバーをお試し環境で利用している場合は、一定期間で使えなくなってしまいますので正しく環境が移行できたことを確認でき次第、本契約の手続きをお忘れなく。
お疲れ様でした!!