Windows&Vagrantで自動仮想環境構築
VirturalBoxを使い始めると必ず耳にするのが、VagrantとChefです。
キーワードを聞いて気になり、ドットインストールに講座があったので、取り合えず見てみたんですが、
すごい便利だったので、取り合えずVagrantの導入をトライしてみました。
まぁ、もうみんな当たり前なんだと思いますが・・・。
Vagrantってなんぞや
最近注目されている開発支援ツール「Vagrant」は、テスト用の仮想マシン作成やその環境設定などを自動化するツールだ。これを利用することで、仮想環境の作成からセットアップ、そして破棄までを、簡単なコマンドを実行するだけで行える。
基本的に、便利なのはドットインストールの段階で分かってたんだが、
あれはMacへのインストールだったからなぁ・・・と思いながらも調査開始!
試した環境
ホストOS: Windows7 x64
VirtualBox: 4.3.10
Vagrant: 1.5.2
ゲストOS: CentOS6.4 x64
参考サイト
Windows7にVirtualBoxとVagrantをインストールしたメモ - k-holyのPHPとか諸々メモ
仮想環境を自動構築!第1回(Vagrantの導入・初期設定) - Programming Log
Windows7にVagrantでCentOS6.xを入れてみた - MofuMofuFarm
Vagrant入門 (全13回) - プログラミングならドットインストール
Vargrantの導入にあたり必要なツール
- VarturalBox
こちらは、以前紹介しているので、下記の記事を参照下さい。
VirtualBoxに最小構成CentOS6.5をインストール - Program LOG
Vargrantのダウンロードとインストール
まずは、下記のサイトから最新版のVagrantをダウンロードしてきます。
Vagrant
今回はWindows7の64bitにインストールしますので、Windows版(vagrant_1.5.2.msi)をダウンロードしました。
ダウンロードしたファイルを押下して、インストールウィザードを立ち上げます。
基本的には、何も気にせずに、インストールして問題が無い様なので、
気にせずにインストールしたいと思います。
※再起動を求められえるのでご注意を!
Vargrant Boxとは
Boxとは、仮想マシンのテンプレートになります。
いろんな構成の仮想マシンBoxがWEB上で公開されているので、
好きな構成のものをダウンロードすればよいかと思います。
Vagrantbox公開先。
A list of base boxes for Vagrant - Vagrantbox.es
今回は、CentOS6.4 64bit版を使用したいと思います。
CentOS 6.4 x86_64 Minimal (VirtualBox Guest Additions 4.2.12, Chef 11.4.4, Puppet 3.1.1) を選択。
http://developer.nrel.gov/downloads/vagrant-boxes/CentOS-6.4-x86_64-v20130731.box
Vargrantの初期化(仮想マシン追加)
Cygwinを起動して、ホームディレクトリ上で以下のように実行します。
今回は、「dev1」というボックス名で作成し、カレントディレクトリにVMを作成したいと思います。
$ vagrant box add dev1 http://developer.nrel.gov/downloads/vagrant-boxes/CentOS-6.4-x86_64-v20130731.box ==> box: Adding box 'dev1' (v0) for provider: box: Downloading: http://developer.nrel.gov/downloads/vagrant-boxes/CentOS-6.4-x86_64-v20130731.box ==> box: Successfully added box 'dev1' (v0) for 'virtualbox'! $ vagrant init dev1 A `Vagrantfile` has been placed in this directory. You are now ready to `vagrant up` your first virtual environment! Please read the comments in the Vagrantfile as well as documentation on `vagrantup.com` for more information on using Vagrant.
解説させていただくと、「vagrant box add ボックス名 BOXパス」を指定すると、
ボックスのダウンロードが開始されます。※結構時間がかかります。
「vagrant init ボックス名」を実行すると、Vagrantの初期化(Vagrantfileの作成)されます。
また、initのコマンドを実行した際、実行したディレクトリに「Vagrantfile」が作成されます。
プロジェクト毎に仮想サーバーを変えたり、バージョン管理したい場合には、そのディレクトリに
遷移しておいた方がいいと思います。
また、以下のコマンドはvagrantboxを使用する上でのヘルプになりますので、覚えておきましょう!
$ vagrant box -h
Vargrantを起動する
Vargrant追加されたはずなので、いったん起動してみたいと思います。
$ vagrant up Bringing machine 'default' up with 'virtualbox' provider... ==> default: Importing base box 'dev1'... ==> default: Matching MAC address for NAT networking... ==> default: Setting the name of the VM: .... ==> default: Clearing any previously set network interfaces... ==> default: Preparing network interfaces based on configuration... default: Adapter 1: nat ==> default: Forwarding ports... default: 22 => 2222 (adapter 1) ==> default: Booting VM... ==> default: Waiting for machine to boot. This may take a few minutes... default: SSH address: 127.0.0.1:2222 default: SSH username: vagrant default: SSH auth method: private key default: Warning: Connection timeout. Retrying... ==> default: Machine booted and ready! ==> default: Checking for guest additions in VM... default: The guest additions on this VM do not match the installed version of default: VirtualBox! In most cases this is fine, but in rare cases it can default: prevent things such as shared folders from working properly. If you see default: shared folder errors, please make sure the guest additions within the default: virtual machine match the version of VirtualBox you have installed on default: your host and reload your VM. default: default: Guest Additions Version: 4.2.16 default: VirtualBox Version: 4.3 ==> default: Mounting shared folders... default: /vagrant => ...
起動にすごい時間がかかりました・・・・。
Cygwinの影響もあるんでしょうか?ふむ。
仮想サーバーに接続してみる。
とりあえず、起動できたはずなので、接続してみたいと思います。
$ vagrant ssh cygwin warning: MS-DOS style path detected: .... Preferred POSIX equivalent is: .... CYGWIN environment variable option "nodosfilewarning" turns off this warning. Consult the user's guide for more details about POSIX paths: http://cygwin.com/cygwin-ug-net/using.html#using-pathnames Welcome to your Vagrant-built virtual machine. [vagrant@localhost ~]$
さくっと入れました。
普段は、TeraTermを使っているので、SSH使うなら試したら、以下のような設定で入れました。
vagrant@127.0.0.1
ポート 2222
パスワードを聞かれますが、「vagrant」で入れました。
仮想サーバーの操作について
一度、仮想サーバーから抜けて、仮想サーバーの操作をしてみたいと思います。
まずは、先ほどやった起動は以下。
$ vagrant up
状態確認は以下
$ vagrant status
スリープさせて復帰させたい場合は以下
$ vagrant suspend $ vagrant resume
終了させたい場合は以下
$ vagrant halt
再起動させたい場合は以下
$ vagrant reload
仮想マシンを削除したい場合は以下
$ vagrant destroy
先ほど作成した仮想マシンを削除したいと思います。
$ vagrant destroy default: Are you sure you want to destroy the 'default' VM? [y/N] y ==> default: Forcing shutdown of VM... ==> default: Destroying VM and associated drives...
削除が出来たと思います。
今回は、ひとまず、インストールと簡単なコマンドをピックアップしてみました。
次回以降にネットワークの設定やapacheなどのインストールを行っていこうと思います。