WindowsでVagrantによりVertualBox上にUbuntuを自動インストール

さて、今回はWindowsのローカルVierualBoxにUbuntuをVagrantで自動インストールしていきたいと思います。

今回の作業前に前回までの下記記事の作業を完了してください。

 

 

今回の作業内容は以下のような作業を行って行きたいと思います。

  1. Boxを取得(仮想マシンのテンプレート)
  2. 仮想マシンを初期化
  3. 仮想マシンの起動
  4. 仮想マシンの起動状態を変更
  5. 仮想マシンにSSHで接続する
  6. 仮想マシン試しにApacheをインストールし起動する
  7. 仮想マシンのネットワーク設定を変更する

1.Boxを取得(仮想マシンのテンプレート)

http://docs.vagrantup.com/v2/

Windows_Vagrant_Ubuntu_install(1)

にアクセスし、「Getting Started」を選択し「Boxes」を選択します。
こちらにBoxのINSTALL方法が記載されています。

Windows_Vagrant_Ubuntu_install(2)

こちらに記載されている通りにコマンドを打ってみます。


vagrant box add precise32 http://files.vagrantup.com/precise32.box

上記のコマンドで「Ubuntu 32bitバージョン」のBoxがダウンロードされ、追加されます。
(ダウンロード完了まで、私の環境では10分ほどかかりました)

Windows_Vagrant_Ubuntu_install(11)

ダウンロードが完了しましたら、下記のコマンドを打って現在のBOXの一覧を表示してみましょう。

vagrant box list

以下のように表示されればBOXが正しく追加されたことになります。


precise32          (virtualbox)

2.仮想マシンを初期化

仮想マシンを作成するにはいったんディレクトリを作成しその中で作業します。
下記のコマンドを打ってディレクトリを作成し、ディレクトリの中に入ってください。


mkdir precise32
cd precise32

さて、これからOSのインストールを行います。
下記のコマンドを打ってインストール作業を行ってください。


vagrant init precise32

するとこのような内容が表示され、初期化が完了しました。


C:Usersmiprecise32>vagrant init precise32
A <code>Vagrantfile</code> has been placed in this directory. You are now
ready to <code>vagrant up</code> your first virtual environment! Please read
the comments in the Vagrantfile as well as documentation on
<code>vagrantup.com</code> for more information on using Vagrant.

3.仮想マシンの起動

下記のコマンドを打って仮想マシンを起動します。

vagrant up

仮想マシンの起動が完了したら以下のような内容が表示されているかと思います。


C:Usersmiprecise32>vagrant up
Bringing machine 'default' up with 'virtualbox' provider...
[default] Importing base box 'precise32'...
efault] Matching MAC address for NAT networking...
[default] Setting the name of the VM...
[default] Clearing any previously set forwarded ports...
[default] Creating shared folders metadata...
[default] Clearing any previously set network interfaces...
[default] Preparing network interfaces based on configuration...
[default] Forwarding ports...
[default] -- 22 => 2222 (adapter 1)
[default] Booting VM...
[default] Waiting for machine to boot. This may take a few minutes...
[default] Machine booted and ready!
[default] Mounting shared folders...
[default] -- /vagrant

 

この時点でVirtualBOXを起動すると、現在追加した仮想マシンが起動していることが確認できます。

Windows_Vagrant_Ubuntu_install(12)

4.仮想マシンの起動状態を変更

仮想マシンの起動状態は以下のコマンドで確認できます。


vagrant status

以下のようなメッセージが表示され「running」であることが確認できます。


C:Usersmiprecise32&gt;vagrant status
Current machine states:

default                   running (virtualbox)

The VM is running. To stop this VM, you can run <code>vagrant halt</code> to
shut it down forcefully, or you can run <code>vagrant suspend</code> to simply
suspend the virtual machine. In either case, to restart it again,
simply run <code>vagrant up</code>.

 

以下は、仮想マシンの状態を変更するコマンド一覧です。

vagrant suspend : サスペンド
vagrant resume :サスペンドからの復帰
vagrant halt : 停止
vagrant halt : 起動
vagrant reload : 再起動

vagrant destroy : 仮想マシンの削除

5.仮想マシンにSSHで接続する

仮想マシンにSSHで接続するには以下のコマンドを使います。


vagrant ssh

SSHコマンドを打つとパスワードを聞いてきますので初期パスワード「vagrant」を打ってログインします。


C:Usersmiprecise32>vagrant ssh
Enter passphrase for key 'C:/Users/mi/.vagrant.d/insecure_private_key':
vagrant@127.0.0.1's password:
Welcome to Ubuntu 12.04 LTS (GNU/Linux 3.2.0-23-generic-pae i686)

* Documentation:  https://help.ubuntu.com/
Welcome to your Vagrant-built virtual machine.
Last login: Fri Sep 14 06:22:31 2012 from 10.0.2.2
vagrant@precise32:~$

無事ログインが完了しました。

6.仮想マシンに試しにApacheインストールし起動する

以下のコマンドを打ちApacheをインストールし、起動します。


sudo apt-get updatesudo apt-get install apache2

 

以下のような内容が表示されるので「y」を打ってインストールしてください。


vagrant@precise32:~$ sudo apt-get install apache2.2
Reading package lists... Done
Building dependency tree
Reading state information... Done
Note, selecting 'apache2.2-bin' for regex 'apache2.2'
Note, selecting 'apache2.2-common' for regex 'apache2.2'
The following extra packages will be installed:
apache2-utils libapr1 libaprutil1 libaprutil1-dbd-sqlite3 libaprutil1-ldap
ssl-cert
Suggested packages:
www-browser apache2-doc apache2-suexec apache2-suexec-custom
openssl-blacklist
The following NEW packages will be installed:
apache2-utils apache2.2-bin apache2.2-common libapr1 libaprutil1
libaprutil1-dbd-sqlite3 libaprutil1-ldap ssl-cert
0 upgraded, 8 newly installed, 0 to remove and 151 not upgraded.
Need to get 1,841 kB of archives.
After this operation, 5,228 kB of additional disk space will be used.
Do you want to continue [Y/n]?

 

これでApacheのインストールと起動が完了しました。

試しに以下のコマンドを打ち接続してページを取得してみましょう。

cd /tmp
wget http://127.0.0.1/

すると以下のようなメッセージが表示され「index.html」が取得されたことがわかります。


vagrant@precise32:/tmp$ wget http://127.0.0.1/
--2013-09-21 09:32:23--  http://127.0.0.1/
Connecting to 127.0.0.1:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 177

[text language="/html"][/text]

Saving to: <code>index.html'

100%[======================================&gt;] 177         --.-K/s   in 0s

2013-09-21 09:32:23 (1.10 MB/s) - </code>index.html' saved [177/177]

7.仮想マシンのネットワーク設定を変更する

現在のネットワークはVierualBox上でNAT通信なネットワークに設定されています。

以下のコマンドでネットワーク設定を参照します。


ifconfig -a

すると以下のような内容が表示され「eth0」のアドレス(10.0.2.15)がわかります。


vagrant@precise32:/tmp$ ifconfig -a
eth0      Link encap:Ethernet  HWaddr 08:00:27:12:96:98
inet addr:10.0.2.15  Bcast:10.0.2.255  Mask:255.255.255.0
inet6 addr: fe80::a00:27ff:fe12:9698/64 Scope:Link
UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
RX packets:6473 errors:0 dropped:0 overruns:0 frame:0
TX packets:3665 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:5264863 (5.2 MB)  TX bytes:360677 (360.6 KB)

lo        Link encap:Local Loopback
inet addr:127.0.0.1  Mask:255.0.0.0
inet6 addr: ::1/128 Scope:Host
UP LOOPBACK RUNNING  MTU:16436  Metric:1
RX packets:12 errors:0 dropped:0 overruns:0 frame:0
TX packets:12 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:1236 (1.2 KB)  TX bytes:1236 (1.2 KB)

作業端末で新たにコンソールを開き以下のコマンドで現在のVierualBOXのホストオンリーネットワークの値を参照してみてください。


ipconfig /all

その中から「VirtualBox Host-Only Network」の項目を見てください。

「192.168.56.1」になってることがわかります。(これは皆さんの環境により違うかもしれません)


イーサネット アダプター VirtualBox Host-Only Network:

接続固有の DNS サフィックス . . . . .:
説明. . . . . . . . . . . . . . . . .: VirtualBox Host-Only Ethernet Adapter
物理アドレス. . . . . . . . . . . . .: 08-00-27-00-20-2B
DHCP 有効 . . . . . . . . . . . . . .: いいえ
自動構成有効. . . . . . . . . . . . .: はい
リンクローカル IPv6 アドレス. . . . .: fe80::1dd0:9f7a:de0c:fcb7%60(優先)
IPv4 アドレス . . . . . . . . . . . .: 192.168.56.1(優先)
サブネット マスク . . . . . . . . . .: 255.255.255.0
デフォルト ゲートウェイ . . . . . . .:
DHCPv6 IAID . . . . . . . . . . . . .: 688390183
DHCPv6 クライアント DUID. . . . . . .: 00-01-00-01-18-1D-91-27-9C-8E-99-7B-F4
-98
DNS サーバー. . . . . . . . . . . . .: fec0:0:0:ffff::1%1
fec0:0:0:ffff::2%1
fec0:0:0:ffff::3%1
NetBIOS over TCP/IP . . . . . . . . .: 有効

Tunnel adapter isatap.{DED27468-0EB2-480A-8162-A49BFE3697DC}:

メディアの状態. . . . . . . . . . . .: メディアは接続されていません
接続固有の DNS サフィックス . . . . .:
説明. . . . . . . . . . . . . . . . .: Microsoft ISATAP Adapter
物理アドレス. . . . . . . . . . . . .: 00-00-00-00-00-00-00-E0
DHCP 有効 . . . . . . . . . . . . . .: いいえ
自動構成有効. . . . . . . . . . . . .: はい

Tunnel adapter ローカル エリア接続* 2:

メディアの状態. . . . . . . . . . . .: メディアは接続されていません
接続固有の DNS サフィックス . . . . .:
説明. . . . . . . . . . . . . . . . .: Teredo Tunneling Pseudo-Interface
物理アドレス. . . . . . . . . . . . .: 00-00-00-00-00-00-00-E0
DHCP 有効 . . . . . . . . . . . . . .: いいえ
自動構成有効. . . . . . . . . . . . .: はい

では、仮想サーバーとローカルPCを通信出来るようにvagran設定ファイルでネットワーク設定を書き換えてみましょう。

一旦仮想マシン側のコンソールに「exit」と入力し、SSH接続を切りコンソールに戻ります。

Windowsのエクスプローラでホームフォルダを開きその中にある「precise32」フォルダを開きます。

Windows_Vagrant_Ubuntu_install(13)

この中にある「Vagrantfile」が設定ファイルになります。
このファイルをテキストエディタで開き

「Create a private network」と書かれた項目の「config.vm.network」のコメント(#)を削除し、先ほど作業PC上で確認した「VirtualBox Host-Only Network」(192.168.56.1)と同じネットワークになるように編集し保存してください。
今回は(192.168.56.100)としました。


# Create a private network, which allows host-only access to the machine
# using a specific IP.
config.vm.network :private_network, ip: "192.168.56.100"

設定ファイルを保存したら、vagrantを起動しているコンソールに戻り以下のコマンドで仮想マシンを再起動してください。


vagrant reload

以下のようなメッセージが表示され仮想マシンが再起動出来ました。


C:Usersmiprecise32>vagrant reload
[default] Attempting graceful shutdown of VM...
[default] Clearing any previously set forwarded ports...
[default] Creating shared folders metadata...
[default] Clearing any previously set network interfaces...
[default] Preparing network interfaces based on configuration...
[default] Forwarding ports...
[default] -- 22 => 2222 (adapter 1)
[default] Booting VM...
[default] Waiting for machine to boot. This may take a few minutes...
[default] Machine booted and ready!
[default] Configuring and enabling network interfaces...
[default] Mounting shared folders...
[default] -- /vagrant

もう1度仮想マシンにSSHで接続してみましょう


vagrant ssh

そして、以下のコマンドでネットワーク設定をもう1度確認してみてください。


eth1      Link encap:Ethernet  HWaddr 08:00:27:9b:9d:a4
inet addr:192.168.56.100  Bcast:192.168.56.255  Mask:255.255.255.0
inet6 addr: fe80::a00:27ff:fe9b:9da4/64 Scope:Link
UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
RX packets:102 errors:0 dropped:0 overruns:0 frame:0
TX packets:6 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:10162 (10.1 KB)  TX bytes:468 (468.0 B)

「eth1」が増え、IPアドレスが先ほど指定した値になっていることを確認してください。

ブラウザを開き、設定したIPアドレスに接続してみてください。

Windows_Vagrant_Ubuntu_install(14)

おめでとうございます!
Webサーバに正しくアクセスできました。

作業終了後「vagrant halt」などのコマンドで仮想マシンを停止するのをお忘れなく。

また、今回の仮想サーバが不必要な場合は下記コマンドにて、VirtualBOXから削除してください。


vagrant destroy

 

本当に削除するか聞いてきますので「y」を押し削除してください。


C:\Users\mi\precise32>vagrant destroy
Are you sure you want to destroy the 'default' VM? [y/N] y
[default] Destroying VM and associated drives...

すると、VirtualBOXからも仮想マシンが無くなっていることが確認できます。

さて、次回はVagrantの本領発揮「設定ファイルに従いサーバの内容を自動設定」していきたいと思います。

Similar Posts:

One thought on “WindowsでVagrantによりVertualBox上にUbuntuを自動インストール

  1. Pingback: Vagrantで自動的にLAMP環境を自動インストール。(+Wordpress) | yoshikawa.64kb

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

CAPTCHA


Time limit is exhausted. Please reload CAPTCHA.

コメントは承認待ちです。表示されるまでしばらく時間がかかるかもしれません。