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

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

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

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

Install

以前少し触ったのですが、バージョンが上がっています。

公式を見ながら進めます。

VirtualBox と Vagrant などはインストール済。

Vagrant box を追加します。

% vagrant box add miya0001/vccw

.zip をダウンロードということなので、以下を実行。

% 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 します。

% cd vccw
% vagrant up

http://192.168.33.10/ でローカルで動いていることを確認できます。

SSH 接続の設定

運用中のサーバには、SSH 接続できている状態。

Vagrant 上の Guest OS (VCCW) から、運用サーバに SSH 接続できるよう設定を行います。

以下のコマンドで Mac のキーチェーンアクセスに登録されます。
パスフレーズを求められます。

% ssh-add -K ~/.ssh/id_rsa

なお、現行バージョンでは Vagrantfile のコメントアウトは解除されていましたので、このまま VCCW にログインし、接続を確認します。

% vagrant ssh

ログイン後、運用中のサーバへ SSH で確認をします。

$ ssh <id>@<ip Address>
    :
Welcome to FreeBSD!

サーバの準備

今回はテスト用にステージングサーバを用意しました。

DNS 設定など諸々省略します。
すでにブラウザで表示ができる状態です。
マルチドメイン対象ディレクトリには、index.html と .htaccess がある状態。
ディレクトリの管理のため、git init しておきます。

MySQL DB を作成する

以下、さくらのレンタルサーバに MySQL を用意する場合の例です。

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

2016-02-26_sakura_db_01

  • バージョンは「5.5」のみ選べました。
  • 文字コードは「UTF-8」とします。

WordMove の設定

VCCW インストールディレクトリを見ると、WordMove が利用する設定ファイル「Movefile」があります。
ここに先ほど準備をしたステージングサーバの情報を書き込みます。
local にはすでに VCCW が設定済ですので、staging に設定します。

サーバ・データベースの設定

YAML の書式と記入例に沿って、前項までに設定した情報を書き加えます。

- vhost
- wordpress_path
- database
    - name
    - user
    - password
    - host
    - charset
- exclude

SSH 接続の設定

さらに接続情報を書き加えます。

- host
- user
- port
- rsymc_options

以上で設定完了です。

WordMove の実行

VCCW のディレクトリから、vagrant ssh します。
/vagrant に移動します。

% vagrant ssh
$ pwd
/home/vagrant
$ cd /vagrant
$ pwd
/vagrant

wordmove push

ローカルの WordPress をさくらへ push します。

$ wordmove push --all

ブラウザで表示するといつもの WordPress 設定画面が出てくるので、MySQL の情報を入力すると無事表示されました。
なお、設置してあった index.html と .htaccess は削除・上書きされていました。
VCCW の /vagrant/www/wordpress 以下が rsync されるようですね。

wordmove pull

ステージングサーバ上の WordPress に記事をポストした後、下記を実行でローカルでの表示を確認しました。

$ wordmove pull --all

なるほど!

補遺