エックスサーバーのトライアルを利用して、お名前.comサーバー(共用SD-11)からエックスサーバー(X10)へ、WordPressの「急がば回れ!」ブログを移転をしました。
先人の方々のサイトを参考にしながら、先人の方々のサイトを参考にしながら、時には通信会社時代の浅ーい知識を呼び起こして、なんとかこんなド素人でも自分で移転できました。
自分がつまづいた超初歩的なことを記しておこうと思います。
ブログサーバー移転の経緯
私はお名前.comでドメインを取得しました。合わせてお名前.comの「共用SD-11」という共用サーバーのサービスに申し込み、2年弱利用していました。
特にお名前.comサーバーにさほどの不満はなかったのだけど、なんとなく管理画面が使いづらいなと思っていて、もっと管理画面がわかりづらいサーバーはないかなと探してました。
それと、記事数が少ないうちにSSL化してしまいたいと思っていました。
WordPressのトラブルの時にネットを徘徊していると、エックスサーバーの事例がよく出てくるので、事例が多いサーバーの方がいいかなと思いエックスサーバーを検討。
- 管理画面がシンプルで使いやすそう
- SSL化が無料
ということで、エックスサーバーを試すことにしました。
エックスサーバーの「X10」という共用サーバーのサービスには10日間の試用期間があります。
この試用期間で移転を試みて、最悪無理だと思ったらそのままお名前.comサーバーを利用し続ければいいや、と思ってトライアルに申し込んでみることにしました。
ブログサーバー移転の手順
ドメインはそのままお名前.comに残し、WordPressのブログサイトのみお名前.comからエックスサーバーへ移転しました。
以下に記載する「お名前.comサーバーのバックアップ」を除く項目の手順はエックスサーバーのWordPress移転手順にも写真付きで載っているので、参考になります。
エックスサーバーにドメイン登録
エックスサーバーのサーバーパネルにある「ドメイン設定」で自身のドメインを追加。これは簡単。
MySQL設定データベースの作成、MySQLユーザの作成
エックスサーバーのサーバーパネルの「MySQL」の項目で、データベースの追加、及びMySQLユーザの追加を行います。アクセス権の所有設定を行うのを忘れずに。これもマニュアルみれば簡単。
お名前.comサーバーにあるブログデータをバックアップ
お名前.comサーバーにphpMyAdminをインストールしてphpMyAdminを利用してデータを引っこ抜く方法もありました。
が、私はMySQLの知識ないし、そんなこと怖くてできないので、WordPressのプラグイン「BackWPup」を利用してデータを引っこ抜くことにしました。
WordPressのプラグイン「BackWPup」で以下の4つの項目にチェックを入れて、バックアップを取ります。私はバックアップ先をDrop BOXにしてましたが、バックアップ先は指定可能。
- データベースをバックアップ
- ファイルをバックアップ
- インストール済みプラグイン一覧
- データベーステーブルをチェック
「wp-config.php」ファイルの書き換え
BackWPupで抜き出したファイルのうちwp-config.phpのファイルを、新しいデータベースのものに書き換えます。これ間違えるとデータベースにアクセスできないので、要注意。
エックスサーバーの「public_html」フォルダ配下にデータをアップロード
抜き出したファイルのうち、.sqlとなっていない全てのファイルをpublic_htmlにアップロードします。
前の行程で書き換えたwp-config.phpファイルもです。
SQLファイルを「phpMyAdmin」にアップロード
.sqlのファイルをエックスサーバーのサーバーパネルのphpMyAdminからインポートします。
正常にインポートが完了すると、「XXXX個のクエリを実行しました。」というメッセージが出ます。ちなみに私は2800個以上ありました。
「index.html」ファイルの削除
エックスサーバーのpublic_htmlフォルダ配下にデフォルトでindex.htmlファイルがあるので、これを削除します。
引っこ抜いたファイルの中にはindex.phpのファイルがあるはずですが、index.htmlファイルがあるとindex.phpファイルよりも優先されてしまうためです。
「.htaccess」ファイルを作成
なぜかお名前.comサーバーから引っこ抜いたデータには、.htaccessファイルがありませんでした。なので、.htaccessファイルを手動で作成します。
エックスサーバーのサーバーパネルの管理画面に.htaccess編集の項目があるので、それを利用して.htaccessファイルを作成します。
.htaccessファイルが原因でエラーが出たので、記載した内容は後述。
hostsファイルを編集して動作確認
エックスサーバーのサーバーパネルには「動作確認URL」の項目があり、トップページなどの簡単な動作確認できますが、きちんと動作確認したかったので、hostsファイルを編集して確認します。
hostsファイルを編集すると設定したPCからだけは、エックスサーバー上にあるブログサイトを見ることができます。
hostsファイルの編集方法はエックスサーバーのマニュアルに詳しく記載されています。
正式契約とネームサーバー変更
動作確認を行って問題なさそうであれば、まずはエックスサーバーの正式契約の申込み(支払い)を行います。料金を支払い忘れるとトライアルのまま終わって大変なことになるのでお忘れなく。
そして、ネームサーバーを変更します。ネームサーバーの変更はお名前.comのドメインNaviで行います。ドメイン設定>ネームサーバーの変更の項目で、エックスサーバー指定の設定に。
設定内容はエックスサーバーのマニュアルに記載されています。
旧サーバー解約
ネームサーバーの浸透が完了するまで最大72時間かかると言われていますので、72時間以上経過しても問題なければ旧サーバーの解約申請を行います。
私は余裕を持って1週間くらい様子を見てから解約申請しました。
ブログサーバー移転でエラーが出た箇所
移転方法はいたって普通で、エックスサーバーの移転手順マニュアルもわかりやすいし、スクショ付きでブログに詳しく書いてくれている人がいっぱいいらっしゃって、かなり助かりました。
ただ、ド素人なんでそんなご丁寧な解説を見ても追いつけず動作確認でエラーが出た箇所がいくつかあります。
自力で解決すべく色々調べたけど、すごいツカレタ...。結果的にエックスサーバーのカスタマーサポートの人にも助けてもらいました。
サイトへのアクセスが拒否された
動作確認しようとしたら「アクセス拒否」と、エックスサーバーのセキュリティ対策画面が出ました。はい、海外IPからのアクセス制限がかかっていました。
エックスサーバーはデフォルトでは、海外IPからはアクセスできないように設定されています。私はスペインからアクセスしなければいけないので、アクセス制限を外しました。
サーバーパネルに「アクセス制限」の項目があって該当ドメインがONになっているので、OFFにして完了。
データベース接続確立エラー画面になる
アクセス制限を外して再度動作確認をしようとしたら、今度は「データベース接続確立エラー」と文字が出ます。「データベース接続確立エラー」ってなんだよ...。
これは、移転手順の「wp-config.phpファイルの書き換え」がうまくできていない場合に発生する。ってことで必死で原因を探す我。
- データベース名
- データベースのユーザ名
- ユーザと紐付いたパスワード
- データベースのホスト名
先人たちの例も参考にしながら上記の4つを何度も確認したのだけど、どれも合ってる。
パスワードは半角のみの方が良いとエックスサーバーのサポートからアドバイスいただき、サーバーパネルのMySQLからユーザと紐付いたパスワードを半角に変更して、ファイルも書き換えたのだけどそれでもダメ。
何度試してもどうしてもできないので、一度移行したファイルとデータベースをすべて削除して一からやり直すも虚しく、接続エラーは解消せず。
という時にかかったエックスサーバーカスタマーサポート様の方からの神の声。
クオテーションも半角で
そうなんです。クオテーション「'」も半角でなければなりませぬ。クオテーションは最初からこのファイルに記載されていた項目だったからノータッチやった...!!
クオテーションを全て確認し、全角になっているところを半角に直したらデータベース接続確立エラーは解消しました。
トップページが500エラー
あぁなかなかトップページにたどり着けない。データベース確立エラー解消後のさらなる試練は「トップページ 500エラー」です。Hostia no me diga...
500エラーの画面には原因となる項目が記載されています。
- CGIのパーミッション設定に誤りがある
- CGIのソースコードに問題がある
- .htaccessの記述に誤りがある
どう考えても3つ目が怪しいので、.htaccessの設定内容を見ていきます。先人の方々の設定内容を参考に手動で入力した.htaccessファイルには、以下を記載していました。
suPHP_ConfigPath /home/サーバーID/ドメイン/xserver_php/ AddHandler fcgid-script .php .phps FCGIWrapper "/home/サーバーID/ドメイン/xserver_php/php-cgi" .php FCGIWrapper "/home/サーバーID/ドメイン/xserver_php/php-cgi" .phps # BEGIN WordPress <IfModule mod_rewrite.c> RewriteEngine On RewriteBase / RewriteRule ^index\.php$ - [L] RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule . /index.php [L] </IfModule> # END WordPress
サーバーパネルのエラーログファイルが言うには「Invalid command 'suPHP_ConfigPath'」って。なんか最初の4行いらないみたい?
というわけで最初の4行を消去したら無事に500エラーが解消し、ブログトップページにアクセスすることができました。
ブログの表示が崩れてる
無事にブログページにアクセスすることはできるものの、今度はブログの表示が崩れてるんです...。
表示が崩れてるとは言ってもコンテンツは見られる状態。だからテーマのどこかに変な記述が入ってるのかな?と思いました。
管理画面に入ってテーマの記述を見直したい、そう思ってWordPress管理画面に入ろうとした。
そしたらまた問題が・・・それは。
管理画面にアクセスできない
WordPress管理画面へアクセスしようとすると「ページが存在しません」と出るのです。
表示が崩れてるとは言えトップ画面にアクセスできるのに管理画面にアクセスできないっておかしいなと思い、「管理画面よ、お前はどこにいるのだ。」と、ない頭をフル回転させて管理画面のURLをマジマジと見ていて気がつきました。
WordPress管理画面のURLにはwpというディレクトリの記載があるのに、public_html配下にアップロードしたフォルダにはwpがない。
これが原因ではないかと思いました。
BackWPupでブログのデータをバックアップした際に、wpフォルダ配下にある全てのデータを引っこ抜いているわけなんですが、wpというフォルダ自体は作成されていなかったんです。それをそのままpublic_html配下にアップロードしたから、wpというフォルダが存在していなかったんですね。
というわけで、public_html配下にwpフォルダを作成してあげたら、無事管理画面に入ることができ、ブログ表示崩れも解消しました。
エックスサーバーのカスタマーサポートに感謝
結局10日間のトライアルのうち1週間くらいを費やして移転作業を行った私でした。
エックスサーバーのカスタマーサポートの方々はこんな素人丸出しの質問にもみなさん丁寧に答えてくれて、レスも早く、的確な指示をしていただけました。本当に感謝です。
カスタマーサポートがイケてなかったらたぶんサーバー移転作業も成功してないし、エックスサーバーに乗り換えることもなかったと思います。
無事サーバーを移転して安定稼働が確認できたので、ブログをSSL化しました。
ありがとうエックスサーバー!そしてありがとうエックスサーバーカスタマーサポート様!
サポートが良いエックスサーバーおすすめです。
▶︎月額900円(税抜)から、高速・多機能・高安定レンタルサーバー『エックスサーバー』
サーバー移転やサイト移転を自分で行うのが難しい場合は、プロに頼むのもおすすめです。