読者です 読者をやめる 読者になる 読者になる

【wordpress】検証環境構築方法

概要

本番環境のデータを使ってwordpress検証環境を作成してみました。

本環境と同じホストに検証環境を作成する場合、DB設定を間違えるとたいへんな事故(データの紛失)が起こる可能性があります。くれぐれもご注意ください。

最初は、ローカル環境で試してみてください。

方針

以下の検証環境を構築します。DB名だけでなく、ユーザ名、パスワードも変えている方が安全です。

本番環境 検証環境
URL http://wordpress.com http://test.wordpress.com
パス /var/www/wordpress /var/www/test.wordpress
DB名 wp test_wp

手順

ドメイン・ゾーンを編集します

test.wordpress.comを追加します。

バックアップを作成します

mysql

ユーザーは、権限があるユーザーであればroot以外でもOKです。

mysqldump -u root -p wp > xxx.dump
wordpress

同一ホストであればコピーできます。

# cp -rp /var/www/wordpress /var/www/test.wordpress
# chown -R apache:apache /var/www/html/test.wordpress

編集します

mysql

DBの中にある、http://wordpress.comを変更後のhttp://test.wordpress.comに変換します。

$ sed -e 's/http:\/\/wordpress.com/http:\/\/test.wordpress.com/g' xxx.dump < yyy.dump

検証環境用のDBを作成し、データをimportします。

$ mysql -u root -p
mysql> create database wp3 default character set utf8;
mysql> grant all privileges on test_wp.* to ユーザー名@localhost identified by 'パスワード';
mysql> exit;
$ mysql -u root -p test_wp < yyy.dump
wordpress

wp-config.phpのDBに関する設定を検証環境のものに変更します。 安全(secure)な名前/パスワードを設定してください。

define('DB_NAME', 'test_wp');

/** MySQL database username */
define('DB_USER', 'aaaa');

/** MySQL database password */
define('DB_PASSWORD', 'bob');

apacheの設定を変更します

/etc/httpd/conf/httpd.confを修正します。

検証環境には一般に公開しないので、Basic認証を設定していた方が良いと思います。

Basic認証のパスワード作成方法は、Webにたくさん存在します。たとえば、 Webサーバ構築〜Apacheインストール・Basic認証 - Qiitaを参照してください。

<VirtualHost *:80>
    DocumentRoot /var/www/test.wordpress
    DirectoryIndex index.php
    Options -Indexes
    ServerName test.workdpress.com

    <Directory /var/www/test.wordpress>
        AllowOverride All
        AuthUserFile /var/www/.htpasswd
        AuthName "Enter your ID and password."
        AuthType Basic
        require valid-user

        <fModule mod_rewrite.c>
            RewriteEngine On
            RewriteRule ^index\.php$ - [L]
            RewriteCond %{REQUEST_FILENAME} !-f
            RewriteCond %{REQUEST_FILENAME} !-d
            RewriteRule . index.php [L]
        </IfModule>
    </Directory>
</VirtualHost>

apacheを起動します。

$ sudo service httpd reload