2012年7月31日火曜日

【ruby】CentOS5.6にchef-serverをインストールしてみた

■事前準備
ruby, gem, chef-sole、javaはインストール済みのこと
http://kakakikikeke.blogspot.com/2012/07/rubychef.html
http://kakakikikeke.blogspot.com/2012/04/centos56ruby.html
http://kakakikikeke.blogspot.com/2012/06/centosjenkinsjavatomcatantgit.html

■必要なパッケージをインストール
yum -y install couchdb erlang rabbitmq-server libxml2-devel zlib-devel

■couchdb設定
emacs /etc/couchdb/default.ini
bind_address = 0.0.0.0を設定する
couchdb
(service couchdb startでスタートするとプロセスがうまく立ち上がりませんでした・・・)
FWのポート5984あいてることを確認し以下にアクセス、couchDBの管理画面が表示されてばOK
http://yoshi3:5984/
http://yoshi3:5984/_utils/

■rabbitMQ設定
service service rabbitmq-server start
rabbitmqctl add_vhost /chef
rabbitmqctl add_user chef testing
rabbitmqctl set_permissions -p /chef chef ".*" ".*" ".*"

■chef-serverのインストールと設定
rpm -Uvh http://rpm.aegisco.com/aegisco/rhel/aegisco-rhel.rpm
gem install chef-server chef-server-api chef-solr chef-server-webui merb
sudo gem install sqlite3-ruby -v 1.2.5
gem list | grep chef
chef (10.12.0)
chef-expander (10.12.0)
chef-server (10.12.0)
chef-server-api (10.12.0)
chef-server-webui (10.12.0)
chef-solr (10.12.0)

cd /etc/
mkdir chef
cd chef
emacs server.rb
--------------------------------以下を記載する--------------------------------
log_level :info
log_location STDOUT
ssl_verify_mode :verify_none
chef_server_url "http://yoshi3:4000/"

signing_ca_path "/var/chef/ca"
couchdb_database 'chef'

cookbook_path [ "/var/chef/cookbooks", "/var/chef/site-cookbooks" ]

file_cache_path "/var/chef/cache"
node_path "/var/chef/nodes"
openid_store_path "/var/chef/openid/store"
openid_cstore_path "/var/chef/openid/cstore"
search_index_path "/var/chef/search_index"
role_path "/var/chef/roles"

validation_client_name "chef-validator"
validation_key "/etc/chef/validation.pem"
client_key "/etc/chef/client.pem"
web_ui_client_name "chef-webui"
web_ui_key "/etc/chef/webui.pem"

web_ui_admin_user_name "admin"
web_ui_admin_default_password "adminpass"

supportdir = "/srv/chef/support"
solr_jetty_path File.join(supportdir, "solr", "jetty")
solr_data_path File.join(supportdir, "solr", "data")
solr_home_path File.join(supportdir, "solr", "home")
solr_heap_size "256M"

umask 0022

Mixlib::Log::Formatter.show_time = false
--------------------------------以上を記載する--------------------------------
ホスト名とパスワードの部分は適宜変更してください
chef-solr-installer
chef-solr-installerはchef-solrの初回起動時に必要になるコマンドなので、2回目以降のchef-server起動では必要ないです
chef-expander &
chef-solr &
chef-server -N -e production &
chef-server-webui -p 4040 -e production &
以下のようになっていることを確認する
ブラウザで確認するためFWの4000と4040を開ける
ps aux | grep chef
root 18486 0.0 1.7 160864 9164 pts/2 Sl 16:21 0:00 /usr/local/bin/ruby /usr/local/bin/chef-expander
root 18491 0.5 6.0 174864 30600 pts/2 Sl 16:21 0:04 chef-expander worker #1 (vnodes 0-1023)
root 18505 0.2 13.4 534476 68536 pts/2 Sl 16:22 0:02 java -Xmx256M -Xms256M -Dsolr.data.dir=/var/chef/solr/data -Dsolr.solr.home=/var/chef/solr -jar /var/chef/solr-jetty/start.jar
root 18725 2.5 10.4 239128 53028 pts/2 Sl 16:34 0:02 merb : chef-server (api) : worker (port 4000)
root 18767 8.9 10.1 213488 51620 pts/2 Sl 16:35 0:02 merb : chef-server-webui : worker (port 4040)

http://yoshi3:4040/
にアクセスし、chefのUIが表示されることを確認する
パスワードは設定ファイルに記載してあるものとなる

またchefが原因不明で落ちてしまいアクセスしてもエラーのトレースしか表示されなくなってしまった際には
chef-server -N -e production &
chef-server-webui -p 4040 -e production &
上記の該当プロセスをkillしたあとに再度実行してください

たくさんのプロセス(couchdbやrabbitMQ、chef関係)が動作している必要があるので動作しない場合は各プロセスの起動状況を見るのもいいでしょう

ご参考までに

0 件のコメント:

コメントを投稿