ファイルは共通でデータベースだけ変えてWordpressのテストサイトを作る

ファイルは共通でデータベースだけ変えてWordPressのテストサイトを作る

テスト環境を作りたいのは、linux上のサブディレクトリ型マルチサイトです。同じサーバー上にテストサイトを作りました。
ソースコードをいじらないサイトなので、データベースだけ分けたかったのです。

しかし残念ながら、いくつかのファイルはテスト用に用意する必要がありました。

テストサイトのURLはtestのついたサブドメインにします。

  • 本番URL:altenergy.co.jp
  • テストURL:test.altenergy.co.jp
  • サーバーのIP:123.456.789.012

サブディレクトリ型なので、
altenergy.co.jp
altenergy.co.jp/site1
altenergy.co.jp/site2
のように、複数のサイトがあります。

1.ウェブサーバーにサブドメインのサイトを作る

altenergy.co.jpのDNSレコードを追加

httpd.confにバーチャルホストを追加

ウェブサーバーを再起動

2.テスト用のデータベースを作成

create database文でも、phpMyAdminからのデータベース作成でも。

3.ファイルを本番からリンク

アップロードした画像ファイルやプラグインやテーマはそのまま使いたい。
というかなるべくファイルは増やしたくない。

  • 本番のDocumentRoot:/var/www/honban
  • テストのDocumentRoot:/var/www/test

※ リンクを削除するとき

 

4.ファイルをコピー

/var/www/honban 直下のファイル
/var/www/honban/wp-admin 全て

wp-adminをリンクにすると、ダッシュボードに入れずに本番に転送されます。
あまり量もないので、FTPクライアントでローカルからファイルをアップロード。

コマンドでコピーしたときは、ウェブサーバーやFTPソフトからアクセスできるパーミッションに変えるのを忘れずに。

5.データベースをコピー

同じサーバーにあるデータベースなので、phpMyAdminでできます。

本番DBを選択

「操作」タブ

「データベースのコピー先:」にテストDB名を入力
構造とデータ を選択
コピーの前に CREATE DATABASE する をチェック
DROP TABLE / DROP VIEW を追加する をチェック
AUTO_INCREMENT 値を追加する をチェック

実行

6.URLをテスト用に書き換え

/wp-config.php

以下のテーブルの、URLが書いてあるフィールドをすべてテスト用のtest.がついたURLに書き換える

・wp_options、wp_[数字]_options ※マルチサイトの数だけ
・wp_blogs
・wp_site

サブディレクトリ型のマルチサイトなのでこうなります。サブドメイン型のときは下のリンクを。

※5と6をコマンドで行う方法はこちらにあります。別のサーバーにDBがあるとき、データ量が多くてphpMyAdminが止まるとき、マルチサイトが多くてURLの書き換えが面倒なときなどはこちら。参考SQL文もあります。
データベースが大きくて画面からインポート&エクスポートしきれないときに限らず、これがおすすめ」から。
※サブドメイン型のマルチサイトのURL書き換え箇所もここにあります。

heroku上の既存のwordpressサイトをPipelineにする(2017/09/05追記)

7.アクセス制限をかける

/.htaccessにベーシック認証やIPアドレス制限を追記