2017年3月、突然サーバー移行(移転)を思い立ちました。サーバーって何?からアフィリエイトを始めたばかりのアラフォー主婦です。何度もシュミレーションを繰り返し、流れを頭に叩き込みました。十分準備をしたつもりでしたが、それでも何度も失敗しました。
しかし失敗のおかげで相当勉強になりました。
そしてついに成功したのです!
一度成功したらコツをつかみ、他のブログの移行も成功!
今回は、アフィリエイト初心者の主婦が、続けて4度成功したサーバー移行の全手順を書きました。ロリポップからエックスサーバーへのWordPressサイトのサーバー移行の体験談です。FTPソフトはFileZillaを使用していますので、FileZillaでの説明になります。
まえがき
サーバー移行に至るまでの経緯や大まかな手順、注意点などについて少し触れました。お急ぎの方は読み飛ばしていただいて大丈夫です。
ロリポップからエックスサーバへの移転を考えた理由
エックスサーバーの評判の良さは聞いていましたが、ロリポップを契約し、今後もずっとロリポップで行くつもりでした。しかし、SSL化の事を考えたら、私の場合、2017年3月の時点ではエックスサーバーに移行するという選択以外に道がありませんでした。エックスサーバーは無料で常時SSL化が可能です。今後もブログを増やす予定のため、無料のSSLは魅力的過ぎました。
追記:2017.07.11に、ロリポップでもLet’s Encryptによる無料の独自SSLの利用が可能になりました!
初心者が何度も失敗してサーバー移転のコツをつかむまでの経緯
サーバー移行が激闘の末に成功するまで何度も何度も失敗しました。サーバー移行の経緯をノートに事細かに書き込みながら進めたのですが、気付けばノートは2冊になっていました。
私の場合、失敗した理由は
流れが頭に入っていなかった事
そしてもう1つ、
どっち付かずで複数の方法をごちゃまぜにした事が大きな原因でした。
方法が変われば、順序や内容も変わってくるので、よほど流れが頭に入ってない限り、初めから自己流で一部だけコロコロ変えてしまわない方が良かったのだと思いました。
大まかな流れ
●データベースの移動
●ファイルの移動
●動作確認
●ネームサーバー変更
要はブログを新サーバーに移す作業なので、よく考えるとシンプル。でもこれが頭に中々入らなかったんです(泣)
それではスタートです。
サーバー移転の下準備
まずはサーバー移行前の準備からです。
バックアップ
管理人はロリポップの有料のバックアップオプションを契約していましたので、バックアップは不要でした。すごくすごく優秀なオプションです。(ロリポップのバックアップオプションに入っている人は、サーバー移行前に”今すぐバックアップ”をすればOK)
一般的にはファイルはFTPソフトを利用して自分のパソコンに保存し、データベースはエクスポートして自分のPCに保存しますので、サーバー移行を進める間にバックアップも取れてしまうことになります。(消してしまわなければ…)
Back WP Upなどのプラグインを使う人も。
テキストエディタを用意
個人的にTeraPadを使用しました。
メモ帳だとコードが文字化けしてしまう事があるので使えないのだそうです。
今回は、ファイルの書きかえに使います。
FTPソフトのFileZillaをダウンロードして設定
FTPソフトはイロイロありますが、私はFileZillaを使っています。
圧縮されていない「.exe」の方をダウンロードして使っています。
32bit版と、64bit版があるので、自分のPCに合った方をダウンロードしました。
確認方法は「コントロールパネル」からシステムに進んで確認できます。
確認ができたら、信頼のおける所からダウンロードするのですが、先ほども言いましたように、私の場合は.zip形式ではなく.exeの方をダウンロードしました。recommendedとなっていました。自動でインストールが始まるインストーラー形式です。
また、設定後にFTP接続すると、「不明な証明書」という画面が現れて、「サーバーの証明書は不明です」などと表示されますが、どこに接続しても最初はこんな画面が出てしまいます。
イロイロ調べましたが、どうもみなさん、左下の「今後もこの証明書を常に信頼する」にチェックをいれてOKを押しているようなので、私もそうしました。
FileZillaの使い方はエックスサーバーのFileZilla設定手順というページに載っています。ダウンロード先も掲載されています。
キャッシュ系プラグインの停止・削除
キャッシュ系プラグインはWordPressを高速化するということで導入する方が多いようですが、私の場合は初心者なので、よく理解できていないプラグインの導入は控えていましたから、停止、削除の必要はほとんどありませんでした。
通常はこれらのキャッシュ系プラグインを停止、削除、必要であればファイルの記述等も削除という作業が必要。これらのプラグインの中には、安易に削除してしまうと、エラーになったりすることも。それぞれ安全な消し方をプラグイン事に調べることをお勧めします。
私の場合は1つだけプラグインを停止、削除しました。
「SiteGuard WP Plugin」です。これは絶対に停止しておかねばならないそうです。
停止、削除した後、ロリポップFTPから .htaccess の該当箇所を削除しました。
#SITEGUARD_PLUGIN_SETTINGS_START
#SITEGUARD_PLUGIN_SETTINGS_END
の2行です。
間に記述がある場合はそこもまとめて削除。
(Site Guard WP Pluginを設定していて削除した場合はWordPressの管理画面のログインページがhttp://ドメイン名/wp-login.phpなどに戻っていますので注意)
エックスサーバーに申し込む
私の場合はエックスサーバーを利用することに決めていましたので、すぐに支払いを済ませましたが、お試し期間が終わる前に支払いを済ませれば大丈夫です。
エックスサーバー
申し込み後に届くメール「サーバーアカウント設定完了のお知らせ」は非常に重要ですので、厳重に保存してください!
登録後、まずドメインの登録です。
ドメイン登録
エックスサーバーのサーバーパネルから「ドメイン設定」に進む
移行するブログのドメインを設定します。
ドメインの追加設定タブからドメインを追加します。
次に、エックスサーバーで、設定したドメインにWordPressをインストールするのですが、普通に自動インストールすると、データベースに自動で複雑な名前が付いてしまい、後々どれが、どのブログのデーターベースなのか分かりにくくなります。
という事で、先にデータベースを作ります。
データベースとMySQLユーザーを作って紐づけする
●データベースを作る
サーバーパネル→データベース→MySQL設定から「MySQL追加」タブを開き、MySQLデータベース名を入力します。(ここで悩んだのが、どんな名前にしたらいいか。分かりやすい名前にしたいけど、ドメイン名などと同じだとセキュリティ的に良くないと聞いたからです。自分にとってはどのドメインのものなのかが分かりやすく、他人にとって分かりにくいネーミングにしました)
データベース名は「サーバーID_○○」という形になります。
文字コードは、WordPressでは「UTF-8」が推奨されているという事で、ここでも「UTF-8」を選びます。(ロリポップでもデフォルトでUTF-8になっている)
●MySQLユーザーを作る
次に「MySQLユーザー追加」タブを開いてユーザーを追加します。
(データベースのユーザーを設定する必要があるので、ユーザーを追加します)
MySQLユーザー名も「サーバーID_○○」という形です。
●今作ったデータベースとユーザーを紐づけする
該当のデータベースに接続するユーザーを決める作業です。
同じ画面の「MySQL一覧」タブを開く。
該当ドメインの「アクセス権未所有ユーザ」の中に、先ほど作ったユーザーがあるので、それを選んで追加ボタンを押すと、左側の「アクセス権所有ユーザ」の所にユーザー名が表示されます。
これで、さっき作ったデータベースと、そのデータベースを操作する権利のあるユーザーの紐づけが出来ました。
WordPressの自動インストール
該当ドメインにWordPressをインストールします。
サーバーパネル→ホームページ→自動インストールと進むと「ドメイン選択画面」に来ますので、該当のドメインを選択します。
自動インストールの画面に来ますから、「プログラムのインストール」タブを開いてWordPress日本語版の「インストール確定」ボタンを押します。
コツコツ入力を進めます。
インストールURLの「/」の後ろは通常は空欄でOK。ブログ名、ユーザー名、パスワードを入力。
↑データベースの所は、先ほど作ったデータベースを選びますので
「作成済みのデータベースを利用する」にチェックを入れ、利用するデータベースのデータベース名、データベースユーザ名、データ用パスワードを入れて「インストール(確定)」ボタンを押してインストールします。
以下3つのMySQLの情報をメモして置いてください
●MySQLデータベース名
●MySQLユーザー名
●MySQLパスワード
(↑重要!このメモはエックスサーバーのデータベースの情報です。エックスサーバーのMySQLの情報であることも明記しておいてください。後で使います)
ロリポップとエックスサーバーでPHP.Verをそろえる
移行するにあたって、新旧のサーバーの該当ドメインのPHPバージョンをそろえた方がいいとのことで、ロリポップとエックスサーバのPHPバージョンを揃えました。
ロリポップはWEBツール→PHP設定と進みます。
該当のドメインのバージョンを変更します。
私の場合は5.6(モジュール版)を選択しました。
エックスサーバー側はサーバーパネルの PHP Ver.切り替え から。
ロリポップと合わせて、PHP5.6.24 にしました。
下準備・その他
ファイル名などに日本語を使っていると、うまく転送できないことがあります。私も転送に失敗したものを見て見ると、日本語名でアップロードしてしまった画像でした。パーマリンクに日本語を使用している場合も要注意だそうです。
データベースの移動
データベースの移動は、ロリポップからデータベースをエクスポートして、エックスサーバーにインポートする作業です。
まずはエクスポートからです。
(※データベースはログインしてしまうと、ロリポップもエックスサーバーも見た目一緒なので万が一にも間違えないようにしたいです)
ロリポップでデータベースのエクスポート
データベースにアクセスするための情報は、ロリポップFTPから、該当のドメインのwp-config.phpで確認できます。
データベース名、MySQLのユーザー名、MySQLのパスワード、MySQLのホスト名の4つをメモしておきます。(重要!このメモはロリポップのデータベースのメモです。ロリポップのMySQL情報であることも明記しておいてください)
次に、データベースに移動します。
ロリポップのユーザー専用ページ→WEBツール→データベースに進み、該当のデータベースの「操作する」ボタンを押す。
「phpMyAdminを開く」ボタンを押す。
先ほどメモした情報でログインします。
ログイン後「information_schema」ではない、ドメイン名の方をクリック。
エクスポートタブを開き、エクスポート方法:の所は「詳細ー可能なオプションをすべて表示」にチェックを入れます。
↑テーブル:の所は、全選択の状態です。
(該当のブログのすべてのデータをエクスポートします。もしも、ロリポップの1つのデータベースに、複数のドメインなどを所持している場合は、テーブルの接頭辞の違うものが入っていると思います。その場合は移動したいドメインのものだけ選択します。例えば、移動したいドメインの接頭辞がwp3_ならwp3_をすべて選択。私の場合は1つのデータベースに1つのドメインだけだったので普通に全選択で簡単でした)
生成オプションの所は、もともと付いているチェックはそのままで、
「DROP TABLE / VIEW / PROCEDURE / FUNCTION /EVENT コマンドを追加する」にもチェックを入れて一番下の実行ボタンを押します。
「.sql」という拡張子のファイルがローカル(自分のPC)にダウンロードされます。
エックスサーバーでデータべスのインポート
ロリポップのデータベースをエックスサーバーでインポートします。
さきほどの「.sql」ファイルをインポートする作業です。
と、その前にエックスサーバーのデータベースを削除しておきます。
エックスサーバーのサーバーパネルから、データベース→phpmyadminにログインします。
そしてデータベースのインポート
先ほどローカルに保存した.sqlのファイルをエックスサーバーにインポートします。
エックスサーバーでWordPressを自動インストールした時にメモしたエックサーバーのMySQLの情報を見ながらログインしてください。
●MySQLデータベース名
●MySQLユーザー名
●MySQLパスワード
ログイン後、該当ドメインを選択。(information_schemaじゃない方)
ここでまず、エックスサーバーのデータベースを削除します。
全て選択して、チェックしたものを「削除」です。
削除できたらインポートタブを開いて、ローカル(自分のPC)に保存していた.sqlファイルをアップロードします。
ファイルを選択したら実行ボタンを押します。
インポートは正常に終了しました!
これでロリポップからエックスサーバーへのデータベースの移動は完了です。
次にファイルを移動します。
ファイルの移動
ファイルの移動は、ロリポップのファイルを自分のPCにダウンロードして、エックスサーバーにアップロードする作業です。
FTPソフト(ここではFileZilla)を開き、ロリポップに接続します。
ロリポップのファイルを自分のPCにダウンロード
FileZillaで、ロリポップのファイルを、ローカル(自分のPC)にコピーする作業です。
まず初めに、自分のPCの、自分に分かりやすい場所にフォルダを作っておきます。
私の場合はこんな感じで分かりやすい名前を付けました。
FileZillaを開いて、ロリポップに接続します。
FileZillaの設定方法は先ほども書きましたがエックスサーバーのFileZilla設定手順というページに載っています。
どうしても接続できない場合も有るかと思います。
私の場合は下記のように設定しました。
ホスト(H): FTPSサーバー
プロトコル(T) FTP-ファイル転送プロトコル
暗号化(E) 明示的なFTP over TLS が必要
ログオンの種類(L) ここはお好みで
ユーザー(U): FTP・WebDAVアカウント
パスワード(W): FTP・WebDAVパスワード
ここではロリポップに接続するので、ロリポップのサーバー情報が必要です。
ロリポップ!ユーザー専用ページの「アカウント情報」に進むと載っています。
転送モードはパッシブを選びました。
それでもつながらない場合、現在のIPアドレスと、ロリポップのFTPアクセス制限の設定が違っているかもしれませんので確認します。
「ロリポップ!ユーザー専用ページ」の「WEBツール」→「FTPアクセス制限」へと進み、「現在の接続元アドレスはxxx-xxx-xxx-xxxです。」のIPアドレスと、設定済みのIPアドレスが一緒かどうか確認します。
違っていたら、青い枠で囲った部分に表示されているIPアドレスに書き換えます。メモのところは自分に分かりやすい接続元の名前を付けて「設定」ボタンを押して下さい。
これで、もう一度FileZillaでロリポップに接続します。
やっと接続できたら、いよいよ全てのファイルをローカル(自分のPC)にダウンロードします。
以下の画面は、FileZillaでロリポップに接続した状態です。
左がローカルサイト(自分のPC)で、右が接続先(ロリポップ)です。
↑のように、右側のロリポップのサーバーから、該当ドメインを選択し、すべてのファイルをローカルに作って置いたフォルダを開いて移します。ドラッグ&ドロップです。
ctrlを押しながらすべて選択した状態でドラッグ&ドロップしました。
記事数によっては随分時間がかかります。
.htaccessとwp-config.phpを書きかえる(編集)
ここまで来れば、もう少しです。
書きかえ方を先に書いていますが、後で「こんなふうにしました」という詳細も書いています。
.htaccessの書きかえ
ロリポップの.htaccessの先頭に、エックスサーバーの.htaccessの全ての記述をペーストします。
この時、TeraPadを使います。
もしも「#BEGIN Lolipop~」で始まり、「#END Lolipop」で終わる記述があったらそれは消します。
上書き保存します。
wp-config.phpの書きかえ
ロリポップのwp-congfig.phpのサーバーの情報をエックスサーバーの情報に書き換えます。
この時、TeraPadを使います。(前にメモしたエックスサーバーの情報に書き換え。というか、エックスサーバーのwp-config.phpの情報をコピー&ペーストするだけ)
上書き保存して完了。
ファイルをエックスサーバーにアップロード
ローカルに保存したロリポップのファイルをエックスサーバーにアップロードする作業です。
FileZillaでエックスサーバーに接続します。
まず、エックスサーバーの該当ドメインのpublic_html以下に「default_page.png」というファイルと、「index.html」というファイルがあれば削除します。
※index.phpは削除してはいけません!!エックスサーバーでWordPressを自動インストールした時にindex.htmlは消えているはずなので、通常は「default_page.png」のみ削除でOK。
そしてローカル(自分のPC)に保存していたフォルダを開いて、中のロリポップの全てのファイルをエックスサーバーの該当ドメインのpublic_html以下にドラッグ&ドロップします。
(画像では.htaccessとwp-config.phpが未選択になっていますが、気にしないでください)
「対象のファイルは既に存在しています」の表示がでますので、「上書き」、「常にこの動作を利用」にチェックをつけてOKボタンを押します。
アップロードには数分~数十分以上かかると思います。
私の場合、こんな手順で書きかえました
デスクトップ上に
「エックスサーバーの.htaccessとwp-config.php」
というフォルダを作りました。
エックスサーバーに接続して
該当ドメインを選択し、public_html以下の
.htaccessとwp-config.phpをデスクトップの
「エックスサーバーの.htaccessとwp-config.php」の中にドラック&ドロップします。
このエックスサーバーの.htaccessとwp-config.phpの内容を
先ほど保存したロリポップのファイルのフォルダ内の.htaccessとwp-config.phpに編集して上書きしました。
要は自分に分かりやすいように書き換えればいいので参考まで。
動作確認
データベースもファイルもエックスサーバーに正しくコピー出来たかどうかの確認をします。
今、インターネット上でブログを表示しても、元のロリポップの方が表示されますので、エックスサーバーの方を確認することが必要です。
動作確認URLからの確認方法
エックスサーバーのサーバーパネルのドメインから「動作確認URL」へ進みます。
動作確認URL設定の追加タブを開き、動作確認をしたいドメインを選択します。
注意書きの通り、追加後、反映されるまで最大1時間程度の時間がかかりますので、しばらく待たなくてはいけません。
十分時間を置いてから、動作確認URL設定の一覧タブから、該当ドメインの動作確認アドレスを確認できます。
まだ反映されないうちに表示してしまうと、こんな画面になって、焦りますので、しばらく時間を置いて確認してください。
しばらくしても表示されない時は「履歴の削除」などをお試しください。
しかし、この方法だと、WordPress等は正常に確認できない場合があるそうです。ちょっと安定していない感じなので、次に説明するhostsの設定をして確認したほうが絶対に良いようです。
動作確認URLからだと、ロリポップの方のブログが表示されたりするので注意が必要です。
hostsの設定をして確認する方法
まず、エックスサーバーのサーバーパネルから、アカウント→サーバー情報へ進みます。
IPアドレスが載っていますのでコピーするかメモします。
次に、自分のPCのhostsファイルを開いて、今しらべたIPアドレス等を記述するのですが、ここは、Windowsに標準装備のメモ帳で大丈夫。
メモ帳を右クリックして「管理者として実行」で開きます。
ファイル→開くと進み、
ファイル名を検索します。
「 C:\Windows\System32\Drivers\etc\hosts 」と入力して、開きます。
もしくは、↑の順序通りに、OS(c:)→Windows→System32→Drivers→etc→hostsと進みます。
このファイルの一番下の行に書き込みます。
「先ほどエックスサーバーでメモったIPアドレス」半角スペース「ドメイン」です。
xxx.xxx.xxx.xxx ladyfifi.com のように書いてください。
↑画像では、分かりやすいように記述部分だけ太字ですが、
普通に「xxx.xxx.xxx.xxx ladyfifi.com」
のように半角で書いてください。
IPアドレスの前にスペースは有りません。
半角スペースはIPアドレスとドメイン名の間だけです。
確認ですが、一番下の行に書いてください。
そして上書き保存します。
ここでセキュリティソフトなどが作動する場合は思いますが、許可してください。
これでエックスサーバーに設定したブログが表示されます。(念のため、再起動後に確認)
私はドキドキしながらGoogleでこのブログ「ladyfifi.com」を検索しました。サーバー接続確立エラーが出たのは一度や二度ではありませんでした。

404エラーも多発・・・・

そのたびにエックスサーバーの該当ドメインを初期化し、データベースも削除して、データベースの作成、ユーザーの追加から全てやり直しました。(なぜか、以前作ったデータベースではWordPressの自動ダウンロードが出来なかったため)
初心者なので、中途半端にやり直すと、全然成功しませんでした。初めから全てやり直すことを何度繰り返したことか・・・
しかしそのおかげで勉強になりました。失敗するごとにサーバー移行の全体像をぼんやりとつかむことが出来た気がしています。
これらの失敗をもとに、一番自分に合った方法を模索した結果、この記事に書いた方法に行きつきました。この通りにして4回のサーバー移行に成功しています。
さて、
動作確認が済んだら今の記述だけを削除して、元に戻して上書き保存して元に戻すのをお忘れなく!
問題が無ければネームサーバーを変更します。
(hosts設定を誤ってhostsファイルを二つ作ってしまったり、上書きしたつもりが出来ていなかったりして、動作確認が正しくできないと、サーバー移行の失敗につながりかねないので注意が必要です)
ネームサーバーの変更
しっかりチェックが終り、問題が無い事を確認したらネームサーバーを変更します。
ネームサーバーの変更は、私の場合はムームードメインにて行いました。
ムームードメインの場合は、ドメイン管理→ドメイン操作→ネームサーバー設定変更に進み、該当ドメインの「ネームサーバー設定変更」(青いボタン)をクリック。
「GMOぺポパ以外のネームサーバを使用する」にチェックを入れて、下記のように記入して変更します。
※エックスサーバーに申し込んで支払いをしていない場合は、サーバー移行後、エックスサーバーのお試し期間が終わる前に支払いを済ませることをお忘れなく。(せっかくのデータがすべて消えてしまうので)
ネームサーバー後しばらくは新しいサーバーの方のブログが表示されたり、旧サーバーの方のブログが表示されたりします。ウロウロしたのち、新サーバーだけが表示されるようになります。完全に切り替わるまでの時間には諸説ありますので、ご注意ください。
まとめ
お疲れ様でございました。
サーバー移行は、しっかり準備して移動させるだけの事なのに、初心者にとっては本当に大きな作業のように思えてしまいます。
何度も何度もシュミレーションして、何百時間もかけたのに何度も失敗すると、もうサーバー移行はあきらめよう、ブログもやめてしまおうかと、この世の終わりを感じてしまいますが、アラフォーからアフィリエイトを始めた(ワード、エクセル、画像処理などもの経験も無かった)主婦にも出来ました。
10回や20回失敗しても30回目には成功しますのであきらめないでください。
私なんて、初めのうちは、お恥ずかしながら24時間以上かけてぶっ通しで作業していました。(笑)2回目は12時間、3回目は10時間・・・・それでも失敗。失敗しまくった事で随分とサーバーなどの仕組みを理解することが出来た気がして達成感でいっぱいです。
みなさんのサーバー移転が成功しますように!
追記:この記事で本当に移行できるかを3回目のサーバー移行でも試してみたら、成功しました。2時間以内で出来ました!たぶん次は1時間以内で行けそうです。
追記:4回目は本当に1時間以内で出来ました。
おまけ
サーバー移行後の作業
ネームサーバーが完全に移行できた事の確認が取れてからも作業はあります。
移行に伴うメールアドレスの変更。
移行後、念のためネームサーバーの切り替えが完全に完了してからPHP.Verの変更(最新の推奨のものに)
削除したプラグインも入れ直しました。
私の場合は、その後念願だったSSL化をしました。これまた試行錯誤の連続でしたが、なんとか成功!このブログも「保護された通信」になっています。記事数の多いブログの引越しの件などといっしょに、また別の記事で書きたいと思います。
ネームサーバー変更後もロリポップの方はしばらく消さずに置いておいた方がいいそうです。ロリポップの方のブログが表示されたり、エックスサーバーの方のブログが表示されるのだとか。私もまだ消していませんし、もうしばらく残しておく予定です。完全にエックスサーバーの方に変わっても、念のため、まだしばらく残しておく予定です。
補足情報
●wp-config.phpの書き換えの時に、テーブルの接頭辞を書き換える、という作業は、今回の方法では不要です。
(ロリポップのwp-config.phpを利用してエックスサーバーの情報に書き換えてからエックスサーバーの同ファイルに上書きしているため)
●ファイルのダウンロード、アップロードで「転送に失敗」することがあります。私の場合は、記事にアップロードした画像の内、2つだけ日本語のファイル名を付けていた画像がありました。転送に失敗したファイルを見ると、文字化けしていました。2つだけだったので、移行後に画像を入れ直して事なきを得ました。
●サーバー移行の手順は、多くの場合、
・準備
・データベースのエクスポート
・ファイルのダウンロード
・データベースのインポート
・ファイルのアップロード
・動作確認
・ネームサーバー変更
という感じですが、この記事では、書いている人が初心者過ぎて頭が混乱するので、データベースを終わらせてからファイル、としています。