[VCCW] VCCW + WordMove でローカルの WordPress をサーバと同期する

さくらのレンタルサーバで試行してみます。

[markdown]
VCCW + WordMove についてはこちらが分かりやすい。

VCCW + Wordmove でデプロイが劇的に簡単になった話 from タカシ キタジマ

公式情報を参考に進めます。

> * [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))

「サーバコントロールパネル>アプリケーションの設定>データベースの設定>データベースの新規作成」から作成します。

2016-02-26_sakura_db_01

– バージョンは「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]