BackWPupでバックアップしたWordPressサイトをローカルPCに復元する方法
レンタルサーバーにお試し感覚で作成していたWordPressサイトも、カスタマイズが進んでくると、一度ローカルPCなどのテストサイトでカスタマイズ内容を確認してから本番サイトにアップロード、反映するような作業が必要になってきます。
そこで、BackWPupプラグインでバックアップしたデータを元に、WordPressサイトをローカルコンピュータに復元する方法を紹介します。事前に行うWordPressサイトのバックアップ方法については以下のページをご覧ください。
BackWPupによるWordPressサイトのバックアップ方法
以下の記事はローカルコンピュータに、WordPressの動作に必要なPHPとMySQLの動作環境を構築する定番ツールXAMPPがインストールされていることを想定しています。
この記事の内容
ファイル一式のコピー
BackWPupプラグインで作成したバックアップファイルを解凍します。そのディレクトリの中にWordPress本体のwp-admin、wp-content、wp-includesのディレクトリ群があることを確認し、ファイル一式を、PHPが動作するディレクトリ(例:C:\xampp\htdocs\)にコピーします。

コピーしたディレクトリを任意の名前に変更します。このディレクトリ名はWordPressサイトのURLに使われます(例:http://localhost/wpc/nishizawa/)。

このディレクトリの中は次のような構成になっています。wp-admin、wp-content、wp-includesのディレクトリ群(1)、が含まれていない場合は、バックアップをやり直してください(または、FTP経由でダウンロード)。

拡張子がsqlのデータベース作成スクリプト(2)が含まれていない場合は、データベースのバックアップを有効にして、バックアップをやり直してください。設定ファイル(3)は後で編集します。
データベースの作成
ここから、データベースを復元していきます。ローカルコンピュータのXAMPPに付属するデータベース管理ツールphpMyAdminを使う例で説明します。
XAMPPのトップページ(http://localhost/)にアクセスして、「phpMyAdmin」をクリックします。

※phpMyAdminのURL(http://localhost/phpmyadmin/)に直接アクセスすることもできます。
データベースを作成するため、「データベース」をクリックします。

作成するデータベースの名前(1)を入力し、照合順序(2)で「utf8_general_ci」を選択し、「作成」ボタン(3)をクリックします。

データベースが作成され、一覧表示されます。

このデータベース名は、設定ファイル(wp-config.php)に入力します。メモしておきましょう。
データベースの復元
上記のデータベース名をクリックして、データベースメニューに移動します。

「このデータベースにはテーブルがありません」と表示されるはずです。ここに、WordPressのデータベースを復元します。
「インポート」(1)をクリックして、データインポートメニューを開きます。

「ファイルの選択」をクリックして、バックアップファイルに含まれるSQLファイルを選択(2)し、すぐ下の「ファイルの文字セット」が「UTF-8」になっていることを確認します。
場合によってはインポートが長時間におよぶこともあるので、「制限時間が近くなったときにスクリプト側でインポートを中断できるようにします。」のチェック(3)をはずしておきましょう。
フォーマット(4)が「SQL」になっていることを確認し、画面を下にスクロールして「実行する」ボタンをクリックします。
データのインポートが実行され、WordPressデータベースが復元されます。
インポートが完了すると、WordPressのデータが格納されたテーブルが一覧表示されます。デフォルトでは11個ですが、インストールしたプラグインによってテーブルが作成される場合があるので、テーブル数はさまざまです。

テーブル名はデフォルトでは「wp_posts」のような名前ですが、バックアップしたWordPressのインストール時に指定した接頭辞(接頭語)によっては「wp_fudosan_posts」などの名前になります。
インポートしたデータの確認
インポートがうまくいったか確認するため、投稿や固定ページが格納されているwp_postsテーブル(ここでは「wp_fudosan_posts」)のリンクをクリックしてみましょう。
※マウスオーバーすると、データ件数が表示されます。

データが一覧表示され、「サンプルページ」など、見覚えのある投稿や固定ページの内容が表示されるはずです。バックアップファイルからWordPressデータベースが復元されたということです。


「本当に実行しますか?」の確認画面が表示されるので、「はい」をクリックします。

テーブルが削除され、「このデータベースにはテーブルがありません」の状態に戻ります。

※くれぐれも、関係のないデータベースのテーブルを削除しないように注意しましょう。
設定ファイル(wp-config.php)の変更
データベースは復元できたので、wp-config.phpを開いて、新たなデータベースを使うために設定を変更します。まず、次の4項目です。
/** WordPress のためのデータベース名 */ define('DB_NAME', 'データベース名'); /** MySQL データベースのユーザー名 */ define('DB_USER', 'ユーザー名'); /** MySQL データベースのパスワード */ define('DB_PASSWORD', 'パスワード'); /** MySQL のホスト名 */ define('DB_HOST', 'localhost');
データベース名は、上記で作成したデータベースの名前に変更します。ユーザー名とパスワードは、phpMyAdminにアクセスするために使った情報を設定します。よくわからないときはユーザー名を「root」にパスワードを空「''」にしてみてください。
ホスト名はデータベースサーバーの名前です。ここではローカルコンピュータを想定しているので「localhost」で大丈夫なはずです。
さらに、次の2行を入力します。
define('WP_SITEURL', 'http://localhost/wpc/nishizawa/'); define('WP_HOME', 'http://localhost/wpc/nishizawa/');
これは、「設定」‐「一般」メニューで設定されている「WordPress アドレス (URL)」「サイトアドレス (URL)」を強制的に変更する設定です。復元先のURLがバックアップ元と異なる場合、うまく動作しないための措置です。
※変更といっても、WordPressデータベースの設定は変更されません。動作上、wp-config.phpに記述した設定が優先されるということです。
ダッシュボードの次の項目が強制的に設定されます。

※この項目はデータベースのwp_optionsテーブルのoption_nameフィールドが「siteurl」「home」のデータを直接変更することで設定できますが、話が長くなるので説明は省略します。
復元したWordPressサイトへのアクセス
復元したWordPressサイトにアクセスします。XAMPPの場合、htdocsディレクトリが「http://localhost/」というアドレスになるので、それを基準にします。
たとえば、「htdocs\wpc\nishizawa」という位置にバックアップファイル一式をコピーした場合、「http://localhost/wpc/nishizawa/」というアドレスになります。

※WordPressをインストールするわけではないので、インストール画面は表示されません。もしインストール画面が表示されるようなら、データベース設定が間違っているということです(新たなデータベーステーブルを作成しようとしている)。
画面が真っ白になる場合は、使用中のテーマがバックアップに含まれていなかったことが考えられます。

この場合、元のサイトの「wp-content\themes\テーマ名」ディレクトリを、復元したサイトのwp-content\themesディレクトリにコピーしましょう(バックアップをやり直しても大丈夫です)。

※この画面は、FTPソフト「FFFTP」の例です。
また、バックアップにプラグイン(wp-content\pluginsディレクトリ)を含めなかった場合も、必要に応じてFTPなどでダウンロードしましょう。
バックアップしたサイトで使っていたテーマの名前を忘れてしまった場合は、phpMyAdminを使って次の方法で確認できます。
phpMyAdminで、復元するWordPress用に作成したデータベースのメニューにアクセスし、「SQL」をクリック(1)し、開いた画面のテキストエリア(2)にSQLを入力します。

入力したSQLは次のとおりです。
SELECT * FROM wp_fudosan_options WHERE option_name = 'current_theme'
※便宜上、改行していますが、1行で入力しても大丈夫です。
※テーブル名の「wp_fudosan_options」はWordPressインストール時の接頭辞によって異なりますが、デフォルトでは「wp_options」です。
画面右下の「実行する」ボタンをクリックすると、テーマ名が表示されます。ここでは、Twenty Tenを使っているということです。

ダッシュボードにログイン
元のサイトのダッシュボード(http://WordPressアドレス/wp-admin/)には、元のサイトで使っていたユーザー名、パスワードでログインすることができます。

「パーマリンクの更新」を忘れずに!
ダッシュボードにログインしたら、とりあえず、「設定」‐「パーマリンク設定」メニューで「変更を保存」ボタンをクリックしてください。

パーマリンク設定を変更していなくても、お約束として「変更を保存」ボタンをクリックしましょう。これで、個別ページを参照できるようになります。
投稿・固定ページの確認
投稿、固定ページ、各種設定などが復元されていることを確認しましょう。

※コンテンツを復元するために、「ツール」‐「インポート」メニューからインポートする必要がないということです。
ただし、アップロードした画像のパスなど、投稿や固定ページの本文にあるURL情報がバックアップ元のサイトのままだということに注意しましょう。

用途によってはそのままでも問題ありませんが、必要に応じてSearch Regexプラグインなどで本文のURLを置き換えましょう。その方法は以下の記事を参考にしてください。
WordPressサイトの移行後、インポートした投稿や固定ページの画像が表示されない
プラグインの確認
wp-content\pluginsディレクトリ以下に各プラグインをコピーしていない(バックアップしていなかった場合など)に、「プラグイン」‐「インストール済みプラグイン」メニューにアクセスすると、エラーメッセージが表示されます。

これは、復元したデータベースでは「Aプラグインを使用中」となっていたのに、そのプラグインがwp-content\pluginsディレクトリ以下に存在しないため、いったんプラグインを停止したというメッセージです。
この場合、使用中のプラグインをインストールし直すか、バックアップ元のwp-content\pluginsディレクトリを復元先にコピーしてプラグインを有効化すれば大丈夫です。
まとめ
このようにして、WordPressサイトの復元(サイト移転・サイトコピー)は完了です。まとめると、以下のファイルを復元しました。うまくいかなかった場合は、バックアップをやり直したり、不足するリソースをFTPでダウンロードするなどしましょう。
- WordPress本体 --- ファイル一式(wp-xxxxxディレクトリ)
- 設定ファイル(wp-config.php)
- SQLファイル(例:wordpress_nishizawa.sql) --- データベースをバックアップすると作成される
- テーマ --- wp-content\themesディレクトリ以下にある
- プラグイン --- wp-content\pluginsディレクトリ以下にある
これらはすべて、BackWPupプラグインでバックアップすることができます。詳しくは以下のページをご覧ください。