2011年8月末~9月上旬にかけて、WordPressを別サーバへ移転する作業を初めて行ったので、移行手順や必要な情報を、メモ代わりにエントリに残しておく。
■はじめに
そもそもWordPressを1年以上運用していながら、そんな事を全然意識していなかったのだけれど、WordPressで運用しているBlogの実体は、
・データベース (phpMyAdminなどでエクスポート/インポートが可能)
・画像などのファイル (FTPでダウンロード/アップロードが可能)
が二つに分かれて管理されている。
phpMyAdminなどでエクスポートできるデータベースには、文字通りWordPressにポストされたエントリなどの情報が保存されており、画像などのファイルには各種の画像メディア、プラグインファイル、WordPress本体などなどが保存されている。
*個人的には『ファイル』もデータベースに保存されているようなイメージだったので、この整理をしたことでかなりスッキリできた。
サーバの移転作業に伴い、最初にこの点を理解していなかったのが、移転作業のハードルを高くしていた大きな理由のひとつで、この区分が理解できてからは移転はだいぶラクに進めることが出来た(^ ^;
端的に言うと、このデータベースに保存されたファイルと、画像などのファイルを新しく利用するサーバにアップロードすればokで、必要に応じてドメインの設定の変更を追加で行う。
以下はその具体的な手順のkメモ。
■前提条件
移転前:さくらのレンタルサーバ「スタンダード」
移転後:さくらのレンタルサーバ「ビジネスプロ」
- FTPでファイルをダウンロードする
- wp-config.php書き換え
- ファイルをアップロードする
- phpMyAdminにログインしてデータベースをエクスポートする
- phpMyAdminでSQLファイルをアップロードする
- ドメイン割り当てを変更する
アップロードしたファイルの容量や数にもよるけれど、恐らく基本的にはこの作業が一番時間がかかるので、FTPでのファイルのダウンロードを最初に行っておくと、この後の作業がカンタンになる。
⇒WordPressでアップロードした画像、動画などの各種メディアや、ダウンロードしたプラグインなどが保存されており、ダウンロードすることが可能。
僕が試したところ、自分のユーザ名以下の”wwwフォルダ”以下をを一気にダウンロードしようとするとエラーになったので、cache関連のフォルダをダウンロード対象から除外してみたら問題なくダウンロードできた。
*この辺は使っているプラグインなどなどによって変わってくるのかも。
[ダウンロード時に除外したフォルダ]
www/wp-content/cache
www/wp-content/gt-cache
上記以外のファイルを、FTPでアクセスしてローカルPCにダウンロードした。
上記でダウンロードしたファイルのうち、
“wp-config.php”の、下記箇所を新しいサーバ環境に合わせて変更する。
*新しいサーバ/DB環境が決まってなかったら、後からでもok。
・WordPress のデータベース名
define(‘DB_NAME’, ‘hogehoge’);
WordPressがアクセスするデータベース名。
さくらインターネットサーバコントロールパネル
の『データベース名』に記載されている。
・MySQL のユーザー名
define(‘DB_USER’, ‘hogehoge’);
データベースのユーザ名。
さくらインターネットサーバコントロールパネル
の『データベース ユーザ名』に記載されている。
・MySQL のパスワード
define(‘DB_PASSWORD’, ‘PASSWORD’);
MySQLに設定したパスワード
さくらインターネットサーバコントロールパネル
『データベース 接続パスワードの変更』から変更が可能。
・MySQL のホスト名
define(‘DB_HOST’, ‘DBHOSTNAME’);
さくらインターネットサーバコントロールパネル
『データベース』に表示されている、”mysql109a.db.sakura.ne.jp”などのサーバ名を記入する。
書き換えした”wp-config.php”を上書き保存して、新しいサーバへファイル群をアップロードする
phpMyAdminにログインして、データベースのエクスポートを行う。
phpMyAdminにログイン > 自分のユーザ名を選択 > エクスポート
ファイルタイプは『SQL』を選択する。
最終的には全てのファイルをエクスポートするのだけれど、『さくらのレンタルサーバ』では、インポート時にアップするファイル容量が16MB/ファイルまでと制限されているので、それを越える場合は、エクスポートする対象のファイルを適宜区切って、複数ファイルに分割してエクスポートして、インポート時にファイルを複数回選択することで問題なくインポートすることが出来た。
ちなみに自分の環境では、2回に分割してエクスポートすることで、問題なくアップロードが可能だった。
エクスポートする際、下記項目にチェックを入れた。
*その他の設定項目は変えないでエクスポートした。
・「構造」欄の「DROP TABLE / DROP VIEWを追加」にチェック
・「データ」欄の「完全な INSERT 文を作成する」にチェック
新しい環境のphpMyAdminにログイン > 自分のユーザ名を選択 > インポート
で、先ほどエクスポートしたファイルをインポートする。
前述の操作でファイルが複数になっているときは、複数回の操作が必要。
必要に応じて、旧サーバに割り当てていたドメインの変更を行う。
ドメイン変更には最大で数日かかるのでこれは待つしかない(^ ^;
WordPressのサーバ移転を行ったのはWordPressでの運用を開始してから1年以上が経過した後だけれど、WordPressがどういう構造になっているのか知る事が出来たし、今後同じように移転作業をする事があっても、基本的な流れさえ抑えておけば移転作業はだいぶラクに行えるかなぁ…(^ ^)
最初は頭を悩ませながら一晩近くかけていた移行作業も、一度手順に慣れてくると数時間程度で完了するし、その間自分が作業するというよりはマシンと回線が頑張っている状態なので、実は手順に慣れてしまえばものすごくカンタンだったりする(^ ^;