【Windows】VagrantとVCCWでWordPress開発環境を作る

良記事でしたか?シェアして頂けると泣いて喜びます!(TдT)

Windows10 ProにVagrantを入れ、VCCW(WordPress開発用仮想マシン)が動くようにするまでの記録。

追記:2017/01/26
自分の環境ではWordPressの動作がクッソ遅い(レンサバ以下)。
色々頑張ってみたが、諦めてHyper-Vで開発環境を作ることにした。
また今度な、Vagrant!
スポンサーリンク

Vagrantのインストール

Download - Vagrant by HashiCorp
This page lists all the available downloads for Vagrant.

ここからWindows版をダウンロード・インストールする。

インストール自体は全部「次へ」をクリックしとけばいい。

VCCWのインストール

VCCW - A WordPress development environment.
VCCW is a Vagrant based development environment for WordPress plugins, themes, or websites.

はっきりいって「Getting Started」の通りにやるだけだが、何度も英語を読みたくないので手順を記録しておく。

hostsの追記

公式サイトでは vagrant-hostsupdater のインストールも示されているが、Windowsではhostsの書き換えが出来ないのでインストール不要。

VCCWはデフォルト設定だとIPアドレスが192.168.33.10 《※注1》 何かよく分からんが、VagrantかVirtualBoxが自動でルーティングを設定してくれるみたいだな。とりあえずおまじないと思っとくの仮想マシンを作るので、ホスト名でアクセスできるようにhostsに追記しておく。

具体的には
C:\Windows\System32\drivers\etc\hosts

を追記する。

boxをダウンロード

を実行すると、VCCWのマスターイメージがダウンロードされる。
VCCWはVirtualBoxを必要とするが、VirtualBoxがインストールされていない場合はこのタイミングで自動的にインストールされる。
上手く行かなかった場合は手動でダウンロード・インストールする。
コンソールの表示がbashっぽいですが、これはConEmuを使っているためで、コマンドプロンプトやPowerShellでの実行と等価です。

設定をダウンロード

「5. Please download .zip or .tar.gz.」から、設定(プロビジョニング)用ファイルをダウンロードする。

設定を任意のフォルダに解凍

解凍先は自分は C:\usr\VM\vagrant\vccw-3.0.6 とした。

仮想マシンの種類を増やすに従って

  • C:\usr\VM\vagrant\machine-A
  • C:\usr\VM\vagrant\machine-B

みたいな感じでフォルダをコピーして増やしていく運用になる。

参照:

【Windows】VagrantでVCCW仮想マシンを増やす方法
【Windows】VagrantでVCCW仮想マシンを増やす方法
の続き、VagrantのVCCW仮想マシンを増やす場合の操作方法の説明。 ザックリいうと下記手順になる。 VCCW公式サイトからダウンロードしたZIPファイルを別名で解凍 site.yamlを作ってIPアドレス...

起動

作った設定フォルダに移動し、

を実行する。

69行目、「 TASK [Install Composer libraries] 」の所でエラーメッセージが沢山出てるけど、大丈夫なんかね?
ともあれ、これでVCCW仮想マシンが動き出した。

ちなみに、1回目は5~10分程度待たされるが、2回目以降は1~2分程度で起動する。

開発のやり方

動きを確認する

http://192.168.33.10/ 又は http://vccw.dev/ をブラウザで開く。

ワードプレスの管理画面は http://vccw.dev/wp-admin/ をブラウザで開く。

管理画面のID/PASSはadmin/admin

仮想マシンの操作

全て、操作対象の仮想マシンのフォルダに移動してコマンド実行する。

状態を確認する – status

マシンを停止する – halt

マシンを起動する – up

他のコマンドは公式サイトで確認して下さい。

ホストとのやり取り

ホストマシンと仮想マシンのやり取りは以下の方法になる。

  1. 共有されたフォルダ。
    ホストマシンからはVCCWを配置したフォルダの中に wordpress フォルダが見えるので、この中を読み書きする。
    今回だと C:\usr\VM\vagrant\vccw-3.0.6\wordpress
  2. sshで繋ぐ(putty, RLogin, WinSCP等)。
    プロトコル:ssh、ポート:22、ID:vagrant、PASS:vagrant

その他情報

Vagrant本体の更新

最新版が出たときは、公式サイトからMSIをダウンロードしてダブルクリックすれば良い。
自動的に更新インストールしてくれる。

但し、自分の環境では更新後Boxの作成がうまく行かなくなったので修復コマンドの実行が必要だった。

Vagrant更新後、Boxを作成しようとすると・・・

プラグインの修復をしなさいと言っているようだ。
指示された通りに

を実行する・・・

成功したらしい。
再度、Box作成を実行すると・・・

成功した。

Vagrant以外のアプローチ

Vagrantはマスタイメージに自動で設定を適用してゆくというアプローチ(Infrastructure as Code)の仮想マシン環境だが、そこまでオシャレにやらなくてもLAMP+WordPressがセットアップ済みのマスタイメージをもらって楽させてもらう、という旧来のアプローチもある。

Bitnami

BitnamiではVirtualBox用ディスクイメージを配布している。

WordPress Virtual Machines

メモリリソースが潤沢であるとか、サーバー機が別にあるので起動しっぱなしでも良いみたいな状況であるなら、こっちのほうがシンプルで気楽だと思う。

もう俺はWindowsへのあまりの不遇に絶望して試していないが、VirtualBox用イメージ(.ova)をHyper-V用イメージ(.vhd)に変換して使っている人もいるようだ。

Using Hyper-V to host Bitnami Virtual Machine [Solved]
Hi everyone, I use Hyper-V on Windows 8.1 Pro for the visualization of my Virtual Machines.(like a VMware Workstation) I thinks with Hyper-V on Windows 8 Pro ...

KUSANAGI

元々クラウドとかレンタルVPSを使っているなら、KUSANAGIが検討できる。

KUSANAGI – 超高速WordPress仮想マシン [高速化チューニング済みWordPressサーバ]
超高速WordPress仮想マシン

ただ、KUSANAGIはインフラ屋向け専売ビジネスなのでインストール用ISOファイルや仮想マシンディスクイメージのダウンロードサービスはやっていない。
つまり基本的に自宅のローカルマシンにインストールみたいなことはできない。

まぁ、一応ベータ版だがDocker用イメージはある。
これを上手いことゴニョゴニョすればVirtualBox単体で動かせそうではあるが…?

WindowsでのLAMP開発には罠がいっぱい

最後に恨み節だが、LAMP開発においてWindowsは非常に厳しい。

Web屋の連中は大抵【本番環境…Linux、開発環境…Linux/macOS】でやっているようで、WindowsでWeb開発の調べ物をすると大抵こんな事が起こる。

  • たいていbash前提の説明で、cmd.exeでの読み替えを必要とする
    作業工程にいきなりsshとかgitが出てくるので面食らう
  • インストール作業がHomeBrew/yum/apt-get/git前提の説明が多く、環境がないと厳しい
  • イチイチrubygemとかの周辺ツールのインストールや学習を強要される
  • Windows環境での前例が少ない
  • 前提ツールのWindows版が実はそもそも無かったり、有ってもベータ版だったりする

まぁUnix文化なので仕方がない。

仕方がないが、とにかく色んなツールや概念の学習が必要で頭がウニになる。
思い出しただけでイライラしてきた。キーッ!!

俺は実際の所、ワードプレスさえ動けば中身はどうだっていいんだよ!

その点、Windows文化のツールは良いよ。
SETUP.EXEをダブルクリックすりゃ大概何でもいい感じで即使えるからね。
笑われるけど、マジで言ってるよ。aptとかyumは羨ましいけどね。

LAMP開発ではHyper-Vは前途多難

実は、最初はHyper-VでWordpress環境が作れないかと調べ回っていたが、ついに諦めた。
(出来合いの物が無いという意味です。当然、Linuxを最初からセットアップすれば作れますよ)

Vagrantは一応Hyper-Vにも対応しているが、現状対応しているBoxがあまり無い。
それでもHyper-Vに行く勇者は下記ページが大変参考になります。

Windows 10でHyper-Vを使ってVagrantを動かす - Qiita
VagrantをHyper-Vで動かそうとしたところいくつかハマったので、一通りの流れをメモ。 # 環境 - ホストOS&Windows 10 Pro - ゲストOS&CentOS 7 - ターミナル&Git Bash # Hyp...

今回のVCCWもVirtualBoxが必要で、しかも致命的なことにHyper-VとVirtualBoxは同居できない

Windows 10 で Hyper-V と Oracle VirtualBox v5.0.0 は両立できない !?
Windows 10 で Hyper-V を有効化すると、Oracle VirtualBox v5.0.0 が正常に動作しなくなってしまいました...。Oracle VirtualBox を正常に動作させるためには、結局

自分は今までHyper-Vをメインで使っていたが、開発機に関しては諦めてHyper-Vをアンインストール。VirtualBoxの軍門に下ることにした。

パトラッシュ、もう疲れたよ

もういい加減色々調べ回るのは疲れた。
これと言って言語化できるエピソードはないが、とにかくWindowsでのLAMP開発は無駄にハマる。
思わぬところに転がる小石につまずくような思いを何度したことか…。

だからね、パトラッシュ。
ぼく、もう完全にオープンソース系の軍門に下ることにしたんだ。

どうせフリーランスの仕事で20万~するWindows Server買ったり、200万~するSQL-ServerやOracle買ったり、15万~するVisualStudio買ったり、ASP.NETでイントラネット開発なんてことはもう無いからね…。

Hyper-Vは消しちゃったし、近いうちにBash on WindowsMSYS2を入れることにしたんだ。
場合によっては物理マシンごとLinuxに乗り換えて、仮想マシンでWindows10を使うよ。

Windowsで使えるターミナルとシェルのまとめ - Qiita
# Windowsで使えるターミナルとシェルのまとめ Windowsで使えるターミナルとシェルをまとめてみた。 Windowsでも選択肢は意外と多い。 ターミナルとシェルの組み合わせで自分好みの環境を構築できるだろう。 ## ター...
MSYS2で快適なターミナル生活 - Qiita
# MSYS2で快適なターミナル生活 Windowsでコマンドラインの環境を整えるには、MSYS2が優秀だ。 デフォルトのターミナルはmintty、シェルはbash、パッケージマネージャとしてpacmanがついている。 Window...

あとはExcelとVBAとエロゲーがLinuxで動くように、リーナスおじさんにお願いするんだ…。

関連ページ

各種Tips/Web開発
各種Tips/Web開発
Blog内から、Web開発に関連する記事をまとめています。 レンタルサーバネタ エックスサーバー ムームードメインで取得したドメインを使う方法 ドメインは、Webサーバーはを使っています。 ムームーで取ったドメインは同系列...
【Windows】VagrantでVCCW仮想マシンを増やす方法
【Windows】VagrantでVCCW仮想マシンを増やす方法
の続き、VagrantのVCCW仮想マシンを増やす場合の操作方法の説明。 ザックリいうと下記手順になる。 VCCW公式サイトからダウンロードしたZIPファイルを別名で解凍 site.yamlを作ってIPアドレス...
【ConoHa】月々630円の格安WordPressサーバを作る(第1回)
【ConoHa】月々630円の格安WordPressサーバを作る(第1回)
ConoHa入会とKUSANAGI仮想マシン立ち上げまでを解説(実況)。 ConoHaのちょっとした概説もあるよ。

注釈   [ + ]

1. 何かよく分からんが、VagrantかVirtualBoxが自動でルーティングを設定してくれるみたいだな。とりあえずおまじないと思っとく
スポンサーリンク

良記事でしたか?シェアして頂けると泣いて喜びます!(TдT)

フォローすると新着記事が分かります。極稀に「おっぱい」と言うかも!?(眼福

コメントを頂けると泣いて喜びます

最初のコメントを是非お願いいたします!

avatar
wpDiscuz