garbagetown

個人の日記です

proxy 環境下の Windows7 に Vagrant で Ubuntu 12.04 を入れてみた

間もなくリリースされそうな Twitter Bootstrap 3 を検証するために jekyll やら npm やらいろいろ必要だったので、Vagrant で検証用環境を作ってみました。

構築した環境は以下の通りです。

同様の情報はネット上に山ほどありますが、最後の proxy 環境下だけが少し特殊な状況なので、備忘を兼ねて記録します。

Vagrant のインストール

Vagrant ダウンロードページ から 2013/07/12 時点の最新版 Vagrant_1.2.3.msi をダウンロードして、インストーラに従ってデフォルトのままインストールします。

インストール後、システムを再起動する必要があります。

proxy の設定

box を追加する際に Vagrant がインターネットに接続するので、proxy サーバの情報を設定する必要があります。

WIndows7 のシステム環境変数 http_proxyproxy_host:proxy_port のフォーマットで設定すればよいようです。

box の追加

A list of base boxes for Vagrant - Vagrantbox.es からインストールしたい box を選びます。

今回はまっさらな Ubuntu 12.04 LTS 64bit が欲しかったので、以下のようにして追加しました。

C:\Users\umezawa>vagrant box add precise64 http://files.vagrantup.com/precise64.box
Downloading or copying the box...
[0KExtracting box...ate: 1810k/s, Estimated time remaining: --:--:--)
Successfully added box 'precise64' with provider 'virtualbox'!

無事に追加されたら初期化します。

C:\Users\umezawa>vagrant init precise64
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.

無事に初期化できたようなので起動してみます。

C:\Users\umezawa>vagrant up
Bringing machine 'default' up with 'virtualbox' provider...
(snip)
Guest Additions Version: 4.2.0
VirtualBox Version: 4.1
[default] Mounting shared folders...
[default] -- /vagrant

VirtualBoxのフォルダ共有機能を使って HostOS の C:\Users\umezawa ディレクトリが GuestOS の /vagrant としてマウントされたようです。

ホストオンリーネットワークの追加

これで box の追加と起動が確認できましたが、後々の作業のために HostOS から GuestOS にアクセスできるように、ネットワーク設定を追加します。

一旦 GuestOS をシャットダウンします。

C:\Users\umezawa>vagrant halt
[default] Attempting graceful shutdown of VM...

C:\Users\{user}\Vagrantfile が作成されているので、テキストエディタで開いて設定を有効化します。

# -*- mode: ruby -*-
# vi: set ft=ruby :

Vagrant.configure("2") do |config|
  # All Vagrant configuration is done here. The most common configuration
  # options are documented and commented below. For a complete reference,
  # please see the online documentation at vagrantup.com.
(snip)
  # Create a private network, which allows host-only access to the machine
  # using a specific IP.
  config.vm.network :private_network, ip: "192.168.33.10"
(snip)

これで 192.168.33.10 で GuestOS にアクセスできるようになります。

再度 GuestOS を起動すると、先ほどは表示されなかった Configuring and enabling network interfaces... というメッセージが表示されるようになります。

C:\Users\umezawa>vagrant up
Bringing machine 'default' up with 'virtualbox' provider...
(snip)
Guest Additions Version: 4.2.0
VirtualBox Version: 4.1
[default] Configuring and enabling network interfaces...
[default] Mounting shared folders...
[default] -- /vagrant

teraterm 等のターミナルソフトで 192.168.33.10 に SSH で接続します。ユーザー名とパスワードに vagrant と入力するとログインすることができます。

f:id:garbagetown:20130712190924j:plain

参考