2013年05月11日

chef-soloによるLAMP環境自動構築メモ

※CentOS5.9で動作確認した手順
※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
<?php phpinfo(); ?>
posted by maroon at 00:58| Comment(0) | IT_設定関連メモ | このブログの読者になる | 更新情報をチェックする
この記事へのコメント
コメントを書く
お名前:

メールアドレス:

ホームページアドレス:

コメント:

×

この広告は1年以上新しい記事の投稿がないブログに表示されております。