私が管理している複数のサイトのサーバ移行が完了しました。
特に嵌ることもなくスムーズに行えたので紹介します。

具体的な内容

wordpressをインストールしたサイトの移行です。
自宅サーバでは、CentOSでサーバ構築し、Apacheによるサイト構築、MySQLによるデータベースを元にwordpressをインストールしていました。
ドメインは「VALUE DOMAIN」で取得しています。
引越し先のレンタルサーバは「エックスサーバー」にしました。
容量、速度、安定性、管理のしやすさ、バックアップなどオススメできるレンタルサーバだと思います。
またPHP、.htaccess、MySQLもちゃんと使えるのでwordpressを使用できます。
wordpressの自動インストールの機能も付いています。(もともとwordpressで作成したサイトを持っている場合は必要ありませんが。)
teratermなどでsshによるサーバアクセスも出来るのでサーバ管理がしやすいです。

移行の手順

大まかな流れ

  • 元サイトのデータベース、サイトファイルのバックアップ
  • 移行先にディレクトリやデータベースの場所を確保
  • 移行先に元サイトのデータをコピー
  • wp-config.phpの書き換え
  • ドメインサーバの参照先を移行先のサーバに変更

必要なもの

作業には「teraterm」などsshによりサーバにアクセスできるエミュレータソフトがあれば充分です。

元々にwordpressで作ったサイトがあること、ドメインを取得済みであること、レンタルサーバに登録していることなどは前提として進めていきます。

手順詳細

サーバにはteratermなどのエミュレータソフトでアクセスします。
元サイトがssh接続に対応していない場合は、直接コマンドを打ち出来上がったバックアップファイルをUSBなどでクライアントPCに移動させても可能です。

元サイトのデータをバックアップ

元サイトのwordpressのサイトのディレクトリ全体と使用しているデータベースを丸ごとバックアップします。
まずはwordpressの入ったディレクトリを丸ごと圧縮。

http://example.com/blog
上記のような場合のblogディレクトリを丸ごと圧縮します。
CentOSでサーバを作っている場合は「/var/www/html/blog」に相当します。

*ルートディレクトリでwordpressを表示させている場合は一度、wordpressのあるディレクトリで表示するように直してからのほうが良いかもしれません。
index.phpのファイルの場所に.htaccessも生成されてしまうため。

これでblog.tar.gzという圧縮ファイルができます。

続いて、データベースのバックアップをします。
blogというデータベースをwordpressで使用している場合として進めます。

これでblogdb.sqlというファイルが出来ます。

以上で出来上がったファイルをクライアントPCに移動させて保存します。
teratermの場合はSSH SCPという項目から出来ます。

これでバックアップは完了です。

移行先に場所の確保

これはエックスサーバという前提で進めます。

まずドメインの追加。
メニュー項目からドメインの追加を押すことでドメインに対応したディレクトリの作成が行われます。
続いて、そのディレクトリの中にwordpressを入れるディレクトリを作成します。

teratermで移行先サーバにアクセスしコマンド入力。

これでblogというディレクトリが作成されます。

次にデータベースの場所確保です。
MySQL5設定から新しくデータベースとユーザを作成します。

ユーザには作成したデータベースへのアクセス権限を与えます。

元サイトデータを移行先へコピー

teratermで移行先サーバへアクセスし、SSH SCPで上記で作成した2つのファイルをアップロードします。
ルートディレクトリに「blog.tar.gz」「blogdb.sql」があることを確認します。

まずはサイトファイルを展開し、上記で作成したディレクトリへコピーします。

このコマンドでblog.tar.gzが展開されます。
上記の場合はvarというディレクトリが作成されます。
そして、その中にあるblogのディレクトリを新しく作ったディレクトリへコピーします。

これでサイトファイルの移行が終了です。

続いてデータベースの移行です。移行先に作ったデータベースとユーザ名、パスワードを間違えないように注意する。
サーバ情報でホスト名が確認出来ます。

のコマンドのあとにデータベースのパスワードを入力すると、データベースに元データがインポートできます。

これでデータベースのコピーも完了です。

config.phpの書き換え

teratermでサーバにアクセスし、wp-config.phpの書き換えをします。

これでwp-config.phpの編集画面に入れます。

「データベース名」「ユーザ名」「パスワード」「ホスト名」を自分の設定どおりに書き換えます。

以上で移行手順がほぼほぼ完了したことになります。

ドメインサーバの参照先の書き換え

私の場合はVALUE DOMAINを使用しています。
ネームサーバをエックスサーバに書き換えることで参照先がエックスサーバとなります。

エックスサーバのネームサーバ名はサーバ情報から見ることが出来ます。
私の場合はnsX.xserver.jp(Xは1~5)

反映には少し時間が掛かりますがしばらくすると参照先がエックスサーバへ変更され、サーバの移行は完了です。