tweeeetyのぶろぐ的めも

アウトプットが少なかったダメな自分をアウトプット<br>\(^o^)/

macにVirtualBoxとVagrantをダウンロード&インストールしてみるメモ。vagrant upするまでの入門編

はじめに

vagrant入れていろいろやってみたかったので入れるメモ。

ながれ

  1. ちょい説明
  2. Vagrantダウンロード&インストール
  3. VirtualBoxダウンロード&インストール
  4. Box追加
  5. 仮想マシンの作成と起動

1. ちょい説明

vagrantとは

相も変わらず他の方の説明力をお借りしますw

違う環境に移行可能な開発環境を簡単に構築・管理し、
配布することができる開発環境作成ツール
「ほんの数行書くだけで開発用の仮想マシンを構築できる」という優れもの。
「Vagrant」って何ぞ?(・o・)

vagrantメリット

まだ将来対応のところもあるかもしれませんが、
イメージ的にこんなとこだと思ってもらえれば。

  • 誰でも同じ開発環境が構築できる(you、he、etc..)
  • 環境をそろえたい(dev、stg、prod、etc...)
  • どのマシンでも開発環境が構築できる(mac、win、etc...)
  • どのプロバイダでも動く(VirtualBoxVMWareAWS、etc...)
  • これらがすぐ構築できる!自動化できる!
  • enjoy開発!

まさに夢のようです。

そして今回行う環境はこんなん

2. Vagrantダウンロード&インストール

ダウンロードとインストールはそのままやるだけです。
下記URLからダウンロードします。
http://www.vagrantup.com/downloads.html

#MAC OS Xを選択してダウンロード

f:id:tweeeety:20141010214102p:plain

#vagrant.pkgをダブルクリックでインストール

ダウンロードしたらダブルクリックしてくるウインドウで次へ系をを押すだけですぐ終わります

f:id:tweeeety:20141010214250p:plain

確認

インストールまで終わったらvagrantコマンドが追加されているので確認します

# vagrant -v
Vagrant 1.6.5

3. VirtualBoxダウンロード&インストール

こちらもそのままやる感じです。下記のサイトからダウンロード&インストール https://www.virtualbox.org/

#Downloadsリンクおす

f:id:tweeeety:20141010214314p:plain

#macなので素直にx84/amd64リンクおしてダウンロード

f:id:tweeeety:20141010214443p:plain

#インストール

こちらもダウンロードしたファイルをダブルクリックして開くウインドウで次へ系を押してけばすぐ終わります

f:id:tweeeety:20141010214626p:plain

このパッケージは、ソフトウェアをインストールできるかを...と表示されたりしますが、気にせず次へ系で。

4. Box追加

boxとは

環境を構築するためのテンプレート。
事前にインストールされたOSなどが含まれている。

最初は良くわからなかったがこんな感じと理解している

  • Mac : ホストOS。ゲストOS(Virtualマシーンを動かすOS)
  • VirtualBox : マシンのバーチャルなやつ
  • VagrantのBox : VirtualBox上で動く仮想OSイメージ、の塊。仮想マシーンOSのテンプレート
  • Vagrant : boxからosを仮想OSを作ったりVirtualBox上で走らせたり?表現がうまくみつからない

語弊があればご指摘ください(><)

boxコマンド

基本的なコマンドはこんな感じ

vagrant box add [boxの名前] [boxのurl]

テンプレートを追加する感じらしいのでこの時点ではまだOSを追加したわけではない。
そしてこれはベースイメージとも呼ばれているようではじめに一度行えば良い。
Vagrant日本語ドキュメント - Box

実際にやってみる

ってことでコマンドたたいてみます。boxのurlはここから取得できます
http://www.vagrantbox.es/

今回はこのURLを使いました。
v6.4.2/centos64-x86_64-20140116.box

※ そのままやってみる
# vagrant box add centos64 https://github.com/2creatives/vagrant-centos/releases/download/v6.4.2/centos64-x86_64-20140116.box
==> box: Adding box 'centos64' (v0) for provider: 
    box: Downloading: https://github.com/2creatives/vagrant-centos/releases/download/v6.4.2/centos64-x86_64-20140116.box
==> box: Successfully added box 'centos64' (v0) for 'virtualbox'!

少し時間がかかりますが自分は5分ほどで終わりました

確認
# vagrant box list
centos64 (virtualbox, 0)

うまくいったようです。

補足

ヘルプはこんな感じで出ます

# vagrant box -h
Usage: vagrant box <subcommand> [<args>]

Available subcommands:
     add
     list
     outdated
     remove
     repackage
     update

For help on any individual subcommand run `vagrant box <subcommand> -h`

5. 仮想マシンの作成と起動

仮想マシンを作成しますがその前に下記を行います

  • Vagrantディレクトリと仮想OSディレクトリ作る
  • Vagrant initコマンドで初期化する。設定ファイル(Vagrantfile)が作られる
※ ってことでディレクトリ作成
# mkdir -p ~/Vagrant/CentOS64
# cd ~/Vagrant/CentOS64

※ initで初期化。Vagrantfileが生成される
※ vagrant init centos64
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.

※ 確認
# ls
Vagrantfile

※ 中身も確認(自分のでは13行目あたりに設定が記述されてました)
# less Vagrantfile
---- less表示 ----
 12   # Every Vagrant virtual environment requires a box to build off of.
 13   config.vm.box = "centos64"
 14 
 15   # Disable automatic box update checking. If you disable this, then-----------------
# いよいよ起動

の、前にGUIVirtualBoxを見てみます。こんな感じ

f:id:tweeeety:20141010223851p:plain

# いよいよ起動
# vagrant up
Bringing machine 'default' up with 'virtualbox' provider...
==> default: Importing base box 'centos64'...
==> default: Matching MAC address for NAT networking...
==> default: Setting the name of the VM: CentOS64_default_1412929251231_51163
==> default: Clearing any previously set network interfaces...
==> default: Preparing network interfaces based on configuration...
    default: Adapter 1: nat
==> default: Forwarding ports...
    default: 22 => 2222 (adapter 1)
==> default: Booting VM...
==> default: Waiting for machine to boot. This may take a few minutes...
    default: SSH address: 127.0.0.1:2222
    default: SSH username: vagrant
    default: SSH auth method: private key
==> default: Machine booted and ready!
==> default: Checking for guest additions in VM...
==> default: Mounting shared folders...
    default: /vagrant => /Users/hoge/Vagrant/CentOS64

※ vagrantで立ち上げたゲストOSにはいってみる
# vagrant ssh
[vagrant@vagrant-centos64 ~]$ 

※ ゲストOSに入ったので/homeも変わっている
[vagrant@vagrant-centos64 ~]$ 
/home/vagrant
# VirtualBox見てみる

起動後にもVirtualBoxを見てみます

f:id:tweeeety:20141010223900p:plain

なるほど、vagrant upで初めてゲストOSが認識される感じですね。
ということで長いのでここまで!

参考

まとめ

立ち上げただけでほとんど何もやってませんが導入メモってことでw