公開中のWordPressをコピーしてローカルにテスト環境を構築する

WordPressサイトをリニューアルする場合、公開中の記事などをそのままローカルにコピーして作業したいところです。先日、私もkudox.jpのテーマをリニューアルしたのですが、ローカルにテスト環境を構築したおかげで、かなりスムーズに作業することができました。今回は、公開中のWordPressをコピーして、ローカルにテスト環境を構築する手順を紹介したいと思います。

ローカルにデータベースを作成

最初にphpMyAdminを使ってローカルにWordPress用のデータベースを作成しますが、その前にローカルにApacheやphpMyAdminをインストールしておく必要があります。私はMacportsを使用していますが、XAMPPやMAMPでも問題ないと思います。MacportsでのApacheやphpMyAdminのインストールについては、過去記事で解説していますので、下記リンク先をご覧下さい。

データベースの作成

まず、WordPress用のデータベースを作成しましょう。phpMyAdminにログインして、上部のメニューでデータベースを選択します。表示された画面の「データベースを作成する」の項目でデータベース名を入力し、公開サーバーと同じ照合順序を選択したら、作成ボタンをクリックします。

データベース作成画面

ユーザの作成

次にユーザを作成します。phpMyAdmin画面上部のメニューでユーザを選択し、表示された画面で「ユーザを追加する」を選択します。表示されたポップアップ画面でユーザ名、ホスト、パスワードを入力しますが、ホストの項目は左のプルダウンメニューでローカルを選択します。下部のユーザ専用データベースはなしのままにして、右下の「ユーザを追加する」ボタンをクリックします。

ユーザ作成画面

ユーザにデータベースの特権を付与

続いて、ユーザに先程作成したデータベースに対する特権を与えます。phpMyAdmin画面上部のメニューでユーザを選択し、ユーザ概略の中から先程作成したユーザの「特権を編集」をクリックします。

ユーザ概略画面

表示されたポップアップ画面の「データベースに固有の特権」内のプルダウンメニューで先程作成したデータベースを選択し、右下の実行ボタンをクリックします。

データベースに特権を追加画面

続いて表示された画面で「データベースに固有の特権」の横にある「すべてチェックする」をクリックして、右下の実行ボタンをクリックします。

データベースに固有の特権画面

データベースのエクスポート

次に公開サーバーのphpMyAdminにログインして、データベースをエクスポートします。左側のリストでデータベースを選択したら、上部のメニューでエクスポートを選択します。オプションの構造の項目で「DROP TABLE / VIEW / PROCEDURE / FUNCTION / EVENTを追加」にチェックを入れて、右下の実行ボタンをクリックするとsqlファイルをダウンロードできます。

phpMyAdminのエクスポート画面

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

パスの置換

データベースのインポートを行う前にデータベース内のパスを置換しておきましょう。先程ダウンロードしたsqlファイルをエディタで開き、検索文字列で公開URLのドメイン名、置換文字列でテストサーバーURLのドメイン名を入力し、検索/置換を実行します。ちなみに私は、エディタとしてSublime Text2を使用しました。

エディタの検索/置換画面

php.iniの設定確認

通常、sqlファイルはそれなりのサイズになるので、データベースをインポートする際にphp.iniの設定に引っ掛かる可能性があります。php.iniを開いて、下記項目がsqlファイルより大きくなるように設定を変更しておきましょう。ちなみにMacportsの場合、php.iniは/opt/local/etc/php5/にあります。

php.ini

post_max_size = 32M
upload_max_filesize = 32M

ローカルのデータベースにインポート

php.iniの設定を確認したら、ローカルのデータベースにインポートします。phpMyAdminにログインして、左側のリストで先程作成したデータベースを選択し、上部のメニューでインポートを選択します。表示された画面で、アップロードファイルに先程編集したsqlファイルを指定し、実行ボタンをクリックします。

データベースのインポート画面

wp-config.phpの編集

公開サーバーからFTPでrootディレクトリをダウンロードし、Apacheのhtdocsに設置します。そして、WordPressディレクトリ内のwp-config.phpをエディタで開き、MySQLの設定を編集します。データベース名、ユーザー名、パスワード、ホスト名をphpMyAdminで設定した値に変更します。

wp-config.php

/** WordPress のためのデータベース名 */
define('DB_NAME', 'kudox_jp_test');

/** MySQL データベースのユーザー名 */
define('DB_USER', 'kudox_jp_user');

/** MySQL データベースのパスワード */
define('DB_PASSWORD', 'パスワード');

/** MySQL のホスト名 */
define('DB_HOST', 'localhost');

Apacheの設定

最後にApacheの設定を行い、ローカルに設置したディレクトリにhttpでアクセスできるようにしましょう。複数のテストサイトを起ち上げたい場合には、Apacheのバーチャルホストを使うと便利です。バーチャルホストに関しては、過去記事で解説していますので、下記リンク先をご覧下さい。