windows7でvagrantを使う

はじめに

現在行っているプロジェクトで最初は自分一人エンジニアで開発を行っており開発環境にVagrantを利用していたのですが、この度マークアップと連携する段階に入り、いままで自分のMacvagrantで開発環境を作って開発してきたので、その環境をマークアップwindowsで再現するためにwindowsvagrantを使う方法を調査したのでまとめおきたいと思います。

vagrantとは

vagrantとは仮想環境の起動、Stop、削除をコマンドラインで簡単に操作でき、かつその仮想環境の設定(os、ネットワーク、メモリ割り当てなど)をVagrantfileという一つファイルで行なう事が出来るツールです。

このVagrantfileを共有することが簡単に仮想環境を構築できること、他の人と同じ開発環境を簡単に再現できることが魅力で使われているツールです。

vagrantについての説明はよりわかりやすい説明がされているブログがあるので、ここでの説明は省略します。

インストール手順

vagrant インストール

まず公式サイトからダウロードします。Windowsを選択して、ダウロードして下さい。

インストールしたファイルをダブルクリックして、あとは説明に従えば上手く行きます。

VirtualBoxをインストール

vagrantで利用する仮想環境を作るためにはなんらかの仮想化ツールが必要です。ここでは自分も使っているVirtualBoxを利用するのでインストールします。

公式サイトのダウロードページにある「VirtualBox 4.3.28 for Windows hosts -> x86/amd64」を選択してダウロードして下さい。

スクリーンショット 2015 06 02 15.46.05.png

ダウンロードしたファイルをクリックしたらインストールが始まります。ここも説明どおり進めていけば問題ありません。

VirtualBoxのパスをユーザー環境変数Pathに設定する

vagrantVirtualBoxを使用するためにユーザー環境変数PathにVirtualBoxのパスを設定する必要があります。 特別に変更せずに進めていれば、C:\Program Files\Oracle\VirtualBoxにインストールされているはずなので確認して下さい。

VirtualBoxをインストールしたパスが確認できれば、それを環境変数に設定します。

環境変数の設定するにはWindowボタン->Computer->System properties -> Change settingsとを辿ると以下の設定画面を表示させます。(画像は英語になっているので日本語に読みかえて下さい。)

スクリーンショット 2015-06-02 16.29.28.png

画面の下にある「Environment Variables」ボタンをクリックすると環境変数設定画面に入ります。

環境変数の設定画面には上部の「ユーザー環境変数(User variables for ユーザー名)」と下部の「システム環境変数(System variables)」があります。

ユーザー環境変数のPathに先ほど確認したVirtualBoxのPathを追加したのですが、もしすでにPathがあればすでに書かれている値の後に追記してください。 もしなければNewボタンをクリックして、新規に作成します。

スクリーンショット 2015-06-02 16.32.16.png

vagrantで仮想環境を立ち上げる

インストール&設定が上手くいったか確認するため、vagrantを使ってみる。

好きなディレクトリに移動して、以下のコマンドを実行してください。

$ vagrant init hashicorp/precise32

成功するとVagrantfileが作成されます。 そのVagrantfileで定義された仮想環境を立ち上げるには以下のコマンドを実行します。

$ vagrant up

上手くいけば指定された仮想環境のboxのインストールから立ち上げまで行ってくれます。

注意点

もしvagrant upしたときにエラーが発生し、「VirtualBoxがインストールされていない」というエラーメッセージが表示された場合まだ環境変数Pathがコマンドプロンプトに反映されていないのが原因かもしれません。 一度コマンドプロンプトを再起動させると上手くいくかもしれないので試してみて下さい。(自分はWindows自体を再起動したけど。。)

課題

vagrantで立ち上げた仮想環境にsshで簡単にログインできるコマンドでvagrant sshというのがありますが、Windowsだとデフォルトでsshクライアントが入っておらず使えない。。

このvagrant sshを使えるようにするのは別記事にまとめましたのでそちらを参考にして下さい。