前回は、chef-soloを使ってapache(httpd)をインストールしましたが、CentOSなどRedHat系では、サービス登録がされないので起動の設定をする必要があります。
chef/cookbooks/main/recipes/default.rb に下記の追加を行います。
service :httpd do action [:enable, :start] end
これで、サービス登録がされ、httpdが起動されます。
ところで、いちいちサーバーにログインしてファイルを編集するのは面倒ですし、複数のサーバーに同じ設定をしようとするとさらに大変です。そこで、rsyncを利用してファイルを同期させる事にしましょう。
まず、サーバーにsshdをインストールし、root でリモートログインできるようにしておきます。
sshでリモートログインできるようになったら、scpを使ってサーバー上のchef関連のファイルをローカルクライアントにコピーしましょう。ここではサーバーのIPアドレスを192.168.1.1と仮定します。
client$ scp root@192.168.1.1:/var/chef .
パスワードが要求されるので入力します。サーバー上のchefディレクトリがカレントディレクトリにコピーされます。今後はクライアント側のファイルを編集した後、下記の通りrsyncコマンドでサーバーに同期させます。
client$ rsync -r . root@192.168.1.1:/var/chef
こちらもパスワード入力が求められます。ファイル同期が終わったら、後は下記のコマンドでサーバー上でchef-soloを実行します。
client$ ssh root@192.168.1.1 "chef-solo -c /var/chef/solo.rb"
言い忘れましたが、上記はクライアントがLinuxまたはMac OS Xの場合です。Windowsの場合には下記の記事などを参考にすれば良いかと思います。(すいません。ためしてません)