OSはEC2のAmazonLinuxです。
Chefのインストール
curl -L https://www.opscode.com/chef/install.sh | sudo bash
・Chefでは、コード化された手順書あるいは、サーバの状態をレシピと呼びます。 ・クックブックはレシピの入れ物です。 ・クックブックを含む実行に必要な一連のファイルを入れる入れ物もあり、それはリポジトリとかキッチンと呼ばれます。 ・Chefを始めるには、最初にリポジトリを作成します。リポジトリは特定のシステムに1個くらいつくるイメージだそうです。
リポジトリ(キッチン)の作成
git clone git://github.com/opscode/chef-repo.git
knifeの設定ファイルの作成
knife configure
これだけです。あとはデフォルトでEnterでOKということです。
knifeでクックブック作成
cd chef-repo knife cookbook create hello -o cookbooks
これでhelloというクックブックをcookbooksディレクトリに作成します。
レシピの編集
package "httpd" do action :install end service "httpd" do supports :status => true, :restart => true, :reload => true action [ :enable , :start ] end
jsonファイルと、solo.rbファイルを作る
localhost.json
{ "run_list": [ "recipe[hello]" ] }
solo.rb
file_cache_path '/tmp/chef-solo' cookbook_path ['/home/ec2-user/chef-repo/cookbooks']
lolcahost.jsonとsolo.rbはどこに置いてもいいみたいだけど、リポジトリ直下に入れておく。
chef soloの実行
sudo chef-solo -c solo.rb -j ./localhost.json
これで、アパッチがインストールされて起動した。