先日当社で契約していた2つのエックスサーバーの内、1つのサーバーの稼働率が下がったので、1つのサーバー内にあるドメインをもう1つのサーバーに移行しようと調べていたら、なかなか難儀しましたので、本記事で手順を紹介します。
この記事で分かること
- 1 事前に準備するもの
- 2 ① (移転元) WordPressが使用する「MySQLデータベース」のエクスポートする
- 3 ② (移転元) WordPressのインストール先ディレクトリに設置された「wp-config.php」から情報のメモを控える
- 4 ③ (移転元) サーバー上のデータをバックアップする
- 5 ④ (移転元) サーバーパネルよりドメインの設定を削除する
- 6 ⑤ (移転先) サーバーパネル画面からドメインを追加する
- 7 ⑥ (移転先) ②で控えた情報で、MySQLデータベース、MySQLユーザーの追加、MySQLアクセス権の設定する
- 8 ⑦ (移転先) WordPressが使用する「MySQLデータベース」のインポート
- 9 ⑧ (移転先) ③でバックアップしたデータをサーバー上へアップロードする
- 10 ⑨ (移転先) ②で控えた『wp-config.php』の4つの情報を移転先の情報に合わせて編集する
- 11 ⑩ (移転先) WordPressへアクセスが可能なことを確認していただく
- 12 移転先サーバーでサイトが表示されない場合
事前に準備するもの
- エックスサーバー×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データベース」のインポート
※データをインポートする際は、インポートできる「.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サイトが正常に表示されません。 (メールも同様に、正常に受信ができなくなります)
そのため、エックスサーバーのサーバーアカウント間で直接的にドメインを移転される場合、ホームページの表示やメールの送受信が一時的に途切れてしまうこととなります。
ホームページの表示・メール受信を全く途切れさせないためには、一旦、他社サーバーなどエックスサーバー以外のサーバーへ移転していただき、エックスサーバー(移転元)→他社サーバー→エックスサーバー(移転先)のように、他社サーバーを経由しての移転作業が必要になります。