kikumotoのメモ帳

インフラ・ミドル周りを中心に、興味をもったことを適当な感じで。twitter : @takakiku

ruby1.9.2でChef-severを動かす

先日書いたさくらのVPSにchef-serverをインストール - kikumotoのメモ帳では ruby は 1.8.6 が使われる。

個人的には 1.9.2 の環境の方が都合がよいので、ruby 1.9.2 で chef-server を動かすようにしたときの構築をメモ。

基本的にほぼ同様な手順だけど、一部異なることとなった。

ruby1.9.2のインストール

ruby1.9.2は自前でビルドするしかなさそうなので、2011-03-30 - akimatterを参考にビルド。

これで、gem もインストールされる。

chef-server

chef-server環境はEPELのモジュールを必要とするので、

# rpm -Uvh http://download.fedora.redhat.com/pub/epel/5/i386/epel-release-5-4.noarch.rpm

は実行しておく。ELFFは不要。

で、

# gem install chef

を実行すると

ERROR:  While generating documentation for chef-0.9.14
... MESSAGE:   Error while evaluating /usr/lib/ruby/1.9.1/rdoc/generator/template/darkfish/classpage.rhtml: undefined method `gsub' for nil:NilClass (at "\"method-source-code\"\n\t\t\t\t\t\tid=\"run-source\">\n<pre>\n")

というエラーがでた。解決策がわからいけれど、rdocとか不要にするととりあえず動作させるのに必要なものインストールできるようである。なので、以下を実行した。

# gem install chef --no-rdoc --no-ri

このあと、/etc/chef/solo.rb, chef.json などの記述は以前と同じで、chef-soloを実行すれば chef-server 環境がインストールされた。

ただし、ruby1.9.2 では ruby1.8.6 でしたときのような rack のバージョンダウンは不要。一方で、chef-server, chef-server-webuiの動作ユーザをrootに変更することは必要。

あとの作業は以前と同じ。

これで満足のいく環境ができた。。。と思う。