[VCCW] WordPress 用の Vagrant 環境 VCCW を利用する
バージョンの切り替えが楽すぎてうれしい。
Contents
VCCW とは
以前に Vagrant の勉強をかねて環境を作りましたが、VCCW はプロが作った WordPress 用の Vagrant 環境。
こちらのスライドが参考になります。
インストール
VirtualBox と Vagrant はインストール済として。
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
#
# 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
VCCWを使ってる人はWP_VERSIONの値を"4.0-beta4"にしてvagrant provisionするだけでオッケー。
もとに戻すときはバージョンをlatestに戻してもっかいvagrant provision。http://t.co/gEyBYKz5SF— Takayuki Miyauchi (@miya0001) August 18, 2014
$ wpcs wp-content/plugins/hoge/hoge.php
って感じのコマンドだけでコーディングスタンダードに準拠しているかどうかをチェックすることができます。— Takayuki Miyauchi (@miya0001) August 19, 2014
ありがとうございます。ありがとうございます。
カスタマイズ
というか補足というか。
開発時のファイル配置について
ちなみに synced_folder の場所を変更してみようとしたのですが、guest サーバのドキュメントルートなども変わってしまうようなので、さわらない方が良さそうですね。
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 テンプレート