※LAMP環境構築と書いているけれど、当然ながらレシピの書きようでは別分野への転用も可能
★参考URL
http://higelog.brassworks.jp/?p=654
■必要なパッケージのインストール
cd /usr/local/src
wget http://packages.sw.be/rpmforge-release/rpmforge-release-0.5.1-1.el5.rf.x86_64.rpm
rpm -ivh rpmforge-release-0.5.1-1.el5.rf.x86_64.rpm
yum install -y git
yum install -y gcc-c++ patch readline readline-devel zlib zlib-devel libyaml-devel libffi-devel openssl-devel git
yum update
■Ruby 1.9.2のインストール
wget ftp://ftp.ruby-lang.org/pub/ruby/1.9/ruby-1.9.2-p0.tar.bz2
tar xjf ruby-1.9.2-p0.tar.bz2
cd ruby-1.9.2-p0
./configure
make
make install
■Chefのインストール
gem install chef --no-rdoc --no-ri
■chef-repoの準備とchef-solo用の設定
cd /usr/local/src
git clone git://github.com/opscode/chef-repo.git
cd chef-repo
mkdir .chef
■solo.rbの編集
vi .chef/solo.rb
------------------------------------------------------------
file_cache_path "/usr/local/src/chef-solo"
cookbook_path "/usr/local/src/chef-repo/cookbooks"
------------------------------------------------------------
■chef.jsonの編集
vi .chef/chef.json
------------------------------------------------------------
{
"run_list": [ "recipe[lamp_packages]" ]
}
------------------------------------------------------------
■クックブックを作る
cd /usr/local/src/chef-repo
rake new_cookbook COOKBOOK=lamp_packages
vi /usr/local/src/chef-repo/cookbooks/lamp_packages/recipes/default.rb
------------------------------------------------------------
%w{httpd httpd-devel mysql mysql-server mysql-devel php}.each do |package_name|
package package_name do
action :install
end
end
------------------------------------------------------------
■実行
cd /usr/local/src/chef-repo
chef-solo -c .chef/solo.rb -j .chef/chef.json
■サービス起動
/etc/init.d/httpd start
/etc/init.d/mysqld start
■自動起動設定
chkconfig httpd on
chkconfig mysqld on
■動作確認
vi /var/www/html/index.php