2013年05月11日

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

対象のサーバにいちいちchef-solo手動インストールして実行してたら、あんまり自動化になってないので、当然のことながらリモートサーバに自動構築できないと意味が無いわけです。というわけでknife-soloを使用して自動構築する手順です。こちらは「入門chef-solo」記載の手順通りにやってもうまく動かなかったので別のサイトを見ながら手順を書きました。前のエントリと同様に、CentOS5.9で動作確認しています。

★参考URL
http://higelog.brassworks.jp/?p=654 (主にセットアップの部分はこちらを参考に記載)
http://shrkw.hatenablog.com/entry/configure_with_chef-solo_and_knife-solo (knife-soloの設定はこちらを参考に記載)

■必要なパッケージのインストール
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
gem install knife-solo

■knifeの設定ファイル作る
cd ~
knife configure
(質問は全部Enter)

■作業場所を作る
knife solo init chef-repo

■リモートサーバへChef環境の展開
cd chef-repo
knife solo prepare [IPAddress]

■実行対象のレシピを指定
vi nodes/[IPAddress].json
-----------------------------------------------------------------
{
"run_list": [ "recipe[lamp]" ]
}
-----------------------------------------------------------------

■cookbook作成
knife cookbook create lamp -o ./site-cookbooks/
vi site-cookbooks/lamp/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
-----------------------------------------------------------------

■knife solo実行
knife solo cook [IPAddress]

−−−

<<<以下リモートサーバにログインして作業>>>

■サービス起動
/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 01:05| Comment(0) | IT_設定関連メモ | このブログの読者になる | 更新情報をチェックする
この記事へのコメント
コメントを書く
お名前:

メールアドレス:

ホームページアドレス:

コメント:

×

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