CUBE SUGAR CONTAINER

技術系のこと書きます。

Windows7 に Vagrant の環境をセットアップする

Windows に Vagrant の環境をセットアップしようとしたら思いのほかハマったのでその手順をメモしておく。

コマンドプロンプトを管理者権限で立ち上げる

まずはスタートアップボタンから cmd を検索する。 出てきたプログラムを右クリックして「管理者として実行」を選ぶ。 f:id:momijiame:20160125213340p:plain

管理者権限を与えるかの確認が出てくるので「はい」を選ぶ。 f:id:momijiame:20160125213348p:plain

すると管理者権限でコマンドプロンプトが立ち上がるので、今後はここで CLI の操作をしていく。 f:id:momijiame:20160125213412p:plain

Chocolatey をインストールする

Windows のコマンドラインからアプリケーションをインストールするためのソフトウェアとして Chocolatey を使う。

インストールには次のコマンドを入力する。 先頭の「>」はコマンドプロンプト上で実行する操作を表しているので入力する必要はない。

> @powershell -NoProfile -ExecutionPolicy Bypass -Command "iex ((new-object net.webclient).DownloadString('https://chocolatey.org/install.ps1'))" && SET PATH=%PATH%;%ALLUSERSPROFILE%\chocolatey\bin

いくつか警告が出るけど、最後の方に次のような出力が得られればインストールが無事に終わっている。

Chocolatey (choco.exe) is now ready.
You can call choco from anywhere, command line or powershell by typing choco.

必要なアプリケーションをインストールする

Chocolatey を使って Vagrant を動かすのに必要なアプリケーションを一通りインストールする。

> choco install -y virtualbox vagrant wget cygwin cyg-get vcredist2010

それぞれの意図は次の通り。

  • VirtualBox: 仮想マシンを動かすためのハイパーバイザ
  • Vagrant: そのもの
  • wget: Vagrant の仮想マシンテンプレート (Box) をダウンロードするのに使う
  • cygwin: Vagrant の動作に SSH コマンドが必要なのでそれを動かすのに使う
  • cyg-get: Cygwin にコマンドラインでパッケージを導入するためのソフトウェア
  • vcredist2010: Vagrant の中にある curl.exe を動かすのに必要

Cygwin に OpenSSH をインストールする

そのままコマンドプロンプト上で作業を続ける。 cyg-get を使って Cygwin に OpenSSH をインストールしよう。

> cyg-get openssh

ここまで終わったら、一旦 Windows を再起動する。

Cygwin を起動する

再起動が終わって起動してきたら、もう一度コマンドプロンプトを開こう。 ただし、今度は管理者権限は必要ないので、普通にクリックで開くだけで良い。

コマンドプロンプトを開いたら cygwin コマンドを使って Cygwin のターミナルに入ろう。

> cygwin

プロンプトの左側にある表示が「$」になって Cygwin が起動すれば成功。

Vagrant を設定する

まずは Vagrant の仮想マシンテンプレートをダウンロードしてこよう。 一般に公開されているものであれば次のウェブサイトから URL を取得できる。

A list of base boxes for Vagrant - Vagrantbox.es

今回は Ubuntu 14.04 LTS のテンプレートを使おう。 先ほどインストールした wget コマンドを使ってダウンロードする。

$ wget -O ubuntu1404.box https://cloud-images.ubuntu.com/vagrant/trusty/current/trusty-server-cloudimg-amd64-vagrant-disk1.box

ダウンロードができたら、それを ubuntu1404 という名前で Vagrant に登録しよう。

$ vagrant box add ubuntu1404 ubuntu1404.box

上手くいけば vagrant box list サブコマンドで登録したテンプレートが表示される。

$ vagrant box list
ubuntu1404 (virtualbox, 0)

仮想マシンを起動する

次は、どこか適当な作業ディレクトリを用意して vagrant init サブコマンドで仮想マシンを初期化する。 引数には使用するテンプレートの名前を指定しよう。

$ vagrant init ubuntu1404

ここまでで準備は完了。 あとは vagrant up サブコマンドで仮想マシンを起動する。 これには 2, 3 分はかかるはず。

$ vagrant up

起動が上手くいったら vagrant ssh サブコマンドで仮想マシンにログインしよう。 次のようなメッセージが表示されれば大成功。

$ vagrant ssh
Welcome to Ubuntu 14.04.3 LTS (GNU/Linux 3.13.0-76-generic x86_64)

 * Documentation:  https://help.ubuntu.com/

 System information disabled due to load higher than 1.0

  Get cloud support with Ubuntu Advantage Cloud Guest:
    http://www.ubuntu.com/business/services/cloud

0 packages can be updated.
0 updates are security updates.


vagrant@vagrant-ubuntu-trusty-64:~$

いじょう。