Veewee による Vagrant の Box 作成環境構築 Windows 版 その1
遅ればせながら流行りの Vagrant 環境を Windows 上で構築してみました。
Vagrant 単体で公式で用意されている Box を使うだけでもそれはそれで便利なんですが、やはり自分で Box を作りたいので、Veewee を使用して Vagrant の Box を作成できる環境も併せて作っています。
検証した環境は以下になります。
- Windows 7 64bit, Windows XP 32bit
- msysgit 1.8.3
- VirtualBox 4.2.16 r86992
- Vagrant 1.2.7
- Ruby 1.9.3-p448
msysgit のインストール
Veewee を Git リポジトリから clone して入れるのと、コマンドプロンプトで ssh や tar が使用できるようになっている方が後々楽なので、 msysgit をインストールします。
http://code.google.com/p/msysgit/downloads/list
上記から最新版をダウンロードしてインストール。
ここでは Git-1.8.3-preview20130601.exe をダウンロードしました。
新規インストールの場合、インストールウィザードの途中で以下のような「Adjusting your PATH environment」という画面が表示されます。
ここでは後々何かと便利なので、「Run Git and included Unix tools from the Windows Command Prompt」を選択。
このオプションを選択すると、インストール後に環境変数 PATH に自動的に以下のパスが追加されています。
- C:\Program Files\Git\cmd
- C:\Program Files\Git\bin
もし Warning の内容を読んで「Run Git and included Unix tools from the Windows Command Prompt」を選択したくないという人は、後で Vagrant や Veewee を実行する時だけ上記のパスを set PATH で追加すれば問題ないと思います。
これにより、コマンドプロンプトで以下のように ssh コマンドや tar コマンドが使用できるようになります。
>ssh -v OpenSSH_4.6p1, OpenSSL 0.9.8e 23 Feb 2007 usage: ssh [-1246AaCfgkMNnqsTtVvXxY] [-b bind_address] [-c cipher_spec] [-D [bind_address:]port] [-e escape_char] [-F configfile] [-i identity_file] [-L [bind_address:]port:host:hostport] [-l login_name] [-m mac_spec] [-O ctl_cmd] [-o option] [-p port] [-R [bind_address:]port:host:hostport] [-S ctl_path] [-w local_tun[:remote_tun]] [user@]hostname [command] >tar --version tar (GNU tar) 1.22 Copyright (C) 2009 Free Software Foundation, Inc. License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>. This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law. Written by John Gilmore and Jay Fenlason.
VirtualBox のインストール
https://www.virtualbox.org/wiki/Downloads
上記から最新版をダウンロードしてインストール。
ここでは VirtualBox-4.2.16-86992-Win.exe をダウンロードしました。
インストールは普通に進めていくだけで特に迷うところもないと思います。
ちなみに、VMware Player が既に入っている環境にも普通にインストールでき、どちらも使う事ができます。
Vagrant のインストール
1.1 以降では gem によるインストール方法は廃止されたため、以下から最新版のインストーラをダウンロードしてインストールします。
http://downloads.vagrantup.com/
ここでは Vagrant_1.2.7.msi をダウンロードしました。
gem 版の古い Vagrant を既に導入している場合は、先に gem uninstall してからインストールしてください。
Vagrant ではインストール完了後に Windows の再起動を求められます。
VirtualBox インストール時ですら再起動は求められなかったので、正直これはなんだか微妙ですね。
なんとかならないものかな。
Ruby のインストール
Veewee が Ruby 製なので Ruby 環境も作成します。
ここでは RubyInstaller を使用しました。
Veewee の依存ライブラリ中に存在する一部の native extension をビルドする必要があるため、DevKit も合わせて導入しておく必要があります。
http://rubyinstaller.org/downloads/
上記から 1.9 系の最新版をダウンロードしてインストール。
Windows 7 64bit + 2.0.0 x64 + DevKit-mingw64-64 の 環境で使用した際、 Veewee での vbox export 実行時に
unknown response from agent: 1, "\x00\x00\x00,\x01\x00\x00\x00'SSH-2.0-Ruby/Net::SSH_2.6.8 x64-mingw32"
というエラーが出てしまい、結局原因が良く分からなかったので、敢えてバージョンを落としています。
まぁ Box 自体、そこまで頻繁に作成するようなものでもないので、当面は Veewee のみ 1.9 環境で動かす感じでもいいかな、と・・・。
ここでは ruby-1.9.3-p448-i386-mingw32.7z と DevKit-tdm-32-4.5.2-20111229-1559-sfx.exe をダウンロードしました。
インストールして DevKit を使えるよう設定するまでの方法については、以前 ここ に書いたので、参考にしてみて下さい。
インストールが完了したら、bundler を入れておきます。
>gem install bundler --no-rdoc --no-ri
Veewee のインストール
適当なディレクトリに移動して git clone します。
>git clone git://github.com/jedi4ever/veewee.git
この時、Git の設定で autocrlf が有効になっていると *.sh のファイルまで改行が CRLF になってしまい、box 作成時にエラーになってしまいます。
その場合は clone 前に以下を実行して Git の autocrlf を無効にしておきます。
>git config --global core.autocrlf false
clone が終わったら cd して bundle install を実行。
>cd veewee >bundle install
これで Veewee を使う準備は完了です。
長くなったので続きは次回で。
次回はインストールした Veewee を使用して実際に box を作成してみます。
続き書きました。
Veewee による Vagrant の Box 作成環境構築 Windows 版 その2 - akishin999の日記