ubuntuサーバを構築する際にシェルを流すのが毎回だと大変なので、Infrastructure as Codeで有名なchefの開発環境を用意した時の覚書です。macでサーバ構築のためのコード(キッチンとかレポジトリと言う)を書いて、それをセットアップ対象のubuntuサーバに対して実行できるようにします。この投稿では、rubyのやchefのインストールと、vagrantの準備までを書いています。
マシンを買い替えた時の為の覚書ですね。
xcode-select --install ruby -e "$(curl -fsSL https://raw.github.com/Homebrew/homebrew/go/install)" brew update brew install rbenv ruby-build git readline echo 'export PATH="$HOME/.rbenv/bin:$PATH"' >> ~/.bash_profile echo 'eval "$(rbenv init -)"' >> ~/.bash_profile source ~/.bash_profile # インストール可能なrubyのバージョンを調べて、最新版を入れる。 rbenv install -l rbenv install 2.1.2 rbenv global 2.1.2 # バージョンやインストール先を確認しておく。 ruby -v which ruby which gem gem install chef
vagrantでテスト用のUbuntuServer14.04を手っ取り早く構築できるようにする。
vagrantをgemからインストールしたらダウンロードサイトから新しいものをダウンロードしろとメッセージが出たので、Oracle VirtualBoxとVagrantを各々ブラウザでダウンロードし、普通にdmgファイルからインストールしました。
Vagrantbox.esからUbuntu14.04のイメージをダウンロード、登録する。
Vagrantbox.esから、お好みのイメージをダウンロードし、OSイメージとして利用できるようにします。今回は『Ubuntu Server Precise 14.04 amd64』をダウンロードさせてもらいました。
vagrant box add base https://oss-binaries.phusionpassenger.com/vagrant/boxes/latest/ubuntu-14.04-amd64-vbox.box mkdir -p ~/chef/vagrant cd ~/chef/vagrant vagrant init # 必要に応じて下記のファイルを編集する。 # 編集しなくても良いが、ネットワーク設定だけはいじっておいた方がapt-get等が使えて便利 vi Vagrantfile
ローカルネットワークの設定に合わせる。DHCPでローカルネットワークのIPを取得して、ネット接続出来れば良いので、コメントアウトしてあった下記を有効にする。
config.vm.network "public_network"
ネットワーク設定を編集したら、起動させる。ブリッジさせるインターフェースを聞かれた場合には、DHCPが使えるネットワークに接続しているアダプタを選ぶ。
vagrant up
# 停止 vagrant halt # 削除 vagrant destroy
saharaでOSイメージのロールバックが出来る様にする。
vmwareで言う所のスナップショットのような物でしょうか。
vagrant plugin install sahara
saharaの使い方。基本的にvmwareのスナップショット機能と同じようなイメージで使えば良さそうです。
# sandboxモードを有効にして、巻き戻し地点であると明示する vagrant sandbox on # sandbox on した箇所まで巻き戻す vagrant sandbox rollback # 状態のマージ vagrant sandbox commit # sandboxモードを解除する vagrant sandbox off