Vagrant+VCCWの使い方を考える

普段はNASにWordPress環境を持っていろいろいじってます。LANに繋がっていないときはMAMPやXAMPPを使っていじってますが、満を持してVagrant+VCCWを使ってみました。その感想や自分なりの使い方を考えてみました。

WordPressを使ってサイトを運営している人で、自らテーマやプラグインを作ったりカスタマイズしている人はローカルに開発環境を用意している人は多いと思います。NASを使っている人もいれば、Mac,Windows端末に環境を作ったり、Linuxサーバーに作っている人もいるかもしれません。いろんな選択肢がある中で、以前からVagrantを使ってWordPressのサイト開発環境を作るというのがあり、ここにきてようやく試してみました。

Vagrantとは

HishCorpという会社で開発されているツールで、バーチャルマシン上に、あるワークフローに特化した環境を簡単に構築・管理できるツールです。デフォルトではオラクルのVirtualBoxを使います。ある環境に特化したVagrant用のボックスを用意することで簡単に環境の構築が可能です。今回はWordPressのサイト開発環境に特化したボックス(VCCW)を使って環境を作ります。
VCCWはWordPressのサイト開発環境に特化したボックスです。WordPressを動かすためには最低限Webサーバー、PHP、MySQLが動作する必要があります。MAMPやXAMPPはMac,Windows端末にこれらを動作させてWordPressのサイト開発環境を作ります。VCCWはこれらが整備されているためVagrantにVCCWボックスを追加するだけでローカルにWordPressが動作するLinuxサーバーを構築することができます。

Vagrant+VCCWのいいところ

Vagrant+VCCWで簡単にWordPressのサイト開発環境が作れるのですが、利用することでWordPressのテーマやプラグインを作りやすくなるのか、サイトをテストしやすくなったり効率よくなるのかなど、Vagrant+VCCW環境について考えてみたいと思います。
各種開発環境で利点や欠点があると思いますが簡単にまとめると、
【NASのWordPress環境】
利点:
・同一LANに接続している他の複数端末から利用できる
・特別な設定なしにSSL(HTTPS://)が動作するため同環境の確認が容易にできる
欠点:
・そのLANに接続していないと利用できない

【MAMP、XAMPPのWordPress環境】
利点:
・各端末がネットワークに接続していなくても利用できる
欠点:
・開発環境を簡単に共有できないので独自の環境になりがち

【Vagrant+VCCWのWordPress環境】
利点:
・開発環境と本番環境の同期ができる
欠点:
・基本的にはサイトごとに1つのVM環境を作るため容量が大きく比較的ハイパフォーマンスな端末が必要

Vagrant+VCCWの最大の特徴は、ローカル環境で作成したものをコマンド1つで本番環境にアップロードできる点だと思います。サイト丸ごと全部でも、プラグインだけとかテーマだけなどの指定もできます。ただ、ローカルと本番環境の差分を確認したり差分だけを指定したりはできないので、気をつけないと誤ったデータをアップし易いです。
アップロードを気をつけて行えば、とても簡単にローカル環境で作成したものをサーバーに移行できます。

欠点は上に書いているように、1つのサイトごとに1つの仮想環境を作成します。つまり、サイトごとにLinuxサーバーを作るような感じです。1つの仮想環境は数GBなので、複数サイトを作るとそれなりに容量が必要です。昨今は数十GBの消費はそれほどではないと思いますが、それだけの容量が必要なのは知っておいたほうがいいかと思います。それから、VirtualBoxで動作する仮想環境なので動作させるMacやWindowsにそれなりの負荷がかかるので、ある程度のスペックは必要かもしれません。

データベースも本番環境と同期できるのですが、デフォルトではphpMyAdminコンソールは使えません。なのでデータベースをいじったり切り替えたりなどの操作ができません。
Vagrant+VCCWは素敵な開発環境ですが、こうした特徴を考えると全てをこの環境に依存するのではなく、最初にサイトを構築する際にローカルでサイトを作って、ある程度投稿を書いたりテストしてから一気に本番環境へ上げるときや、テーマやプラグインだけのアップロードに限定して使用するのがいいように思います。