色々と技術が複合してしまうので、それが初級者(私を含む)にとって、分かりにくいのだと思いました。
特に「Windows」ですと、Macよりも複雑になります。
(MacはUnixベースなので、親和性が高い)
とにかく、心が折れないように頑張りましょう。

そもそもVagrantとは?

「仮想環境構築ツール」と言っても、あまりピンと来ない人もいるかも知れません。

だいたいの場合、WEBサイト制作・開発をする場合、テスト環境で行います。
当たり前ですが、テスト環境では、できるだけ本番と同じ環境が望ましいです。
それは、どう用意したら良いでしょう。

レンタルサーバーを借りることがあるでしょうし、自分でサーバーを立てることもあるでしょう。
「XAMPP」という選択肢もあるでしょう。

そうは言っても、色々な環境を準備するのは、容易なことではありません。
色々な環境を擬似的にすぐに作れるものはないでしょうか。

Vagrantでは、それが可能です。

Vagrantを動かすために。

Vagrantを動かすためには、いくつかアプリケーションをインストールする必要があります。

  • VirtualBox
  • Vagrant
  • Cygwin

VirtualBox(バーチャルボックス)

インストールしたPC上に仮想的なPCを作成し、別のOSを実行できるアプリケーションです。

https://www.virtualbox.org/wiki/Downloads

インストール後は、環境変数にPATHを通す必要があります。

windows-vagrant-start

Vagrant(ベイグラント)

Vagrantが行ってくれるのは、仮想環境の構築や管理で、実際に仮想環境を動かすのはVirtualBoxです。
VirtualBox以外にも連携できるツールがいくつかあります。

http://www.vagrantup.com/downloads.html

Cygwin(シグウィン)

Windows上でUnixのような操作が可能になるアプリケーションです。
Vagrantの操作は、コマンドラインで行います。
DOSプロンプトでも操作はできますが、仮想環境にログインして操作する場合は不便です。
この際、入れてしまいましょう。
(かなりインストールに時間がかかった記憶があります)

https://cygwin.com/install.html

VagrantのBoxを手に入れよう

インストールが終わったら、仮想環境の元になるOSのイメージファイルを含むデータ「Box」を手に入れましょう。
自分で作成することもできますが、すでに先人が良いものを作っていますので、これを利用しましょう。

以前は、「Vagrantbox.es」という非公式サイトから探すのが主流だったようです。
最近は「Vagrant Cloud」という公式サイトができたので、ここからBoxを探すと良いでしょう。

https://vagrantcloud.com/discover/featured

Vagrantは、フォルダ単位で環境が用意されるので、仮想環境用のフォルダを用意しましょう。
今回は、「hashicorp/precise64」を入れようと思います。

「vagrant box add 」を実行すると、Boxのダウンロードが始まります。

ダウンロードが終わったらinitコマンドを実行します。

フォルダを見ると、「Vagrantfile」ができているのが分かります。
ファイルがあれば、コマンドで仮想環境が起動します。

起動したら仮想環境にログインしてみましょう。
Vagrantはこれだけでログインできます。

その他のコマンド

vagrant halt シャットダウン
vagrant status 状態確認
vagrant destroy 削除
(Vagrantfileは消えない。再び起動すると初期状態になる)
vagrant suspend 一時停止
vagrant resume 復帰
vagrant reload 再起動
vagrant provision プロビジョンを反映

Webサーバーを構築しよう

せっかくなので、Webサーバーを入れてみましょう。
ログアウトしたらVagrantfileを開いて、追記します。

Vagrantfile

新しく「shell.sh」ファイルを作成し、下記のようにします。
実際は、自分の欲しい環境を記述します。
(上手に書けなかったので、引用させていただきました)

shell.sh

引用:
Getting started with Vagrant – automated dev servers deploy and provisioning > stdout.in Evgeniy Kuzminov IT blog

内容を反映させましょう。

上手くいけば、アドレスにアクセスできます。

http://192.168.33.10/

MYSQLにもアクセスできます。
ユーザー:root
パスワード:root

本番はこれから

今回は、Vagrantだけで完結するようにしましたが、連携して便利の使えるツールがいくつかあります。
特に「Chef」が有名だと思いますが、使用することでもっと便利になります。
ただし、WindowsのCygwinで用意するのはかなり大変ですので、これからチャレンジする方は、覚悟してください。

では、そんな感じで、またねー。