[VCCW] VCCW + WordMove でローカルの WordPress をサーバと同期する
さくらのレンタルサーバで試行してみます。
 
 [markdown]
 VCCW + WordMove についてはこちらが分かりやすい。
公式情報を参考に進めます。
> * [WordMoveを使ってVagrant内のWordPressと本番環境を同期する! | Firegoby](https://firegoby.jp/archives/5644)
## Install
以前少し触ったのですが、バージョンが上がっています。
> * [WordPress 用の Vagrant 環境 VCCW を利用する | deadwood](https://www.d-wood.com/blog/2014/08/27_6674.html)
公式を見ながら進めます。
> * [VCCW – A WordPress development environment.](http://vccw.cc/)
VirtualBox と Vagrant などはインストール済。
> * [Vagrant: vagrant-hostsupdater で /etc/hosts を書き換える | deadwood](https://www.d-wood.com/blog/2014/08/25_6669.html)
Vagrant box を追加します。
“`prettyprinted
 % vagrant box add miya0001/vccw
 “`
.zip をダウンロードということなので、以下を実行。
“`prettyprinted
 % wget https://github.com/vccw-team/vccw/archive/2.19.0.zip
 % unzip 2.19.0.zip
 % rm 2.19.0.zip
 % mv vccw-2.19.0 vccw
 “`
ダウンロードしたプロジェクトディレクトリまで移動し、`vagrant up` します。
“`prettyprinted
 % cd vccw
 % vagrant up
 “`
http://192.168.33.10/ でローカルで動いていることを確認できます。
## SSH 接続の設定
運用中のサーバには、SSH 接続できている状態。
> * [SAKURA レンタルサーバに SSH 公開鍵認証を設定する | deadwood](https://www.d-wood.com/blog/2016/02/23_7804.html)
Vagrant 上の Guest OS (VCCW) から、運用サーバに SSH 接続できるよう設定を行います。
> * [ssh-agentを使ってVagrant上のゲストOSからMac側の秘密鍵を使えるようにする | Firegoby](https://firegoby.jp/archives/5694)
以下のコマンドで Mac のキーチェーンアクセスに登録されます。
 パスフレーズを求められます。
“`prettyprinted
 % ssh-add -K ~/.ssh/id_rsa
 “`
なお、現行バージョンでは Vagrantfile のコメントアウトは解除されていましたので、このまま VCCW にログインし、接続を確認します。
“`prettyprinted
 % vagrant ssh
 “`
ログイン後、運用中のサーバへ SSH で確認をします。
“`prettyprinted
 $ ssh 
 :
 Welcome to FreeBSD!
 “`
## サーバの準備
今回はテスト用にステージングサーバを用意しました。
> * [SAKURA レンタルサーバにサブドメインを設定する | deadwood](https://www.d-wood.com/blog/2016/02/24_7810.html)
DNS 設定など諸々省略します。
 すでにブラウザで表示ができる状態です。
 マルチドメイン対象ディレクトリには、index.html と .htaccess がある状態。
 ディレクトリの管理のため、`git init` しておきます。
### MySQL DB を作成する
以下、さくらのレンタルサーバに MySQL を用意する場合の例です。
> * [データベース(作成・追加・削除)|さくらインターネット公式サポートサイト](https://help.sakura.ad.jp/app/answers/detail/a_id/2298/~/%E3%83%87%E3%83%BC%E3%82%BF%E3%83%99%E3%83%BC%E3%82%B9(%E4%BD%9C%E6%88%90%E3%83%BB%E8%BF%BD%E5%8A%A0%E3%83%BB%E5%89%8A%E9%99%A4))
「サーバコントロールパネル>アプリケーションの設定>データベースの設定>データベースの新規作成」から作成します。

– バージョンは「5.5」のみ選べました。
 – __文字コードは「UTF-8」とします。__
## WordMove の設定
VCCW インストールディレクトリを見ると、WordMove が利用する設定ファイル「Movefile」があります。
 ここに先ほど準備をしたステージングサーバの情報を書き込みます。
 local にはすでに VCCW が設定済ですので、staging に設定します。
> * [WordMoveを使ってVagrant内のWordPressと本番環境を同期する! | Firegoby](https://firegoby.jp/archives/5644)
### サーバ・データベースの設定
YAML の書式と記入例に沿って、前項までに設定した情報を書き加えます。
> * [Wordmove の正しい設定方法 – Qiita](http://qiita.com/miya0001/items/9217140161216bbefc19)
“`yaml
 – vhost
 – wordpress_path
 – database
 – name
 – user
 – password
 – host
 – charset
 – exclude
 “`
### SSH 接続の設定
さらに接続情報を書き加えます。
“`yaml
 – host
 – user
 – port
 – rsymc_options
 “`
以上で設定完了です。
## WordMove の実行
> * [welaika/wordmove: Capistrano for WordPress](https://github.com/welaika/wordmove)
VCCW のディレクトリから、`vagrant ssh` します。
 `/vagrant` に移動します。
“`prettyprinted
 % vagrant ssh
 $ pwd
 /home/vagrant
 $ cd /vagrant
 $ pwd
 /vagrant
 “`
### wordmove push
ローカルの WordPress をさくらへ push します。
“`prettyprinted
 $ wordmove push –all
 “`
ブラウザで表示するといつもの WordPress 設定画面が出てくるので、MySQL の情報を入力すると無事表示されました。
 なお、設置してあった index.html と .htaccess は削除・上書きされていました。
 VCCW の /vagrant/www/wordpress 以下が rsync されるようですね。
### wordmove pull
ステージングサーバ上の WordPress に記事をポストした後、下記を実行でローカルでの表示を確認しました。
“`prettyprinted
 $ wordmove pull –all
 “`
なるほど!
## 補遺
> * [ふつうのレンタルサーバーでも、VCCWとWordmoveを使って快適にローカル環境で開発しようぜ! – Toro_Unit](https://torounit.com/blog/2014/12/09/1889/)
 > * [さくらのレンタルサーバーにWordPressをデプロイするのはVCCW + Wordmoveが最高に捗る – モンキーレンチ](http://2inc.org/blog/2014/12/09/4512/)
 > * [wordmoveのMovefileのエラーを解決してみた in さくらレンタルサーバ – Qiita](http://qiita.com/hiro93n/items/7a23cac716db0a863203)
 [/markdown]
