サカグチデザインオフィス

ブログBlog

サーバーの別フォルダにWordPressのテスト環境を作る

2012.05.26更新

WordPressのテスト環境をどう作るか、は結構悩みどころだと思います。

別サーバーに構築する方法もありますが、いざ本番環境に移してみたら動かないなどのリスクを回避するため、自分は同じサーバーの別フォルダにテスト環境を作っています。

今回はその手順を書いてみます。自分用のメモですがご参考になれば。
(作業時間の目安およそ60分)

本番環境でサイトが動いているけど、まだテスト環境が無い場合の方法です。ドメイン直下の「test」というフォルダにテスト環境を作ってみます。

http://hogehoge.jp/test/

ちなみにロリポップ、さくらインターネットで試したことがあります。

テスト環境を作る手順

本番環境での作業

  • ① キャッシュ系プラグインを停止
  • ② 最新ファイルをすべてダウンロード
  • ③ データベースをエクスポート

データの加工

  • ④ エクスポートしたデータベースファイルを加工し、テスト用データを作る

テスト環境での作業

  • ⑤ データベースファイルをインポート
  • ⑥ テスト用に加工したファイルをアップロード
  • ⑦ 最終設定をして準備完了

【本番環境での作業】① キャッシュ系プラグインを停止

これをしないとテスト環境なのに本番環境のファイルが出てきたりと大変なことになり、本当にハマります。

ちなみに自分が停止したプラグインは下記です。

  • DB Cache Reloaded Fix
  • MO Cache
  • WP File Cache(停止してもキャッシュファイルが消えなかったのでプラグインごと削除)
  • WP Super Cache(停止してもキャッシュファイルが消えなかったのでプラグインごと削除)

また、キャッシュ系プラグインの他にも下記も停止しました。

  • Google XML Sitemaps(テスト環境のファイルをGoogleに送信しないように)
  • WordPress Backup (by BTE)、WP-DBManager等のバックアップ用プラグイン

サーバーにFTPなどでログインし、「plugins」フォルダ内の各キャッシュファイルが消えているかを確認してください。(WP Super Cacheのキャッシュファイルはpluginsフォルダ内にはなく、ひとつ上の階層のcacheフォルダ内にあります。)

【本番環境での作業】② 最新ファイルをすべてダウンロード

ダウンロードの前に、もし今まで作業していたローカルフォルダに上書きするならどこかへバックアップしておくことを忘れずに。

そのあと、本番環境にある最新ファイルをすべてダウンロードします。

【本番環境での作業】③ データベースをエクスポート

本番データベースをエクスポートします。レンタルサーバーならサーバー管理画面にデータベースを見るメニューがあると思います。見るツールは大体はphpmyadminだと思います。phpmyadminにログインし、データをエクスポートします。

もしWordPressを複数運用している場合は、どれが該当するテーブルなのかがわからないので、本番のwp-config.phpよりテーブル接頭辞を確認しておきます。

エクスポート時にphpmyadminの生成オプションの追加オプションで「DROP TABLE / VIEW / PROCEDURE / FUNCTION / EVENT コマンドの追加」にチェックしておくと便利です。もともとテーブルがあった場合に一旦削除してから作り直してくれます。

【データの加工】④ エクスポートしたデータベースファイルを加工し、テスト用データを作る

エクスポートしたデータベースファイルはバックアップファイルとして1つコピーして残しておき、テスト用のデータベースファイルを作ります。

テーブルの接頭辞を変更してテスト用のデータベースを作ります。テーブルの接頭辞を変えないと本番のデータを上書きしちゃうので注意。

テーブルの接頭辞をwp_から別のものに変更。例えばtest_wp_など。
(日付とか入れておくと管理しやすいかも「20120101_test_wp_」とか)

「wp_」を「test_wp_」に一括置換

また、URLも変更。

「http://hogehoge.jp」を「http://hogehoge.jp/test」に一括置換  (http://をつけないとメアドとかまで変わっちゃいます。)

その他、サーバーの絶対パスも変えます。 /home/users/1/hogehoge/web みたいな感じのパスです。「recently_edited」とかで検索すると出てくるかもしれません。絶対パスは利用しているサーバーによって変わります。

・「/home/users/1/hogehoge/web」を「/home/users/1/hogehoge/web/test」に一括置換

※プラグインによって他に変更するものもあるかもしれませんので、残りものが無いか、または変な置換していないか、ドメインなどで検索して目視でチェックしてみてください。

※Redirectionプラグインを使っているとredirection_itemsテーブルのURLが’/hogehoge/・・・’となっているので’/test/hogehoge/・・・’と変更が必要になる場合があります。設定している数が少なければ移行後に管理画面から設定しなおすのでもOKです。

【テスト環境での作業】⑤ データベースファイルをインポート

テスト用ファイルが用意できたらphpmyadminでログインしてデータをインポートします。

以上でデータベースの準備は終了です。

【テスト環境での作業】⑥ テスト用に加工したファイルをアップロード

ファイルのダウンロードがすべて終了したら、wp-config.phpをコピーし、リネーム(例えばwp-config_main.php)して本番用としてバックアップ。

wp-config.phpファイル内にあるテーブルの接頭辞を「wp_」から「test_wp_」に変更。

.htaccessをコピーしてリネーム(例えば.htaccess_main)して本番用としてバックアップ。

.htaccessを下記に変更してテスト用にする。

# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /test/
RewriteRule ^index.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /test/index.php [L]
</IfModule>

# END WordPress

※上記内容の他にも記述がある場合、適宜変更の必要があります。

(ここで一旦アップロードする前に、ファイルを整理整頓しておくと良いです。良い機会なので。)

hogehoge.jp/testフォルダに最新ファイルをすべてアップロード

【テスト環境での作業】⑦ 最終設定をして準備完了

  • WordPressの管理画面より、設定のプライバシーから、「検索エンジンによるサイトのインデックスを許可しない。」にチェック
  • sitemap.xmlがある場合は削除
  • google analyticsのタグを外す

以上でテスト環境として十分かと思います。本番環境のキャッシュ系プラグイン等を元に戻しておくことを忘れずに。

※ちなみに「ページが見つからない」などになってしまった場合は、.htaccessに問題があるかもです。

追記

ウィジェットが移行されていない場合がありますので、「Widget Importer & Exporter」あたりのプラグインでウィジェットのエクスポート&インポートを行ってください。

ウェブ戦略にお悩みですか?

御社のWEB事業部となって、分析とデザインで集客から売り上げまで改善します!
デザインは2005年から。携わったHPは200件以上!