※webサーバはnginxを使用しています。
※ここではDNSの登録または変更作業は除きます。
テストドメイン)beforewp.com
↓
本番ドメイン)afterwp.com
1.nginx/conf.dに変更先ドメイン設定を追加
cd /etc/nginx/conf.d/
cp -p beforewp.com.conf afterwp.conf
vi afterwp.conf
# -----
server_name afterwp.com;
root /srv/www/afterwp.com;
# -----
nginx -t
service nginx restart
2.バックアップをとる
# テーマ等ファイルコンテンツのバックアップ
cd /srv/www/
cp -rp wordpress afterwp.com
# mysqlのdumpを取っておく
mysql -A -u root -p
mysql> show databases;
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- +
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
Database |
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- +
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
information_schema |
mysql |
performance_schema |
wordpress-db |
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- +
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
mkdir /home/hogehoge/work_`date +%Y%m%d`
cd /home/hogehoge/work_`date +%Y%m%d`
set `date +%Y%m%d%-H%M%S`
mysqldump --default-character-set=binary --hex-blob -c -u root -p wordpress-db > wordpress-db.$1.sql
3.移行先のwp-config.phpファイルを編集
# 「WP_HOME」、「WP_SITEURL」を新ドメインにする
※DB上のwp_optionsテーブルを修正していないため、このままでは
管理画面を表示した際旧ドメインに流れてしまう。
そのためここで一時的に定義を行っておく。DB上の作業が終わったら削除すること。
※下記置換ツールを利用すれば不要な作業ではあるが、念のため実施。
vi /srv/www/afterwp.com/wp-config.php
-
-
-
- -
-
-
define('WP_SITEURL', 'http://afterwp.com');
define('WP_HOME', 'http://afterwp.com');
-
-
-
- -
-
-
管理画面およびユーザサイトにアクセスできることを確認
http://afterwp.com
※この時点では画像等のパーマリンクは旧サイトを向いていることに注意
http://afterwp.com/wp-admin
4.置換ツールを使用してDB内のドメインを置換
※参考サイト:http://inspire-tech.jp/2013/10/wordpress-search-replace-db/
cd /usr/local/src
wget https://www.interconnectit.com/wp-content/uploads/2011/05/searchreplacedb21.zip
unzip searchreplacedb21.zip
mv searchreplacedb2.php /srv/www/afterwp.com/
# 実行
http://afterwp.com/searchreplacedb2.php
→テーブル選択に至るまで、デフォルトのままで進める。
What to replace?
で以下の文字列置換を指定
Search for (case sensitive string): beforewp.com
Replace with: afterwp.com
[submit]で実行。
固定ページおよび投稿の文字列が置換されていることを確認。
※動作確認後、このphpは削除しておくこと。
http://beforewp.com/wp-content/uploads/2015/07/s002-300x199.jpg
↓
http://afterwp.com/wp-content/uploads/2015/07/s002-300x199.jpg
ちゃんと置換されている!
作業的には上記で問題ない模様。
5.作業設定削除
cd /srv/www/afterwp.com
vi wp-config.php
# 「WP_HOME」、「WP_SITEURL」を削除
rm searchreplacedb2.php
以上。