【図解説】エックスサーバー内で別サーバーへ移行する手順

先日当社で契約していた2つのエックスサーバーの内、1つのサーバーの稼働率が下がったので、1つのサーバー内にあるドメインをもう1つのサーバーに移行しようと調べていたら、なかなか難儀しましたので、本記事で手順を紹介します。

事前に準備するもの

  • エックスサーバー×2(移転元と移転先の2つ)
  • FTPツール(FFFTPなど)

① (移転元) WordPressが使用する「MySQLデータベース」のエクスポートする

(参考)エックスサーバー:データベースを手動バックアップする

サーバーパネル画面から「MySQLバックアップ」をクリック。

「手動バック」タブをクリックしてから、ダウンロードするMySQLデータベースの「エクスポート実行」をクリックしてください。

「.spl」という拡張子のファイルがダウンロードされました。

② (移転元) WordPressのインストール先ディレクトリに設置された「wp-config.php」から情報のメモを控える

移転元のサーバーで「ファイルマネージャ」から「wp-config.php」内の情報を収集します。

エックスサーバーの「ファイルマネージャ」画面からログインしてください。

移転元のドメインを選んでください。

その中の「public_html」の中に「wp-config.php」があるので、選択後「編集」ボタンを押してください。

  下記4つの情報を控えてください。

—————————————-
/** WordPress のためのデータベース名 */ define(‘DB_NAME’, ‘************‘);
/** MySQL データベースのユーザー名 */ define(‘DB_USER’, ‘************‘);
/** MySQL データベースのパスワード */ define(‘DB_PASSWORD’, ‘************‘);
/** MySQL のホスト名 */ define(‘DB_HOST’, ‘************‘);
—————————–

※移転先のMySQLホスト名は「サーバーパネル > MySQL設定」のMySQL5.7 ホスト名(●●.xserver.jp と記載されている箇所)をご確認ください。

③ (移転元) サーバー上のデータをバックアップする

エックスサーバーからwordpress上のデータファイルをバックアップ(ダウンロード)していきます。

移転元のサーバーパネル画面の「バックアップ」をクリック。

サーバー移転したいドメイン(例: abc.com)の「ダウンロード」ボタンを押してください。

ダウンロードされたファイルは「tar.gz」という拡張子でダウンロードされます。 後からFTPツールを使って別サーバーにアップロードする際には、「tar.gz」という圧縮ファイルを一度解凍する必要があるので、「tar.gz」の圧縮に対応するツールを別途ダウンロードして使用してください。

(参考)「tar.gz」を解凍できるおすすめツール「Lhaplus

④ (移転元) サーバーパネルよりドメインの設定を削除する

次に移転元のサーバーパネルからドメイン設定を削除していきます。

【注意】 サーバーパネルからドメインを削除すると、ドメインにアップロードされているwordpressなどの情報がすべて削除されるので注意してください。

サーバーパネル画面から「ドメイン設定」をクリック。

「削除」ボタンを押して、移転元のサーバーからドメインを削除してください。

⑤ (移転先) サーバーパネル画面からドメインを追加する

続いて、移転先のサーバーパネル画面から「ドメイン設定」をクリック。

「ドメイン設定追加」タブをクリックして、移転するドメインを追加設定していきます。 fv 確認画面です。「追加する」ボタンを押して完了です。

⑥ (移転先) ②で控えた情報で、MySQLデータベース、MySQLユーザーの追加、MySQLアクセス権の設定する

(参考)MySQLの設定手順

・MySQL(データベース)の追加
・MySQLユーザの追加
・MySQLアクセス権の設定

※控えた情報と同じパスワードで追加をお願いいたします。

⑦ (移転先) WordPressが使用する「MySQLデータベース」のインポート

(参考)WordPressの移転について:データベースのインポートする

※データをインポートする際は、インポートできる「.zip」などの拡張子でインポートするようにしましょう。

⑧ (移転先) ③でバックアップしたデータをサーバー上へアップロードする

サーバーへアップロードする際は、FTPツールを使ってアップロードしましょう。おすすめのFTPツールは「FFFTP」です。

⑨ (移転先) ②で控えた『wp-config.php』の4つの情報を移転先の情報に合わせて編集する

エックスサーバーの「ファイルマネージャ」画面からログインしてください。

移転先のドメインを選んでください。

その中の「public_html」の中に「wp-config.php」があるので、選択後「編集」ボタンを押してください。

  下記4つの情報を控えていた情報を元に赤文字部分を編集してください。

—————————————-
/** WordPress のためのデータベース名 */ define(‘DB_NAME’, ‘************‘);
/** MySQL データベースのユーザー名 */ define(‘DB_USER’, ‘************‘);
/** MySQL データベースのパスワード */ define(‘DB_PASSWORD’, ‘************‘);
/** MySQL のホスト名 */ define(‘DB_HOST’, ‘************‘);
—————————————-

※移転先のMySQLホスト名は「サーバーパネル > MySQL設定」のMySQL5.7 ホスト名(●●.xserver.jp と記載されている箇所)をご確認ください。  

⑩ (移転先) WordPressへアクセスが可能なことを確認していただく

①~⑨の手続きができたら、実際にURLにアクセスしてみてください。

上記のような画面が表示されたら、まだプログラムの反映待ちである可能性があるので、最大24時間待ってからアクセスしてみよう。

移転先サーバーでサイトが表示されない場合

上記の手順でエックスサーバー間で直接的なドメインの移転しても、下記の理由によって一時的にホームページが表示されないなどの問題が発生することがあります。

エックスサーバーの仕様上、同一のドメインを複数のサーバーアカウントに追加することができません。   先に現在のサーバーから該当ドメインの設定を削除した後、新サーバーにて設定を追加する必要があります。

【注1】 ドメインの設定を削除すると、 メールアカウントを含むホームページ構成ファイルなど、 該当ドメインに関するすべてのデータがサーバー上から 削除されるので注意してください。

【注2】 サーバー上にメールデータが残存しており、 そのメールデータをFTPソフトなどでバックアップする場合、 Windows系のOSではファイル名として利用できない文字列が メールのファイル名に利用されていることがあります。

この場合、PCに保存する際にエラーが発生することや 移動先にメールデータをアップロードされた際に メールデータが破損することがございますので注意してください。

DNS情報の浸透に必要な時間(数十分~24時間程度)

エックスサーバー内のサーバー間でドメインを移動させた場合でもネームサーバー変更時と同様に、DNS情報が浸透するまで最大で24時間程度を必要とします。

DNS情報の浸透が完了すると、移動先のサーバーが見れるようになりますが、浸透が完了するまでの間は、ドメインの追加が削除されている移転元のサーバーにアクセスされ、WEBサイトが正常に表示されません。 (メールも同様に、正常に受信ができなくなります)

そのため、エックスサーバーのサーバーアカウント間で直接的にドメインを移転される場合、ホームページの表示やメールの送受信が一時的に途切れてしまうこととなります。

ホームページの表示・メール受信を全く途切れさせないためには、一旦、他社サーバーなどエックスサーバー以外のサーバーへ移転していただき、エックスサーバー(移転元)→他社サーバー→エックスサーバー(移転先)のように、他社サーバーを経由しての移転作業が必要になります。