サーバー引っ越し完了

必要に迫れてきたこともあり、レンタルサーバーを「ロリポップ」から「Xserver」へ切り替え、ブログ(WordPress)の引っ越しが完了しました。私が管理しているサイトが他にいくつかありますが、バックアップを取ったにも関わらず、フォルダ丸ごと消してしまって、完璧に失敗したサイトもありました。消えても問題ない記事も多いんですが、情熱を注いで書いた窯元巡りの記事もあったので、このサイトだけは完璧に元通りにしたいと思い、重い腰を上げて真剣に取り組みました。

今の時代、すでに同じことを経験している人がネットで情報を公開していることが多く、それがとても役に立ちました。phpファイルの修正については、調べたソースコードをコピペして済ませたので、意味が分からないことも多いです。

結果、データベースの移行作業について、少し理解できたような気がします。以前はプラグインのエクスポートツールを使ったことがありますが、今回の方法が確実で早いと思いました。WordPressを使う上で、どうしてもこのあたりの部分は押さえておかないといけないので、試してみて良かったです。理論上で分かっているのと、実際にやってみるのは訳が違うと思いました。

記事で使用している画像ファイルのダウンロードやアップロードについては、コマンドラインでFTP操作できるととても早いと思いますが、勉強不足だったので地道にFTPツールを使いました。これまでアップロードした画像ファイルが5GBほどあったので、古いサーバーからのダウンロードと新しいサーバーへのアップロードにかなりの時間を要しました。

3日間の作業でだいたい元通りになりました。移行が完全に終わってから、ネームサーバーの切り替えを行うのがベターです。ネームサーバーの切り替えが落ち着くまでには72時間ほどかかるので、3日間は古いサーバーにアクセスしたり、新しいサーバーにアクセスしたりと不安定な状況が続きます。

ロリポップでは「スタンダードプラン(月額500円)」を使っていましたが、Xserverでは一番安いプランでも、年間の費用はこれまでの2倍ほどになります。表向きの機能には大差ないのかと思っていましたが、実際に使ってみると、高速で安心だと思いました。ドメインの取得と管理は「ムームードメイン」で行っていましたが、今後もそのまま継続します。

作業手順が詳しく書かれているサイトもありましたが、うまくいかない部分もあったので、今後のために備忘録を残しておきます。ここでは移行手順を詳しく書いてあるわけではなく、私が躓いた部分のみです。同じようなケースでこのページに辿り着いた方には、あまりお役に立たないと思います。m(__)m

1.旧サーバーのデータをバックアップ

データのバックアップについては、backwpupプラグインを使用しました。データベース、アップロードした画像、インストールしたプラグインなどをまとめてバックアップができます。指定したスケジュールでバックアップを取れるし、Dropboxへ直接保存ができとても便利でした。作成されたバックアップファイルは圧縮されているので、解凍して使います。

wordpress_backup

サーバーにアップロードした画像ファイルなどは問題なく使えましたが、データベースについてはロリポップ側でアクセス制限されているのか、エラーが出てしまったので、次の方法でバックアップを取りました。

2.旧サーバーでデータベース(テーブル)のエクスポート

上記プラグインを使って、データベースの復元時を試みたところ、エラーが出てしまったので、ロリポップの管理画面に入って、phpMyAdminを使って手動で行いました。エクスポート方法の選択画面にある「簡易」でもダメだったので、「詳細」にして、他のオプションはそのままで実行しました。

mysqlエクスポート

3.新サーバーでデータベース(テーブル)の削除

新サーバー側では、自動インストールでWordpressのインストールを済ませておきます。こちらもサーバーパネルから、phpMyAdminに入って、すでに出来上がっているテーブルを全て削除しました。

mysqlインポート削除

4.新サーバーでデータベース(テーブル)のインポート

旧サーバーからエクスポートしたファイルを選択し、インポートを実行します。

mysqlインポート

5.新サーバーのwp-config.phpを変更する

WordPressをインストールしたフォルダにFTPツールで接続し「wp-config.php」ファイルをダウンロードして、修正します。phpファイルを書き換えるときは、テキストエディタを使いますが、Windowsについている「メモ帳」ではダメです。私はフリーソフトの「Terapad」や「SublimeText」を使っています。

$table_prefix  = ‘wp○○_’; の部分を、旧サーバーのデータベースで使っていたものに書き換えて、このファイルをサーバーにアップロードするだけでいいはずですが、Wordpressの管理画面にアクセスしたところ、真っ白になりました。

wordpressをインストールしたフォルダが、ルート直下でなかったためかもしれません。調べたところ同じような事例があったので、再度「wp-config.php」に下の記述を追加して、アップロードし直しました。

define(‘WP_SITEURL’, ‘http://サイトのURL’);

デバックモードを有効にすると、どこでエラーが発生しているのか確認できるので、下の記述を書き換えました。(正しく表示されたことを確認して、元に戻しておきました)

define(‘WP_DEBUG’, true);

wordpress_wpconfig

6.新サーバーの管理画面にログイン

やっと見慣れた管理画面に入れました。「wp-config.php」で define(‘WP_SITEURL’, ‘http://サイトのURL’); を記述すると、管理画面で「WordPressアドレス」の変更はできなくなります。

データベースのインポートが上手くいけば、投稿した記事やコメントなどはキレイに復元されます。しかし、記事内に使っている画像データは、新サーバーにないので、画像部分が欠落してしまいます。

wordpress_管理画面

7.新サーバーのテーマの指定

カスタムテーマを使っている場合、テーマファイルのアップロードが終わっていないと、サイトが正しく表示されません。適当なテーマに変えておけば、公開サイトも正しく表示されます。

wordpress_テーマ

8.FTPツールで新サーバーへアップロード

あとは、FTPツールを使って、画像ファイルのアップデートをしていきます。1.の操作でバックアップしたデータを解凍します。画像ファイルのアップロード先は「wp-content」→「uploads」フォルダになります。このデータが約5GBあったため、2日がかりの作業になりました。テーマ(themes)やプラグイン(plugins)もそれぞれのフォルダにアップロードしていきますが、インストールしたまま使っていないものもあるので、必要なものだけをアップロードしていきました。

wordpress_ftp

これでキレイに元に戻りました。他のサイトもぼちぼち作業していきますが、データがなくなったのもあるので、真っ白からスタートするかもしれません。(^^ゞ