ベルリンのITスタートアップで働くジャバ・ザ・ハットリの日記

日本→シンガポール→ベルリンへと流れ着いたソフトウェアエンジニアのブログ

chefとvagrant のインストール方法ってマチマチだが、正攻法でやった方がいいと断言する

移転しました。

まずはchefのインストール。安易にgemでインストールするとknifeが入ってない、とか不完全なまま放置される可能性があるので以下のようなgemコマンドで入れる方法はオススメしない。

$ gem install chef

とするよりも
ここからとった方がいい。
Chef Development Kit | Chef Downloads | Chef

OS選んでダウンロードボタン押すだけ。

Vagrantも同じくインストール。

Download Vagrant - Vagrant


最初だけvagrant boxというOSのイメージが必要なので入れる。
ここから好きなOSを選んでURLをコピー。
A list of base boxes for Vagrant - Vagrantbox.es

以下コマンドでインストール。10分ぐらいかかる。

$ vagrant box add base https://github.com/tommy-muehle/puppet-vagrant-boxes/releases/download/1.0.0/centos-6.6-x86_64.box

適当なvagrant用のディレクトリを作ってその中で以下コマンドを実行して初期化する。

$ vagrant init

ディレクトリ内にFagrantfileができる。
仮想サーバーを立ち上げる前にネットワーク設定を行う。

Vagrant.configure(2) do |config|
    config.vm.box = "base"
    config.vm.network "private_network", ip: "192.168.50.12"

IPアドレスはお好きなように。
これで準備OK。

$ vagrant up

でこういうのがじゃらじゃら出てきた結果、起動する。

Bringing machine 'default' up with 'virtualbox' provider...
==> default: Importing base box 'base'...
==> default: Matching MAC address for NAT networking...
==> default: Setting the name of the VM: vagrant_test_default_1435810365961_52012
==> default: Clearing any previously set forwarded ports...

2回目以降はinit とかadd box は不要でただ$ vagrant upだけで起動可能。

起動するとsshログインが可能になっているはず。コマンドは以下。

$ vagrant ssh

通常の方法でsshログインするには

$ vagrant ssh-config --host melody >> ~/.ssh/config

としておけば次回からは

$ ssh melody

でOK

サーバー止める方法

$ vagrant halt

サーバー破壊する方法

$ vagrant destroy

全般的にchefを学ぶにはこの本が一番手っ取り早い。というかこれしか買ってないし、これ買ったら後はググった情報で十分とも言える。

入門Chef Solo - Infrastructure as Code

入門Chef Solo - Infrastructure as Code