wordpressを既存のものからコピーで立ち上げる

いつも忘れるのでそろそろ記録を残しておく。

環境

すでにこの環境で動いているWordpressサイトが1つあるとする。

やりたいこと

すでに動いているWordpressをうまくコピーして、新しいサイトを立ち上げる。テーマやプラグインは引き継ぐが、記事やカテゴリなどのコンテンツは引き継がない。

手順

  1. php-fpmの設定ファイルを追加
  2. nginxの設定ファイルを追加
  3. mysqlにユーザーとデータベースを追加
  4. wordpressのディレクトリをコピー
  5. wp-config.phpを設定
  6. php-fpm, nginxの再起動

php-fpmの設定ファイルを追加

/etc/php-fpm.confに include するディレクトリを指定している。そこに既存の設定ファイルがあるはずなのでコピーする。

cp old_fpm.conf new_fpm.conf

pool名とポート番号だけ最低限書き換える。

new_fpm.conf

- [old_site]
+ [new_site]

- listen = 127.0.0.1:9001
+ listen = 127.0.0.1:9002

nginxの設定ファイルを追加

nginxの設定ファイルのディレクトリに既存の設定ファイルがあるはずなのでコピーする。

cp old_nginx.conf new_nginx.conf

ドメイン、ドキュメントルート、ポート番号だけ書き換える。

new_nginx.conf

     - server_name old_env;
     + server_name new_env;
     - root old/wordpress
     + root new/wordpress
  
     location ~ \.php$ {
         - fastcgi_pass   127.0.0.1:9001;
         + fastcgi_pass  127.0.0.1:9002;
     }
}

mysqlにユーザーとデータベースを追加

> create database new_wp_db default character set utf8mb4;
> grant all privileges on new_wp_db.* to wp_db_dev@localhost identified by 'hogehoge';

wordpressのディレクトリをコピー

wp-config.phpを含むディレクトリをまるごとコピーする。

cp -r old_wordpress new_wordpress

wp-config.phpを設定

データベース情報を書き換える。

define('DB_NAME', 'new_wp_db');
define('DB_USER', 'wp_db_dev');
define('DB_PASSWORD', 'hogehoge');

キーやソルトを書き換える。

php-fpm, nginxの再起動

$ sudo /etc/init.d/php-fpm restart
$ sudo /etc/init.d/nginx restart

再起動でOKが出たら、ブラウザからアクセスする。設定画面が表示されていたらおしまい。