中上級者向けのレンタルサーバーとして人気のエックスサーバー。
僕が管理しているほぼすべてのサイトもエックスサーバーで運営しているんですが、特段トラブルもなく快適に使えています。
その快適さから、しばらくはサーバー移転をすることもないだろうな〜と思っていたんですが、実は、ある事情で最近サーバーを移転しました。
移転先は同じくエックスサーバー。
事情は後述しますが、要するにエックスサーバー内でのサーバー移転です。
今回はその移転方法や注意点をご紹介するので、参考にしていただければと思います。
移転手順
同じレンタルサーバー上での移転ということもあり、移転自体はとても簡単です。
参考WordPressでの移転を例に進めていきます。
バックアップ
- WordPressのファイル(画像やテーマなど)
- MySQLデータベース(記事データやメタ情報など)
の2つをダウンロードします。
BackWPUpなどのプラグインを使っていればそのファイルを、なければ、それぞれエックスサーバーの管理画面からダウンロードしてください。
WordPressファイルのダウンロード
サーバーパネル→バックアップの中でダウンロードできます。
MySQLデータベース
サーバーパネル→MySQL設定の中でダウンロードできます。
(エクスポートするテーブルなどを選択する場合はphpmyadminにて)
移転先サーバーでMySQLデータベース追加
移転先のサーバーでMySQLデータベースを追加します。
- ユーザー名
- データベース名
- パスワード
- ホスト名
はこの後も使うので、忘れずに控えておいてください。
ホスト名は「mysql〇〇.xserver.jp」という形です。
ファイル修正
ダウンロードしたファイルを移転先の情報に合わせて適宜修正します。
wp-config.php
自分のドメイン直下にあります。
- データベース名(DB_NAME)
- ユーザー名(DB_USER)
- パスワード(DB_PASSWORD)
- ホスト名(DB_HOST)
をそれぞれ先ほど追加した移転先のデータべース情報に修正します。
MySQLデータベース
移転元でエクスポートしたMySQLデータベース(記事データやメタ情報)です。
このファイルをコードエディタなどで開き、「サーバーID」を移転元から移転先へと一括変更します。
サーバーIDはホスト名とは違い、サーバーを契約する時に自分で決める任意の文字列です。
.htaccess
不可視ファイルと呼ばれるファイルです。
少し前のエックスサーバーのアップデートにより、デフォルトだと高速化に関する処理と共にサーバーIDが記載されているので、それをMySQLの変更と同じように移転元から移転先へと一括変更します。
.htaccessの表示方法などはこちらの記事で詳しくご紹介しています。
MySQLデータベースのインポート
修正済みのMySQLデータベースを移転先にインポートします。
移転先のサーバーパネル→phpmyadminへと進みログイン。
(ログイン情報は追加する時に決めたユーザー名とパスワードです)
追加したデータベース名をクリックし、インポートします。
WordPressファイル一式をアップロード
移転元でダウンロードしたWordPressファイル(画像やテーマなど)をFTPソフトかファイルマネージャーでアップロードします。
(このファイルの中には先述の「wp-config.php」と「.htaccess」も含まれています)
アップロードする場所はルートフォルダになり、ドメイン名のフォルダが形成されている場所です。
例えば当サイトであれば、「fantastech.net」というフォルダ毎ここにアップロードします。
サイトの規模やネット環境にもよりますが、画像などのデータがある関係でアップロードにかなり時間がかかるのでご注意ください。
僕は普段「Cyberduck」というソフトを使っているですが、あまりにも時間がかかっていたため「FileZilla」の最大同時転送数を6にしてアップロードしました。
ドメインの削除と追加
最後に、
- 移転元のサーバーでドメイン削除
- 移転先のサーバーでドメイン追加
と進めば移転作業は完了です。
移転元でSSL化していた場合は、ドメイン追加と同時にSSL化してくださいね。
また、理由は後述しますが、この作業はなるべく早く終わらせる必要があります。
注意点
さて、今回のエックスサーバー内でのサーバー移転ですが、サイトの規模によってはおすすめできません。
というのも、エックスサーバー内でのサーバー移転の場合、
- 移転元のサーバーと紐付かなくなる(ドメインを削除するため)
- 移転元でドメインを削除しなければ移転先でドメインを追加できない
といった理由から、必然的にサイトが表示されない時間(期間)が発生してしまうからです。
エックスサーバーでは仕様上、すでにいずれかのサーバーIDで運用中のドメイン名を他のサーバーIDに重複して設定することができません。
そのため、エックスサーバー間でドメイン運用サーバー(サーバーID)を変更する場合、現在該当ドメイン名を運用中のサーバーID(以下「移行元サーバー」と呼びます)からドメイン設定をいったん削除し、改めて移動先のサーバーID(以下「移行先サーバー」と呼びます)でドメイン設定を追加する必要があります。
(中略)
なお、ドメイン設定先サーバーの変更に際しては、DNSレコードの浸透に時間がかかるため、数時間から最大24時間程度、ホームページやメールが利用できない時間が発生いたします。
あらかじめご了承くださいますようお願いいたします。
異なるサーバーIDへドメイン運用サーバーを変更したいです。
みなさんもよくご存知だと思いますが、サーバー移転をする場合、移転元のサーバーと移転先のサーバーを両方稼働させる必要があります。
なぜなら、サーバー切り替えと同時に移転先のサーバーだけが参照されるようになるわけではなく、移転元と移転先のサイト両方が参照される期間があるからです。
しかし、エックスサーバー内でのサーバー移転の場合、ドメインを削除するため、簡単に言うと「移転元サイトが稼働していない状態」になってしまいます。
実際、僕の管理サイトも正常にサイトが表示されるまで数時間かかりました。
ですので、アクセスが少ないサイトや実験で運営しているようなサイトならともかく、収益がしっかり発生するようなサイトのエックスサーバー内でのサーバー移転はおすすめしません。
他のレンタルサーバーを経由するのがベスト
ここまでの内容を踏まえると当然ですが、ベストな選択肢はエックスサーバー以外のレンタルサーバーを経由することです。
サイト稼働が重複するので、移転作業でミスをしない限りユーザーがサイトにアクセスできなくなることはありません。
移転先は他社レンタルサーバーでも良いですが、僕のおすすめはwpXレンタルサーバーです。
- 同じエックスサーバー株式会社が運営するレンタルサーバー
- スペックがエックスサーバーとかなり近い
といった理由から、移転先にぴったりかと。
ただ、WordPressサイト限定のレンタルサーバーになるので、HTMLベースのサイトや他のCMSを使っている場合は他社のレンタルサーバーへの移転になります。
もしくは、この機会に上位サーバーである「シックスコア」にしても良いかもしれませんね。
エックスサーバー内でサーバー移転をするケースとは?
冒頭の「事情」の説明になりますが、僕が今回エックスサーバー内でのサーバー移転をしようと思った理由は「サーバーIDが気に入らなかった」からです(笑)
特定のサイトの名前をサーバー名にしてしまい、「なんかサーバー名っぽくないな〜」ってずっと気になってたんですよね。
ただ、サーバーIDの変更はできないので、それなら移転しよう!…と。
(すごくどうでもいい理由でごめんなさい!笑)
ただ、真っ当な移転理由も考えられます。
例えば、一つのサーバーで複数サイトを運営、その中の一つがアクセス過多。移転先は同じくエックスサーバーが良い…なんて場合ですね。
転送量の関係からサーバーを移転した方が快適に稼働する可能性が高いので、サーバー移転したい理由としては十分考えられるのではないでしょうか?
まとめ
- エックスサーバー内でのサーバー移転は簡単
- ただ、サイトが稼働しない時間が必ずあるためメインサイトの移転はおすすめしない
- ダメージをなくすためには他のレンタルサーバーを経由するのがベストプラクティス
以上がこの記事のまとめです。
ちなみに僕は、使い勝手がなかなか良かったという理由からそのままwpXレンタルサーバーでサイト運営することにしました。
またサーバー移転する手間もないですし、重いキャッシュ系のプラグインも外せたので、WordPressでサイト運営している方はご参考までに。