記事にすると言ってから間が空いてしまいましたが、
少し前に行なったサーバーの移転について記事にしておきたいと思います。

サーバーの移転自体は大して手間のかかるものではないのですが、
WordPressで作成したサイトではデータベースを利用する為、その移行が若干面倒かもしれません。

今回、lolipopと言うサーバーからhetemlというサーバーへ移転を行なったのですが、
これらのサーバーはpaperboy&co.という企業が運営しており、また自分のドメインも同会社で
取得・管理している為、よりスムーズに移行できました。

と言うわけで以下、その手順です。

基本的にやる事が同じであれば、
どのサーバーでも大まかな手順は同じです。





■移行するファイルの用意

とりあえず、旧サーバーにあるファイルは全てダウンロードします。



WordPress関連のファイルはサイズが大きいため、結構時間がかかるかもしれません。



そしてWordPressで利用中のデータベースのデータも、phpMyAdminよりエクスポートしておきます。

エクスポートについてはそれ程触る項目も無いのですが一応簡単に記載しておくと・・

エクスポート画面で詳細を選択すると詳細なオプションが表示されるので、
エクスポートしたいデータベースを選択し、出力はファイル(圧縮無し)、
フォーマットはSQL、生成オプションで「DROP TABLE / VIEW / PROCEDURE / FUNCTION / EVENTを追加」、
エンコーディングへの変換で「なし」(デフォルトでそうなっています)を選択し、
実行すればsqlファイルがエクスポートされます。

多少画面が違う場合もあるかもしれませんが、選択項目はほぼ同じです。





■サーバー利用の申し込み・DNSの書き換え

次にサーバーの利用申し込み。
hetemlでは、サービス利用の支払いをカード決済にすれば、すぐにサービスを利用する事が出来ます。



すぐに管理画面へログインする事はできますが、全ての設定完了まで30分程度待たなくてはならないので、
先に利用申し込みをしておいても良いかもしれません。


次にDNSの設定。

旧サーバーで利用していたドメインを新サーバーで使用できるように、
ネームサーバ(DNS)の書き換えを行ないます。

書き換えを行なったDNSが、完全に反映されるまでに結構時間がかかる場合があります。

新サーバーに移転したファイルが表示されはじめるまでに余裕があるので、
自分はファイルのアップロードよりも先にネームサーバの書き換えを行ないました。



hetemlではこんな感じです。
ドメインの管理も同会社で行なっているので、設定変更は一瞬です。

といっても新しいネームサーバーを入力するだけですが・・





■新しいサーバーへのドメイン設定&ファイルのアップロード

新サーバーへログインしたら、移転予定のドメインを設定します。
これは特に説明の必要はないと思います。

ドメイン追加メニューから、移転するドメインを追加するだけです。
自分はそれに加えてサブドメインも設定しているので、サブドメインの作成も行ないました。

さらにこの時点で、WordPressサイト以外のファイルは全てアップロードしてしまいました。





■WordPressのインストール&データベースの作成

上記が済んだら、次はデータベースの作成です。

これはサーバーによって違いがあるのですが、
自分が利用しているhetemlはWordPressの自動インストールに対応している為、
コントロールパネルでWPインストールとDB作成を一括して行う事が出来ます。

なので、WordPressの自動インストールを行なうだけ。
インストール後は一応ログインし、正常にインストールされている事を確認しておきます。

なお、新WordPressのデータベース名やパスワードが書かれた「wp-config.php」が、
インストールしたWPディレクトリ内にあるので、wp-config.phpを保存するなり、
DB名やパスワードをメモするなりしておいたほうが良いと思います。

もしもWordPressを手動でインストールしなくてはならない場合は、
予め必要なファイルをダウンロードしておき、
DB作成とファイルのアップロード&インストールを手動で行ないます。

その際、wp-config.php内のMySQLの情報を新サーバーの情報に変更するのを忘れないで下さい。

私のように自動インストールした場合は、自動で情報が新サーバーのものに書き換わっていますが、
自分でダウンロードした場合は自分で書き換えなくてはなりません。


あと、移行前のWordPressでデータベースのテーブル接頭辞の値を変更している場合は、
新しくインストールした「wp-config.php」内に記載してある
テーブル接頭辞(デフォルトではwp_)の値を変更するのを忘れないで下さい。



自分はこれをうっかり忘れてしまい、30分くらい悩む羽目になりました。
(下の方でも触れています)





■WordPressデータのアップロード

WordPressのインストールやDBの作成が終わったら、最初にダウンロードしたWordPressのデータを
wp-config.phpファイルを除いて新サーバーにアップロードし、
新サーバーでインストールしたばかりのWordPressのデータを上書きします。

wp-config.phpファイルを除くのを忘れないで下さい。
間違えてアップロードしてしまうと、新サーバーの情報が記載されたwp-config.phpが上書きされてしまいます。





■データベースのインポート

ファイルをアップロードし終えたら、次はデータベースのインポートです。

まず作成したデータベースの管理画面(phpMyAdmin)へログインし、
既に作成されているテーブル(新しくインストールしたWordPressの)を全て削除します。

その後、最初にエクスポートしておいたsqlファイルを利用してデータのインポートを行ないます。



データの大きさによっては暫くかかります。

ちなみに今回は旧サーバーとそっくり同じディレクトリ構成で移転・・だったので、
特にデータベースの変更等は行ないませんでしたが、もしドメインやディレクトリなどが変更になる場合、
データベースの修正を行なう必要があります。
(sqlファイルを修正するか、もしくはphpMyAdmin上で修正が簡単。管理画面からもできます)





■データベーステーブル接頭辞の値を変更していた場合

記事途中にも書きましたが・・

私はデータベースで利用するテーブルの接頭辞をデフォルトから変更しているのですが、
今回、新しくWordPressをインストールする過程で、接頭辞の値を変更するのを忘れてしまいました。

WordPressのデータを新サーバーにアップロードするまでは上手くいく(管理画面にログインできる)のですが、
DBのインポートを終えるとWordPressのインストール画面(ようこその画面)に戻ってしまい・・

2回同じ事を繰り返した後にしばらく悩み、
「wp-config.php」内のテーブル接頭辞の値を変えていない事に思い当たりました。

そんなわけで、テーブル接頭辞を書き換えた後、
再度データのインポートをしなおし、とりあえずサーバーの移転作業を終える事が出来ました。

※もちろん、サイト作成時にテーブル接頭辞を変えていなければ、
特に何もせずデフォルトのままでも大丈夫です。


ちなみに自分の場合ですが、一応サーバーの移転に関する作業を終えた後、
念の為に1週間位は旧サーバーのファイルを残しておき、
1週間が過ぎた時点でドメインの解除&ファイルの削除を行ないました。

DNSの反映には1週間もかかりませんが、念のためです。

あと、サイトとは関係ないですが、旧サーバーでメールアドレスなどを作成していた場合は、
その設定変更も忘れないようにしてください。





■プラグインの修正

ここまでくればほぼ終わりなのですが、私の場合はここでプラグインに不具合が出た為、
管理画面より修正を行ないます。

DBのインポート後、管理画面にて全てのデータが正常にインポートされているのを確認しました。
しかし・・



上記のように、管理画面上部に何やら注意書きが表示されています。

これは、利用しているDBのバックアップブラグイン「WP-DBManager」によるもので、
表示のメッセージは、この「WP-DBManager」がデータをバックアップする保存ディレクトリに
アクセスされる危険がある事を知らせています。

通常だと、このプラグインのフォルダにあるhtaccess.txtファイルを、
バックアップデータの保存ディレクトリに上げて「.htaccess」としてやれば済むのですが、
既に「WP-DBManager」のバックアップ保存ディレクトリには「.htaccess」が入っています。

あれ?と思って管理画面のDBオプションを見ると、
バックアップパス(フルパス)が旧サーバーのパスのままになっています。

というわけで、このバックアップパスを新サーバーのパスに変えてやればOK。

私が行なった修正はこれだけですが、利用しているプラグインによっては
他にも設定しなくてはならないものがあるかもしれません。





■DNSの設定情報が反映される前のサイトの確認方法(HOSTSの編集)

無事アップロード出来たかどうかは、サイトを表示してみなくては分かりませんが、
上の作業を追えた時点ではDNSの情報が反映されておらず、
自サイトにアクセスすると旧サーバーのページが表示されます。

それだと正常に移転できたかどうか分からないので、確認する為に「hosts」ファイルを編集します。

hostsはIPアドレスとドメイン名の対応を定義するファイルで、
新サーバーのIPアドレスと今回移転したドメインをhostsに記述する事で、
自分のPCのみですが新サーバのページを確認する事が出来ます。

【hosts.txtの場所】

C:¥WINDOWS¥system32¥drivers¥etc

上記のフォルダ内にあるhosts.txtを開き、

IPアドレス ドメイン名

と記載して保存すればOK。
ブラウザを起動し、サイトを開くと新サーバーのページが表示されます。

新サーバーのIPアドレスの調べ方ですが、ドメインからIPアドレスを割り出すツールを
公開しているサイトがあるので、検索して調べると良いと思います。
(それかnslookupコマンドを利用するか、ホスティング会社に問い合わせるか)


ただ上記のhostsファイル、Win 7やVistaだと管理者権限で実行する必要があります。
その場合の方法はというと・・

メモ帳(テキストエディタ)を右クリックして「管理者として実行」
そしてメモ帳のメニュー「ファイル」→「開く」より

C:¥WINDOWS¥system32¥drivers¥etc¥HOSTS

を開きます。
後は上に記載したやり方通りにIPアドレスとドメイン名を記述して保存します。

大抵の場合はこれで確認できると思います。





■最後に

新サーバーに変えてからというもの、当然ですが以前よりも作業がかなり快適です。
面倒で結構長い間移転を迷っていたのですが、変えてよかったと思います。

移転前のlolipopも値段を考えるとサービス内容は決して悪くありません。
(プランにもよりますが、下は月額105円~と激安。さすがに105円では容量2GBと知れていますが、
昔は1GB・・いや、200MBで月額200幾らでした。 ロリポップ!レンタルサーバーの詳細


普通の(データベースなどを利用しない)サイト運営だったらlolipopでも全然余裕でしたが、
自分は多分これからも新しくWordPressのサイトを作ったりすると思うので、
どちらにしろ移転はしなければならなかったと思います。(※)

※lolipopがWordPressサイトの運営に適さないと言う意味ではありません。
 まだ借りているlolipopサーバーは他にもありますが、そちらでのWPサイトは快適に運営できています。

hetemlはサービス開始当初は自分的にそれ程魅力ではなかったのですが、
最近のサービス追加や向上は目覚しいものがあります。

lolipopよりは高価だといっても、サービス内容の割には価格は抑えられており、
コストを抑えた上でそれなりの内容のサーバーを借りたい場合には、中々よいサービスだと思います。
hetemlの詳細



というわけで、長くなりましたがとりあえずサーバー移転に関しては以上です。