Chef実践入門を第三章まで読み進めました。
2章は実際にChefを動かしてみてどういうものかとりあえず触ってみる章でしたが、3章はRecipeの書き方など2章で書いて動いていた部分を詳細に説明する章になっています。
まだ3章までしか読み進んでいませんが、取り急ぎ本に書いてある事以外で何かしたいなーと思って、Tomcatをパッケージインストールすることにしました。
怒られるかもしれませんが、業務ではTomcatをパッケージインストールしたことはそれほどありません。
というわけで、今回初めてTomcatのパッケージインストールを行うことにしました。
環境
MacにVagrantをインストールしてゲストOSはCentOS6.5を使いました。
Cookbookの作成
何はともあれ、まずはTomcatのCookbookを作成します。
[bash]
knife cookbook create tomcat6 -o site-cookbooks
[/bash]
Recipeを書く
続いてRecipeを書きます。
[bash]
vim site-cookbooks/tomcat6/recipes/default.rb
[/bash]
ちなみに、本書2章のApacheのインストールをベースにしました。というよりパッケージ名だけ変更した感じですね。
[ruby]
package "tomcat6" do
action :install
end
service "tomcat6" do
action [ :enable, :start ]
end
[/ruby]
プロビジョニングの実行
というわけで、実行
[bash]
knife solo cook opscode-centos-6.5
[/bash]
(opscode-centos-6.5はホスト名です)
何やらログが色々でてきて正常終了すると思います。
動作確認
ゲストOSにログインしてTomcat6がインストールされているかと、起動されているか確認します。
結果、インストールされて起動もしていました。
[text]
[vagrant@localhost ~]$ chkconfig --list tomcat6
tomcat6 0:off 1:off 2:on 3:on 4:on 5:on 6:off
[/text]
となっているのでサービスの登録も問題なく行われていると思います。
課題
Tomcat6のパッケージインストールもバッチリ行われて大成功なのですが課題があります。
Tomcat7をインストールしたいという課題と、パッケージではなくて特定のバージョンのバイナリを展開したいという課題。
Chef実践入門を第三章まで読み進めると色々なリソース管理する方法も説明されているので、これとこれを組み合わせればバイナリ展開するところまでは出来そうなので次はバイナリ展開版を試してみたいと思います。