最近お仕事の検証用にVagrantを利用していて、Windows OSにVagrantをインストールしWindows OSのBoxを自作して利用するって事をやっています。
で、ある程度ノウハウが貯まったので忘れない様にブログに書き留めておきます。
今回のインストール編の他にWindows OSのBox作成編、運用編と全部で3エントリ4エントリに分けて書く予定です。
[2015/01/24追記] 他のエントリは以下から見ることができます。
はじめに
今回はインストール編ということでVirutalBoxとVagrantのインストールまでの手順を記載します。
現在私が使用している環境は以下になります。
- Windows 7 Pro(64bit版)
- VirtualBox 4.3.20 + Extension Pack
- Vagrant 1.7.2
本エントリの内容もこの環境で確認しているものになります。
VirtualBoxのインストール
ダウンロードサイトからVirtualBox本体とExtension Packをダウンロードしインストールします。(要管理者権限)
インストール手順は画面の指示に従うだけで良いので省略します。
Vagrantのインストール
ダウンロードサイトからWindows版のVagrantをダウンロードしインストールします。(要管理者権限+再起動)
インストール手順は画面の指示に従うだけで良いのでこちらも省略します。
続けてvagrantコマンドへのPATHを通します。 PowerShellだと以下のコマンドで設定します。
# Vagrantを[C:\HashiCorp\Vagrant]にインストールした場合 [Environment]::SetEnvironmentVariable('PATH', [Environment]::GetEnvironmentVariable('PATH', 'Machine') + ';C:\HashiCorp\Vagrant', 'Machine')
また、Vagrant内部でVirtualBoxのVBoxManage.exeを使用しているため、VirtualBoxをインストールしたディレクトリへのPATHを通す必要があります。
# VirtualBoxを[C:\Program Files\Oracle\VirtualBox]にインストールした場合 [Environment]::SetEnvironmentVariable('PATH', [Environment]::GetEnvironmentVariable('PATH', 'Machine') + ';C:\Program Files\Oracle\VirtualBox', 'Machine')
SSHクライアントのインストール(オプション)
Windowsには標準でSSHクライアントがインストールされていませんのでvagrant ssh
コマンドを実行すると以下の様なエラーが出てしまいます。
`ssh` executable not found in any directories in the %PATH% variable. Is an SSH client installed? Try installing Cygwin, MinGW or Git, all of which contain an SSH client. Or use your favorite SSH client with the following authentication information shown below:
エラーメッセージにも出ている様にCygwinやMinGWでSSHクライアントをインストールしてssh.exeへのPATHを通すと良いでしょう。
私はCygwinをインストールしていますが、vagrant ssh
コマンドはあまり使っておらず使い慣れてるTera TermからゲストVMにログインすることが多いです。
vagrant-windowsプラグインについて
Vagrant1.6までVagrantでWindows OSを扱うにはvagrant-windowsプラグインが必要でしたが、1.6よりこの機能がVagrant本体に統合されたためこのプラグインのインストールは不要です。
その他Vagrantプラグインについて
必要に応じてVagrantプラグインを追加でインストールします。
私はFabricを良く扱うのでvagrant-fabricプラグインを追加でインストールしています。
プラグインはvagrant plugin
コマンドから以下の様にしてインストールする事が出来ます。
vagrant plugin install vagrant-fabric
VirtualBox/Vagrantのアップデートについて
VirtualBoxやVagrantのバージョンが更新されて新しいバージョンにアップデートする場合は、現在のバージョンをアンインストール→新しいバージョンをインストールの手順を踏んだ方が良さそうです。
VirtualBoxは上書きインストールする際に自動でアンインストール→再インストールをやってくれますが、Vagrantは上書きインストールすると単純にファイルの上書き更新をしている様でバージョン違いのgemが同居するといった事が起きてしまいます。
使わなくなったバージョンのgemがあっても問題は起きないとは思いますが、いざ問題が起きた時に面倒そうなので上書きインストールはしないほうが良いと思います。