[VCCW] VCCW + WordMove で WordPress を引っ越しした手順
WordPress のデプロイが便利すぎて感動。
Contents
DNS サーバを設定する
今回はあわせて DNS サーバの移行も行った。
DNS サーバを移行する
ムームーDNSに移行。
カスタム設定で A, MX レコードを設定。
メールサーバは、Google Apps のまま。
ウェブサーバは現行サーバの IP をひとまず指定。
- メールは Google Apps の IP を設定。
- www.d-wood.com として現行サーバの IP で設定。
移行先サーバの設定
移行先サーバの設定として、動作確認用サブドメインを作成しておく。
- www.d-wood.com として移行先サーバの IP で設定。
旧 DNS サーバの廃止
事前に新しい DNS サーバに上記の設定を追加。
しばらく後に、旧DNSサーバを廃止した。
サーバを準備する
サブドメインの設定
移行先サーバの「さくらのレンタルサーバ」にサブドメインを設定。
コントロールパネルから設定を行う。
以下のディレクトリを作成する。
- /www/stg … Staging 環境として www.d-wood.com で運用。
- /www/www … Production 環境。サーバ移行後の www.
SSH の設定
VCCW + WordMove 用に SSH ログインを設定する。
Basic 認証の設定
必要に応じて Basic 認証を用意する。
MySQL の設定
MySQL DB を新規作成する。
それぞれの環境用に準備。文字コードは「UTF-8」。
- Staging 環境
- Production 環境
Staging 環境へテスト移行する
現行サイトと Staging 環境を同期させる
まず WordMove を利用して現行の WordPress をローカルの VCCW 環境と同期する。
サンプルを参考に Movefile を設定。
- Production … 現行サイトの情報を設定。
- local … VCCW の設定。変更なし。
- Staging … 前項までに準備した stg. を設定。
同期を開始する。
wordmove
コマンドは、VCCW 上の /vagrant
以下で実行する。
% vagrant ssh
:
$ cd /vagrant
Production から local に wordmove pull
でデータを持ってくる。
$ wordmove pull -e production --all
local から staging へ wordmove push
でデータを送る。
$ wordmove push -e staging --all
以上で完了。
Staging 環境で動作確認を行う
本番移行前に、Staging 環境へ同期したデータでの動作確認を行う。
今回のケースでは、以下の3点の留意事項があった。
- 管理画面にログインし、パーマリンク設定パネルからパーマリンク構造を保存し直す必要があった。(ex. サイトルートに表示する)
- 管理画面へのログインアドレスが SiteGuard WP Plugin で変更されているため、注意が必要。(ex. SiteGuard WP Plugin: 日本語対応 WordPress 用セキュリティプラグイン)
- Basic 認証の再設定。
新サーバへ移行する
Production 環境を同期させる
Movefile の Production 環境を、移行先の新サーバ情報に変更する。
- Production … 新サーバの情報を設定。
念のため dryrun で接続確認。
$ wordmove push -e production --all -s
local から Production に wordmove push
。
$ wordmove push -e production --all
以上で完了。
Production 環境の公開前準備と確認
DNS 切替前に設定・確認ができるよう、ローカル Mac の /etc/hosts に新サーバのドメインとIPを設定する。
<ip> www.d-wood.com
ブラウザで接続し以下を完了する。
- WordPress の管理画面から DB 設定。
- 前項の留意事項の確認(wp-admin に Basic 認証をかける)等。
DNS レコード情報を切り替え公開
新しいサーバで公開するため DNS を切り替え。
- TTL の値を短いものに変更。今回は失念していた。。。
- www. の A レコードを移行先サーバの IP で設定。
- 前項で /etc/hosts に追記した情報を削除。
適当なタイミングで新サーバでの動作を確認。
- nslookup で IP 変更を確認。
- 念のためページ表示を確認。
- エラーログを監視し、異常がないかチェック。
- TTL の値を元に戻す。