てっきんの具。

「てっきん」と呼ばれて40年のおっさんが書くブログ

WindowsでVagrant+WordPressの環境作ったよ(導入編)

お付き合いのあるWordPressコミュニティのみなさんが、ここ最近「( ゚∀゚)彡 Vagrant Vagrant」と盛り上がっていらっしゃるので、遅ればせながらそのウェーブに乗ってみました。実はもうちょっと早く乗りたかったものの、重い腰が上がらなかったのは

私がWindowsユーザー

であるからです。最近のウェブ(特に開発者)まわりのトピックって「黒い画面」と親和性の高いMacを使うことが前提になってて、同じようなことをWindowsでやろうとするといろいろと苦行を伴うケースが少なくないんですね。Git環境の構築もその一例だし、Vagrantにしても「WindowsにVagrant入れてみた」的な記事があまり上がってないのですよ(当店調べ)。

導入をためらってる中、WordPressのサイトを短期間でがつがつ立ち上げる案件が出てきて、「こうなったら苦行もネタにしてしまえ」と作業にとりかかったわけでありました。

なお本記事は、MacBook Air(Mid 2013)上のBoot Campで動かしているWindows 7 Professional(64bit版)にて構築した流れを紹介してます。「なんでMac OS上でやらないのか」という声もあちこちから聞こえてきそうですが、そこはいろいろと大人の事情があるわけですよw

WordPressに特化した『Varying Vagrant Vagrants(VVV)』を採用

当初導入しようと思ったのは、@miya0001さんのブログにあった「WordPressのプラグインやテーマ、ウェブサイトの開発に超便利なVagrantつくりました。」の設定ファイル(=『VCCW』)でした。ところが

がーん……ということになり調べてみたところ、@miya0001さんのものとは機能的に違いがあるものの「さくっとWordPressの環境をつくる」目的では一致している『Varying Vagrant Vagrants』(以下『VVV』)があることがわかり、これを使うことにしました。


[2015.3.22追記]
その後、『VCCW』もアップデートを重ねてWindows環境での構築ができるようになりました。現在、Virtual Box 4.3.12+Vagrant 1.6.3 の環境で『VCCW』を稼働させています。


『VVV』はアメリカの10up社が開発・公開している、WordPress環境構築に特化した設定ファイル。Vagrantの上でこれを追加すると、Ubuntu 12.04 LTSベースのウェブサーバに加え、

  • WordPressの安定版をベースにしたサイト
  • WordPressの開発版をベースにしたサイト

までが一気にセットアップされます。コマンドラインでWordPressの環境構築ができるとして最近注目されている『WP-CLI』も同梱。Windowsでの『WP-CLI』利用はCygwinのインストールが必須ということもあり、『WP-CLI』の便利さ加減を指くわえて見てたWindowsユーザーにとっては、『WP-CLI』の同梱もまた朗報といえるでしょう。

『VVV』でインストールされるツール一覧

ちなみに10up社は、WordPressの開発貢献者も多数在籍している会社なので、クオリティについても安心できるかとおもいます。

VirtualBoxは4.2.18で 4.3ではネットワーク回りに不具合が

まずは、Vagrantが動くようにVirtualBoxのインストールから始めないといけません。

本記事執筆時点でのVirtualBoxは4.3が最新版なので、何も考えずに「これでいいっかー」とインストールしちゃったのですが、いきなりハマりました ( ´・ω・`) VirtualBoxインストール→Vagrantインストール→『VVV』導入……のところで

There was an error while executing `VBoxManage`, a CLI used by Vagrant
for controlling VirtualBox. The command and stderr is shown below.

Command: ["hostonlyif", "create"]

Stderr: 0%...
Progress state: E_INVALIDARG
VBoxManage.exe: error: Failed to create the host-only adapter

(以下略)というエラーが出てしまったのですよ。まさに、下記のスレッドで書かれている症状そのまま。

Error Creating VM With Vagrant 1.3.5 and VirtualBox 4.3.0 · Issue #2392 · mitchellh/vagrant

そこで、スレッドでの教えに従ってVirtualBox 4.2.18をインストール(ダウンロードはここから)。以降の作業を進めていきました。

hostsファイルのアクセス許可設定を忘れずに

VirtualBox・Vagrantともにインストーラを使ってのインストールなので、ウィザードに沿って進めていけば、そう戸惑うことはないかと思います(インストール後に再起動は求められますが)。

ひととおりの設定が終わったら、いよいよ『VVV』の導入です。私の場合、Cドライブの直下に「vagrant-local」というディレクトリを作り、その中で作業を進めていくことにしました。

コマンドプロンプトを立ち上げ、Vagrantのプラグイン『Hostsupdater』をインストールします。

cd c:\vagrant-local
vagrant plugin install vagrant-hostsupdater

次に、『VVV』の配布ページ(GitHub)にあるファイル一式をローカルに転送します。お使いのマシンでGitが使えるようになっているなら、vagrant-local ディレクトリ内で

git clone git://github.com/10up/varying-vagrant-vagrants.git 

とやってもよいですが、配布ページ右下のボタン[Download ZIP]をクリックしてダウンロードののち、vagrant-local ディレクトリに展開してもOKです。

『VVV』のスクリプトは実行途中で『Hostsupdater』に処理を渡し C:\Windows\System32\drivers\etc 内の hosts ファイルに対して書き込み・変更を行います。そのため、あらかじめ hosts ファイルのプロパティの[セキュリティ]タブにて[編集]をクリックし、「Users」のアクセス許可を「フルコントロール」にしておく必要があります。
(「変更」「書き込み」のチェックだけでもよいかも……)

capture_27102013_133606

さて、いよいよ『VVV』のセットアップ。おもむろにコマンドプロンプトに戻り、Vagrantのコマンドをたたきます。

vagrant up

capture_26102013_093817
Ubuntuがダウンロードされ……

capture_26102013_094251
ウェブサーバ(nginx)やPHP、MySQLのセッティングが進み……

capture_26102013_094436
WordPressのファイルがダウンロードされて……

環境が整いました。おもむろに http://local.wordpress.dev/ にアクセスすると見慣れた『Twenty Thirteen』の画面が! おお!

WordPress site

もし、サイトが見られない場合、私の体験では二つの理由がありました。

  • vagrant up したにもかかわらず、環境がうまく構築できなかった
    「vagrant provision」を試してみてください
  • 『Hostsupdater』が hosts ファイルを書き換えできなかった
    今一度、hosts のアクセス許可を見直してみましょう

ちなみに http://local.wordpress.dev/ のファイル一式は C:\vagrant-local\www\wordpress-default 内に展開されています。カスタマイズを加えたいときは、この中のファイルをいじっていくことになります。XAMPP/MAMPでローカル環境を作っていたときと変わらない操作感ですね。

では次に、オリジナルドメインのサイトを一つ加えてみます。せっかくなので『WP-CLI』で、コマンドラインからサクっと設定しましょうか。

『Varying Vagrant Vagrants』でサイトを増やす方法(『WP-CLI』を使うよ) に続く。

カテゴリー:

,

タグ:

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください