#目次
- はじめに
- 実行環境
- 手順
- まとめ
はじめに
最近やっとChefを初めました。
まだやり方が手探りなのですが、環境構築をどんどんChefで自動化していきたいと思っています。
とりあえず、apacheのインストール手順をChefで行ってみます。
bundle,ruby,vagrantはインストール済みを前提にしております。
##実行環境
- Mac:10.9.5
- ruby:ruby 2.1.3p242 (2014-09-19 revision 47630) [x86_64-darwin13.0]
- vagrant box:opscode-centos-5.11-i386(Chef社のBentoで公開されているboxを使いました。)
##手順
作業用ディレクトリ作成して、移動。
bundleを初期化してGemfileを生成
bundle init
生成されたGemfileを編集して、knife-soloとberkshelfをインストール
gem 'knife-solo'
gem 'berkshelf', “2.0.16"
gemをインストール
bundle install
vagrant を初期化させる。
vagrant init
Vagrantfileを編集する
box指定は割愛いたします。
private_networkを指定して、ホストから確認できるようにする
config.vm.network "private_network", ip: “192.168.33.10"
仮想環境を立ち上げる
vagrant up
knife soloを初期化。とりあえず、カレントディレクトリをChefのリポジトリにする。
knife solo init .
ゲスト側にsshでログインできるようにする
vagrant ssh-config --host webdb >> ~/.ssh/config
この設定で
ssh webdb
でゲストにsshでログインできるようになる。
knife solo bootstrapでゲスト側にchefをインストールする
knife solo bootstrap webdb
ホスト側でapacheインストール用のcookbookを作成する。
knife cookbook create apache -o site-cookbooks
nodes/webdb.jsonを編集し、
nodesの下のapacheレシピをノード対象にする
"run_list": [
"recipe[apache]"
]
apacheインストールのレシピを作成する。
serviceでインストール後に
package "httpd" do
action :install
end
service "httpd" do
action [ :enable, :start]
end
ゲスト側にレシピを実行。
knife solo cook webdb
http://192.168.33.10/
にアクセス
apacheのデフォルトのページが表示されていたら成功。
##まとめ
とりあえず、今日はここまで。
でもインストールだけではまだまだ足りない。
apacheを入れるなら、特定のサブドメインを作って、それにベーシック認証をかけるところまでいきたい。
引き続き、Chefのやり方を見ていきます。