[VCCW] WordPress 用の Vagrant 環境 VCCW を利用する

バージョンの切り替えが楽すぎてうれしい。

Contents

VCCW とは

以前に Vagrant の勉強をかねて環境を作りましたが、VCCW はプロが作った WordPress 用の Vagrant 環境。

こちらのスライドが参考になります。

入門 Vagrant + WordPress

インストール

VirtualBox と Vagrant はインストール済として。

Vagrant: + VirtualBox で仮想マシンを作成する | deadwood

vagrant-hostsupdater plugin をインストールしておく。

% vagrant plugin install vagrant-hostsupdater

Vagrant: vagrant-hostsupdater で /etc/hosts を書き換える | deadwood

つかいかた

サンプルファイルがあるので、公式の情報どおりに立ち上げるだけでOK。

% git clone git@github.com:miya0001/vccw.git
% cd vccw
% cp Vagrantfile.sample Vagrantfile

このようにファイルが配置されています。

.
├── README.md
├── Vagrantfile
├── Vagrantfile.sample
├── cookbooks
│   ├── apache2
│   ├── build-essential
│   ├── iptables
│   ├── mysql
│   ├── openssl
│   ├── php
│   ├── xml
│   └── yum
└── site-cookbooks
    ├── vccw
    └── wp-cli
% vagrant up

www/wordpress が同期されています。

.
├── README.md
├── Vagrantfile
├── Vagrantfile.sample
├── cookbooks
│   ├── apache2
│   ├── build-essential
│   ├── iptables
│   ├── mysql
│   ├── openssl
│   ├── php
│   ├── xml
│   └── yum
├── site-cookbooks
│   ├── vccw
│   └── wp-cli
└── www
    └── wordpress

Vagrantfile

調整しそうな項目はこのあたりでしょうか。
変更したら vagrant provision

Vagrantfile
#
# Configuration for the WordPress
#
WP_VERSION           = 'latest' # latest or 3.4 or later or http(s):// URL to zipfile
WP_LANG              = "en_US" # WordPress locale (e.g. ja)
WP_HOSTNAME          = "wordpress.local" # e.g example.com

ありがとうございます。ありがとうございます。

カスタマイズ

というか補足というか。

開発時のファイル配置について

ちなみに synced_folder の場所を変更してみようとしたのですが、guest サーバのドキュメントルートなども変わってしまうようなので、さわらない方が良さそうですね。

Vagrantfile
 config.vm.synced_folder "www/wordpress/", "/home/deadwood/www/www/wpmt", :create => "true"

兄弟プロジェクト?の iemoto を見ると、vccw/www/wordpress/wp-content/themes/ 以下(guest OS)に、ディレクトリを切って展開するイメージのよう。
ローカルの Mac で開発し、dist ディレクトリにファイルを作成しているような場合、下記のようにシンボリックリンクを貼ってみたんですがうまく動かなかったので一工夫いりそうです。

% ln -s ./dist vccw/www/wordpress/wp-content/themes/foo

私の場合は、grunt-rsync でディレクトリを同期させてみたところ、うまく認識してくれました。

エラーログ

/var/log/httpd/ 以下に wordpress 関連のログがありました。

[vagrant@wordpress ~]$ ls /var/log/httpd/
error.log  wordpress-access.log  wordpress-error.log  wordpress-rewrite.log

開発中は vagrant ssh した後に、こんな感じでしょうか。

[vagrant@wordpress ~]$ tail -f /var/log/httpd/wordpress-error.log

補遺

時間があるときにまた確認する。
WordPressテーマ用の grunt-init テンプレート

WordPressプラグインの grunt-init テンプレート