CMSのお引越し作業は業務的に日常茶飯事ですが、分野が違う人にとってはそんなに簡単に移行できるんだと驚かれるようですので、簡単にご紹介。
目次
今回のシチュエーション
- 古いサーバから新サーバーにWordPressをお引越しする。
- その時にドメインをold.example.comからnew.example.comに変更する。
よくある要望の設定ですねー。
移行作業をはじめます。
WEBファイルを新しい環境に移します。
WEBファイルのLinuxサーバー間の移行はrsyncコマンドで移行するがベストだと考えています。rsyncラブ。
WEBファイルの複製
ディレクトリパスを間違えないように確認してから行って下さい。
1 |
# rsync -avvuz --progress -e "ssh -p 22" /var/www/vhosts/old.hoge.com/httpdocs/ root@引越し先IPアドレス:/var/www/vhosts/new.hoge.com/httpdocs/ |
引越し元DBのダンプ
1 |
# mysqldump -u root -p DB名 > DB名.sql |
FTP,SCPやrsyncを使って引越し先サーバへDB名.sqlを転送して下さい。
引越し先でリストア
1 |
# mysql -u root -p DB名 < DB名.sql |
通常であればここで終わりです。
サイトURL等の書き換えを行う場合
サーバを変えたついでにドメインを書き換えする場合は以下のクエリを打ち込みます。
※2016年5月16日現在のWordPressの最新バージョンでは動作確認を行っておりますが、仕様が変わりデータが壊れる可能性もあります。検証環境で確認の上クエリの実行をお願いします。
1 2 3 4 5 6 7 8 9 |
# mysql -u root -p ※サイトURL書き換え mysql>UPDATE `wp`.`wp_options` SET `option_value` = 'http://new.example.com/' WHERE `wp_options`.`option_id` =2; mysql>UPDATE `wp`.`wp_options` SET `option_value` = 'http://new.example.com/' WHERE `wp_options`.`option_id` =1; ※記事のURL書き換え mysql>UPDATE wp_posts SET post_content = replace(post_content, 'http://old.example.com/', 'http://new.example.com/'); mysql>UPDATE wp_postmeta SET meta_value = replace(meta_value,'http://old.example.com/','http://new.example.com/'); |
http://new.example.com
にアクセスして表示されたら完了です(๑•̀ㅁ•́๑)✧
お疲れ様です。