【だれでも簡単】手動でレンタルサーバーを移転する方法・手順【WordPress】

最近初めてWordPressのサーバー移転を行いました!
だいぶハードルが高いことだと思っていましたが、やってみると意外と難しくない。

ただやはりちょっとしたトラブルがあったりなんかしましたが…

せっかくサーバー移転をうまく完了させたので、その備忘録とともに、誰かのためにその方法について共有したいと思いました。

そんなに難しくはないですので、心配しないでください!
それでは誰でも簡単にできるレンタルサーバーの移転手順をご紹介していきます~

ちなみに今回はエックスサーバーの画面を例に解説していきますが、大まかな設定方法などは各サーバー共通の方法で解説していきますので、ご安心ください。

スポンサーリンク

レンタルサーバーを移転するにあたり重要な事

レンタルサーバーを移転するにあたり重要なことがあります。

それは「サイトが表示されない期間を0(ゼロ)にすること」です。
つまりサーバーを移転したからと言って、サイトが表示されなくなる期間を作らないことが重要となります。
レンタルサーバーの移転は少しずつ実行されていきます。

早ければ数時間、遅いと24時間以上かかると言われています。

「サイトが表示されない期間を0(ゼロ)にすること」を実現するためには、移転先と移転元の新旧サーバーどちらでもサイトが表示されるようにしておく必要があります。
そのため移転の手順が終わったからといって、すぐに旧サーバーの契約を終了したり、旧サーバー上に残っているデータを削除してはいけません

万が一に備えてしばらくは旧サーバーでもファイルを破棄せず、しばらくそのままにしておくことが重要です。
つまり、サーバー移転には、旧サーバーの契約期間に少し余裕がある状態で行うのがベストであると言えます。

サーバー移転の大まかな流れ

サーバー移転を行うにあたってまずは手順の大きな流れについてご紹介したいと思います。

サーバー移転の流れ

  1. サーバーファイル・データベースのバックアップ
  2. 移転先サーバーでドメインの設定
  3. 移転先のサーバー・データベースにバックアップデータをアップロード
  4. wp-config.phpの編集
  5. 動作確認
  6. ネームサーバーの変更
  7. SSL設定

このような手順でサーバーを移転していきます。
それではさっそくやっていきます!

サーバーファイル・データベースのバックアップ

まずは現在使用しているレンタルサーバー上にあるデータを現在使用しているパソコンなどにダウンロードします。
つまりまずはバックアップを取るということです。

バックアップをとるデータは、サーバー上にあるWordPress等のデータSQLのデータベースデータの2つに分かれます。
それぞれのバックアップ方法についてご紹介していきます。

サーバー上のWordPressデータをバックアップ

サーバー上のデータをバックアップする場合は、Filezilla等のFTPソフトを使用します。
基本的にはすべてのファイルのファイルをバックアップとして取っておくと安心です。

FTPソフトを使って、現在使用しているレンタルサーバーにアクセスします。
WordPressのファイルが入っているドメイン名のファイルを全てバックアップとしてダウンロードしてください。

別に最低限でいいという場合は、【public_html】内のファイルをバックアップしてください。
ちなみに実際に使用するのはpublic_html内のファイルです。

SQLデータベースをバックアップ

お次はデータベース内のデータのバックアップを取っていきます。
レンタルサーバー等のログイン画面から「phpmyadmin(mySQL)」にアクセスします。

ちなみに以下の画像はエックスサーバー上の画面です。

phpmyadminにログインしたら、①バックアップを取りたいデータベース名を選択し、②画面上部のエクスポートをクリックします。

エクスポーポート画面になったら、①エクスポート方法を「詳細」に選択し、②テーブルが「全選択」になっていることを確認します。

確認ができたら、「実行」をクリックします。

無事にエクスポートができたら、バックアップ完了です。

ちなみに上記の方法で1つのサイトのバックアップが取れました。
複数のサイトを運用している場合は、全てのサイトについて上記の手順を行ってください。

移転先サーバーでドメインの設定

次は移転先となる新サーバーの方で、移転したいサイトのドメインを追加していきます。
この時注意したいのが、「ドメインを間違えない事」です!

一文字でも間違えると大変なことになるので、基本的にはコピペでドメインを追加していきましょう!

ちなみに他サーバーの場合はわかりませんが、エックスサーバーの場合は、ネームサーバーをエックスサーバーのものに変更した後でなければSSLの設定をすることができませんので、ご注意ください。

移転先のサーバー・データベースにバックアップデータをアップロード

こちらも移転先である新サーバーでの作業となります。
先程バックアップを取ったサーバー上のWordPressファイルと、データベースのバックアップをアップロード&インポートしていきます。

WordPressのファイルをアップロードする

今度は先程の逆の作業をやっていきます。
まずは再びFTPソフト等を使って、WordPressのファイルを新サーバーにアップロードしていきます。

先程は念のためドメイン名のフォルダごとバックアップとしてダウンロードしましたが、実際に使用するのは、「public_html内のファイル」となります。
例としてpublic_html内の具体的なファイルを挙げると、「wp-admin」や「wp-content」等のファイルがある階層です。

新サーバーのサーバー上にアップロードしますが、そのアップロード先は、「public_html」の中です。
先程ダウンロードしたドメイン名のフォルダにあるpublic_html内の全てのファイルを、新サーバーの「public_html」フォルダ内にアップロードしてください。

データベースバックアップをインポートする

先程移転元の旧サーバー内のphpmyadminでエクスポートしたデータベースのバックアップを新サーバーのデータベースにアップロードしていきます。

アップロードをする前にまだ移転先の新サーバーでデータベースを作成していない場合は、データベースの作成及びユーザーの追加などデータベースに関する設定を行いましょう
ちなみにこの設定で作成した「データベース名」や「パスワード」等は後ほど使うので、ちゃんと覚えておいてください。

データベースを作成したら、バックアップデータをインポートしていきます

先程のように新サーバーの方でphpmyadminにアクセスしてください。

アクセスできたら、新しく作成したデータベース名を選択し、インポートをクリックします。

先程旧サーバーのphpmyadminでエクスポートしたデータベースのバックアップファイル(ちなみに拡張子は.sqlのファイル)を選択し、実行してください。
無事にエクスポートが出来たらサーバー上にアップロード・インポートする作業は終了です。

wp-config.phpの編集

アップロードとインポート作業が終わったら次はファイルの編集をしていきます。

編集するファイルは「wp-config.php」と呼ばれるファイルで、データベースとの接続をする等の働きをするファイルです。
先程新サーバーにアップロードした「public_html」内にあり、「wp-admin」や「wp-content」と同一の階層にありますので、探してみて下さい。

コチラ「wp-config.php」のファイルをテキストエディタ等で編集していきます。
config.phpのファイルの編集個所は以下の通りです。

define('DB_NAME', '①MySQLデータベースのデータベース名を入力');

define('DB_USER', '②MySQLデータベースのユーザー名を入力');

define('DB_PASSWORD', '③MySQLデータベースのパスワードを入力');

define('DB_HOST', '④MySQLのホスト名を入力');

上記の①~④の個所を新しいサーバー上のデータベース情報に修正していきます。

最初にwp-config.phpを開いた状態では、旧サーバーで使っていたデータベース名が入力されています。
こちらでは先程移転先の新サーバーで新たに作成した、データベースの情報に書き換えていきます。

ちなみに④のホスト名ですが、新サーバーのデータベース管理画面等で利用しているサーバーのデータベースホスト名が書かれているはずなので、「サーバーのログイン画面から」ホスト名という文字を探してみてください。

各コードを書き換えたらwp-config.phpのファイルを保存し、アップロードなどして新サーバー上のwp-config.phpのファイルを最新の状態にしてください。

動作確認

特に問題なくここまでの手順が終わったら、実際にサイトが表示可能の状態になっています。

しかし、この時点でインターネット上に公開されているサイトは、まだ旧サーバー上にあるサイトのファイルとデータベースによって表示されており、ネームサーバーを新サーバーのものに変更することで、新サーバー上のファイルによってサイトが表示されます。
そのため、移転先の新サーバー上にアップロードされているファイルで問題なくサイトが表示されるかどうかは、サイトURLにアクセスしても確認することができません。

そんな時の為に、新サーバー上でサイトが表示されるか確認できる方法もちゃんとあります。
方法としては以下の2つです。

  1. 動作確認URLで確認する
  2. パソコン上のシステムファイルであるhostsファイルを使って確認する

hostsファイルを使って確認する方法については以下の記事で紹介していますので、こちらをご参考ください。

hostsのファイルを使ってサーバー移転の動作確認をする方法【wordpress】
サーバー移転をしたときには「動作確認」を欠かすことができません。 動作確認をする方法としていくつかりますが、今回はその1つであるパソコンのシステムファイル内にある「hosts」というファイルを使って動作確認をする方法をご紹介します。 ...

それぞれの方法に関する特徴については以下の通りです。

hostsファイル動作確認の特徴
  • ○:WordPressにログインできるため詳細まで動作確認が可能
  • ×:作業が多くめんどい
  • ×:常時SSL化サイトの場合はあまりメリットがない
動作確認URLの特徴
  • ○:手軽に動作確認ができる
  • ×:詳細までの動作確認をすることができない

当記事では「動作確認URL」での確認方法についてご紹介します。

動作確認URLでのテスト方法

動作確認URLはほとんどのレンタルサーバーの機能として備わっているはずです。
エックスサーバーの場合は、「サーバーパネル」から設定することができます。
他のサーバーの場合は、レンタルサーバーログイン後、「ドメイン」に関する設定画面あたりにあることが多いので、探してみて下さい。

【動作確認URL設定追加>ドメインを選択>追加する】で動作確認URLを設定できます

この設定後しばらく経過しないと動作確認ができないので、ちゃんと反映されるまで、しばらく待ちましょう。

ちなみにサイトを常時SSL化している場合には、常時SSL化を解除しないと動作確認ができません。
SSL化しているサイトを動作確認すると、こんな感じになってしまいます。

そのため、この反映されるまでの間に移転先の新サーバー上にある.htaccessファイルを編集して、一時的に解除しましょう。

そこまでして確認しなくていいよという場合は、この「動作確認のステップ」を飛ばしても構いません。

ここまでのサーバー移転手順が問題なく進んでいれば、動作確認URLでもちゃんといつも通りのサイトが表示されます。

動作確認URLにアクセスしたときに500エラーや「Error establiching a database connection」のような画面になった場合は、ファイルの変更が加わってしまっていたり、データベースの接続がうまくいっていない場合があります。

その場合は、以下の記事を参考にしてみて下さい。

500エラーの場合はこちら

500エラーが出たらこれをチェック!WordPressでの原因対処法
最近ひっそりとサーバー移転をしたぷるぷる(@pluplu2)です 移転と言っても同じエックスサーバー内で移転しただけですが… 現在は落ち着きましたが、サーバー移転にはやはりトラブルがつきものです。 私もトラブルが生じてしまいました...

Error establiching a database connectionの場合はこのように表示されます。

ちなみに500エラーの場合は、.htaccessのファイル内のコードがおかしい場合が多く、Error establiching a database connectionの場合は先程のwp-config.phpでの設定が間違っており、データベースと上手く接続できていない場合が多いです。

動作確認URLで問題なくサイトが表示されている場合は、次のステップに進みましょう!

ネームサーバーの変更

いよいよ移転作業も終盤です。

ドメインの管理画面で、新サーバーの「ネームサーバー」に変更してください。

変更した時点で、サーバーの移転が実行されます。
実行されますが、変更した時点で即移転するわけではなく、ゆっくりと時間をかけて移転していきます。
この時間は浸透期間とも呼ばれ、通常24時間以上かかるともいわれています。

あくまでも個人的な感覚ですが、大体6、7時間で新サーバーの方のファイルが適用されている感じがありますが、できるだけ長い時間旧サーバー上のファイルを残しておくのがベストです。

また一応動作確認URLで動作確認を行いましたが、ちゃんと移行が上手くいっているか心配な所がありますので、こまめにサイトにアクセスしちゃんと表示されているかどうかを確認すると安心です。

ちなみにネームサーバーを変更した後はあまりゆっくりしていられません!
常時SSL化をしているサイトの場合は、SSL設定を新サーバー上でしなければ、しばらくサイトにアクセスできない可能性があるので、ネームサーバー変更後は、SSL設定を速やかに行いましょう。

SSL設定

SSL設定はネームサーバー変更後でなければ行うことができません。
そのため、常時SSL化をしているサイトの場合は、ネームサーバー変更後すぐにSSL設定をしないと、こんな画面になってサイトの閲覧がしばらくできなくなってしまう可能性があります。

速やかにSSL化をしても、移転のスピードが速い場合にはSSL化が間に合わず上記のような画面になる場合があります。
速やかにSSL設定をしたにもかかわらず、このような画面になってしまった時は、仕方がありません。
SSLの証明書が発行されるのを待ちましょう。
(長くて1時間くらいだそうです)

無事に移転したか確認する方法

ネームサーバー変更してから数時間が経ったとき気になるのが、「今はどっちのサーバーのWordPressで表示されているのか?」ということです。

これについては簡単に確認することができます。
旧サーバー、新サーバーどちらかのファイルを編集し、反映されているか否かで確認をすることができます。
一番簡単なのはfunctions.phpを編集して、エラーを起こすことなのですが、一瞬でもページが表示されないと問題なので、それはお勧めできません。

一番気軽なのは、ヘッダー等のファイルにコメントを入れる事かと思います。
テーマのheader.php等にみたいな感じで、コメントをすると、サイト上には表示されませんが、ページのソースを確認すると反映の有無で現在表示されているのが新旧どちらのサーバーなのか確認できるので、気になる場合は、確認してみてもいいかもしれないです。

SSL化も無事に終わって、数時間が経った後もちゃんとサイトが表示されているのであれば、無事に移転が終わったことを意味します!
長丁場お疲れ様でした~

まとめ

いかがだったでしょうか?
意外と簡単にサーバー移転が出来たのではないでしょうか?

個人的には、こんなもんかと思ったので、簡単に感じましたが、トラブルも多々ありました。
動作確認の時に常時SSL化を一時的に解除した際、htaccessの編集方法が悪く、ページが表示されなかったり、データベースの接続が上手くいかなかった…

なんやかんやありましたが、無事にサイトが表示されたので何はともあれです。
まあこの記事が誰かの役に立つことを願っています!

コメント