僕のYak Shavingは終わらない

車輪の再発明をやめたらそこには壮大なYakの群れが

Windows 7 でVagrantでCent OS 6.3入れてみた

Vagrant - naoyaのはてなダイアリー
最近naoyaさんに影響されまくっているkazuphです。

naoyaさんは今まで使い方がわからなくて二の足を踏んでいる人でも、使いたくなるようなわかりやすい記事を書いてくれて本当に助かります。

ということで例に習ってvagrantを使ってみます。
今回は手元にWin7が転がっていたのでそちらにインストールしてみました。

手順は正直これとnaoyaさんの記事だけ読んでれば大丈夫です。
http://docs.vagrantup.com/v1/docs/getting-started/index.html

ちなみにぐぐってよく出てくるRubyとRubyGemを入れる方法は今回は必要ありませんでした。

1. VirtualBoxのインストール

https://www.virtualbox.org/wiki/Downloads
↑の「VirtualBox 4.2.6 for Windows hosts x86/amd64」と書いてる部分のリンクよりダウンロード。ダウンロード後はインストーラに従って連打してればOKです。

2. Vagrantのインストール

http://downloads.vagrantup.com/
↑より現在(2013/02/05)の最新版のv1.0.6のVagrant.msiをダウンロード。
ダウンロード後はインストーラに従って連打してればOKです。

3. CentOSのインストール

http://www.vagrantbox.es/
↑に説明とOSのリストがあります。

$ vagrant box add {title} {url}
$ vagrant init {title}
$ vagrant up

ドキュメントだと以下のように書いてあります。

$ vagrant box add lucid32 http://files.vagrantup.com/lucid32.box
$ vagrant init lucid32
$ vagrant up

ただここはnaoyaさんに習って以下のようにしてみました。
※64bitがだめな場合もあると思うので適宜32bitを選択して下さい。

vagrant box add centos http://developer.nrel.gov/downloads/vagrant-boxes/CentOS-6.3-x86_64-v20130101.box
vagrant init centos
vagrant up

4. sshを試す

接続してみます。

>vagrant ssh
`vagrant ssh` isn't available on the Windows platform. You are still able
to SSH into the virtual machine if you get a Windows SSH client (such as
PuTTY). The authentication information is shown below:

Host: 127.0.0.1
Port: 2222
Username: vagrant
Private key: C:/Users/oreore/.vagrant.d/insecure_private_key

おっと、「vagrant sshはwinだと使えないよー」と怒られてしましました。忠告通りにPuttyを使ってみます。

HostとPortは上に書いてある通りですね。

最初、秘密鍵をppkになおしてうんぬんしないとログインできないかと思ったのですが、なんとPasswordがUsernameと同じでした(^q^)

login as: vagrant
Access denied
vagrant@127.0.0.1's password:  ← vagrantとタイプ
Last login: Tue Feb  5 14:18:22 2013 from 10.0.2.2
Welcome to your Vagrant-built virtual machine.
[vagrant@localhost ~]$ cat /etc/redhat-release
CentOS release 6.3 (Final)

ほげほげ(^q^)

ちゃんと入ったようです。

5. 次回以降の起動

vagrant up

をコマンドラインで叩けば大丈夫のようです。

6. 終了

vagrant halt

でおk!

7.破壊

一度つくった仮想環境を壊したい場合は以下です。

vagrant destroy

デストロイ!

まとめ

なにこれ超絶簡単すぐるぅ!!!!!

追記(2013/02/22)

このままだとホストOSからVagrantで立ち上げたCentOSにアクセスできなさそうだったのでVagrantfileに以下のようにホストオンリーネットワークを設定した。
C:\Users\{yourusername}\.vagrant.d\boxes\centos\Vagrantfile

Vagrant::Config.run do |config|
  config.vm.base_mac = "080027F7F048"
  config.vm.customize ["modifyvm", :id, "--memory", 1024]
  config.vm.network :hostonly, "192.168.50.2", :netmask => "255.255.255.0"
end

include_vagrantfile = File.expand_path("../include/_Vagrantfile", __FILE__)
load include_vagrantfile if File.exist?(include_vagrantfile)

追記終わり

追記の追記(2013/09/26)

Vagrantのバージョンが1.1になってちょっと変わったみたいです。

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

VAGRANTFILE_API_VERSION = "2"
Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|
  config.vm.box = "centos_base"
  config.vm.network :private_network, ip: "192.168.33.10"
  config.vm.provider :virtualbox do |vb|
    vb.customize ["modifyvm", :id, "--memory", "1024"]
  end
end

hostonlyにしていたのがprivate_networkになった感じで。