ここ一ヶ月はずっとchef-soloやってましたが、
こだわりだすときりがないんだな〜ということでいったんこれで仕上げました。
(ちなみにCentOS 5.9の環境でしかテストをしていません。。)
apacheとPHPをセットアップ
https://github.com/masayuki5160/phpServer.git
MySQLをセットアップ
https://github.com/masayuki5160/MySQL.git
memcachedサーバのセットアップ
https://github.com/masayuki5160/memcachedServer.git
chefの紹介をしているサイトをみると、
いろいろ機能を紹介しまくっていて結局どうコードをかいていいかわからないことが多い気がします。。
ぼくもはじめはそうだったのですが、結局やりたいことっていうのは
・yumでインストール
・たまにコンパイルしてインストール
・httpd.confとかカスタマイズしたものもchefで反映させたい
くらい。
そうするとじつは下記memcachedサーバのレシピくらいかければだいたいのレシピはかけるんじゃないかと。。
# yumでもろもろインストール
package "libevent" do
action :install
endpackage "libevent-devel" do
action :install
end# ソースからmemcachedをコンパイルしてインストール
script "install_memcached" do
interpreter "bash"
user "root"
cwd "/tmp"
code <<-EOH
wget http://memcached.googlecode.com/files/memcached-1.4.15.tar.gz
tar xzvf memcached-1.4.15.tar.gz
cd memcached-1.4.15
./configure
make
make install
EOH
# ここに同じスクリプトを実行しないような設定を追加(chef-solo入門を参照)
end# memcachedの起動スクリプトを設定
template "/etc/init.d/memcached" do
source "memcached.erb"
end
んでそれぞれ
・yumでインストール ➡ packageほげほげのとこ
・たまにコンパイルしてインストール ➡ scriptほげほげのとこ
・httpd.confとかカスタマイズしたものもchefで反映させたい ➡ templateほげほげのとこ
を使っていけば大丈夫です。
もちろんOSの環境がちがっても動くように設定するといいのはわかるけど、
ひとまずここまででいいんじゃないかと。
必要になったらもっとすんごいレシピにしていけばいいしね。
最初は自動化できることにメリットを感じていましたが、
属人化してしまっているサーバ構築作業を見える化する手段としてもchefがすばらしいんじゃないかと感じはじめました。
読みにくい手順書とかよりよっぽどchefのレシピの方がいいです。
だってまずそれでサーバセットアップできてるんだからまず間違っていることはなさそうだし。
というわけでこれからもchef使っていろいろかいていこうと思います。