[VCCW] VCCW + WordMove で WordPress を引っ越しした手順

WordPress のデプロイが便利すぎて感動。

[markdown]
## DNS サーバを設定する

今回はあわせて DNS サーバの移行も行った。

### DNS サーバを移行する

ムームーDNSに移行。
カスタム設定で A, MX レコードを設定。

> [ムームー DNS に Google Apps 向けの設定をする | deadwood](https://www.d-wood.com/blog/2016/02/22_7806.html)

メールサーバは、Google Apps のまま。
ウェブサーバは現行サーバの IP をひとまず指定。

– メールは Google Apps の IP を設定。
– www.d-wood.com として現行サーバの IP で設定。

### 移行先サーバの設定

移行先サーバの設定として、動作確認用サブドメインを作成しておく。

– www.d-wood.com として移行先サーバの IP で設定。

### 旧 DNS サーバの廃止

事前に新しい DNS サーバに上記の設定を追加。
しばらく後に、旧DNSサーバを廃止した。

## サーバを準備する

### サブドメインの設定

移行先サーバの「さくらのレンタルサーバ」にサブドメインを設定。
コントロールパネルから設定を行う。

> [SAKURA レンタルサーバにサブドメインを設定する | deadwood](https://www.d-wood.com/blog/2016/02/24_7810.html)

以下のディレクトリを作成する。

– /www/stg … Staging 環境として www.d-wood.com で運用。
– /www/www … Production 環境。サーバ移行後の www.

### SSH の設定

VCCW + WordMove 用に SSH ログインを設定する。

> * [SAKURA レンタルサーバに SSH 公開鍵認証を設定する | deadwood](https://www.d-wood.com/blog/2016/02/23_7804.html)

### Basic 認証の設定

必要に応じて Basic 認証を用意する。

> [SAKURA レンタルサーバで Basic 認証などのアクセス制限をする | deadwood](https://www.d-wood.com/blog/2016/02/25_7812.html)

### MySQL の設定

MySQL DB を新規作成する。

> [VCCW + WordMove でローカルの WordPress をサーバと同期する | deadwood](https://www.d-wood.com/blog/2016/02/26_7816.html#i)

それぞれの環境用に準備。文字コードは「UTF-8」。

– Staging 環境
– Production 環境

## Staging 環境へテスト移行する

### 現行サイトと Staging 環境を同期させる

まず WordMove を利用して現行の WordPress をローカルの VCCW 環境と同期する。

> [VCCW + WordMove でローカルの WordPress をサーバと同期する | deadwood](https://www.d-wood.com/blog/2016/02/26_7816.html)

サンプルを参考に Movefile を設定。

– Production … 現行サイトの情報を設定。
– local … VCCW の設定。変更なし。
– Staging … 前項までに準備した stg. を設定。

同期を開始する。

`wordmove` コマンドは、VCCW 上の `/vagrant` 以下で実行する。

“`prettyprinted
% vagrant ssh
:
$ cd /vagrant
“`

Production から local に `wordmove pull` でデータを持ってくる。

“`prettyprinted
$ wordmove pull -e production –all
“`

local から staging へ `wordmove push` でデータを送る。

“`prettyprinted
$ wordmove push -e staging –all
“`

以上で完了。

### Staging 環境で動作確認を行う

本番移行前に、Staging 環境へ同期したデータでの動作確認を行う。
今回のケースでは、以下の3点の留意事項があった。

– 管理画面にログインし、パーマリンク設定パネルからパーマリンク構造を保存し直す必要があった。(ex. [サイトルートに表示する](https://www.d-wood.com/blog/2012/08/24_2423.html))
– 管理画面へのログインアドレスが SiteGuard WP Plugin で変更されているため、注意が必要。(ex. [SiteGuard WP Plugin: 日本語対応 WordPress 用セキュリティプラグイン](https://www.d-wood.com/blog/2014/10/24_7109.html))
– Basic 認証の再設定。

## 新サーバへ移行する

### Production 環境を同期させる

Movefile の Production 環境を、移行先の新サーバ情報に変更する。

– Production … 新サーバの情報を設定。

念のため dryrun で接続確認。

“`prettyprinted
$ wordmove push -e production –all -s
“`

local から Production に `wordmove push`。

“`prettyprinted
$ wordmove push -e production –all
“`

以上で完了。

### Production 環境の公開前準備と確認

DNS 切替前に設定・確認ができるよう、ローカル Mac の /etc/hosts に新サーバのドメインとIPを設定する。

“`prettyprinted:/etc/hosts
www.d-wood.com
“`

ブラウザで接続し以下を完了する。

– WordPress の管理画面から DB 設定。
– 前項の留意事項の確認(wp-admin に Basic 認証をかける)等。

### DNS レコード情報を切り替え公開

新しいサーバで公開するため DNS を切り替え。

– TTL の値を短いものに変更。今回は失念していた。。。
– www. の A レコードを移行先サーバの IP で設定。
– 前項で /etc/hosts に追記した情報を削除。

適当なタイミングで新サーバでの動作を確認。

– nslookup で IP 変更を確認。
– 念のためページ表示を確認。
– エラーログを監視し、異常がないかチェック。
– TTL の値を元に戻す。
[/markdown]