CentOS 6.4 (64bit)にchefを使ってALBサーバインストール
Post date: 2013/04/14 15:24:14
vagrantで作成したVMの場合、/vagrantで実行すると便利。
アナジックスが以下のようなclient.rbを提供する
log_level :info
log_location 'alta_install.log'
validation_key '/vagrant/validation.pem'
client_key '/vagrant/client.pem'
node_name 'asc_anagix_centos64'
chef_server_url 'http://192.168.x.xxx:xxxx
また、chefサーバで、node(この場合、asc_anagix_centos64の設定を行う)
のrun_listに "role[alb_server]" を入れる。
2013.4.18時点でのcentos 6 (64bit)用のchef clientのインストール
rpmをwgetし、rpm -ivh でインストールすると思っていたが、以下のようにいきなり
yum install https://opscode-omnibus-packages.s3.amazonaws.com/el/6/x86_64/chef-11.4.0-1.el6.x86_64.rpm
でchef clientは入る
centos64-minimal にインストールした場合、最低以下をインストールする必要が
あった
yum install openssh-clients (clientではなく、clientSであることに注意)
yum install emacs-nox
インストールは、
\vagrant で、chef-client -c client.rb を実行するのみ。
【はまったこと】
1。apache2のrecipeで以下のエラー
Invalid command 'LogFormat', perhaps misspelled or defined by a module not included in the server configuration
結局、原因はわからない。暫定対策として、apache2のtemplateで、LogFormatをコメントアウトしたが、ようやく
わかった。my_apache2のrecipeの中で、以下の2行を呼んでlog_configとlogioのモジュールを読み込むことで解決した。
include_recipe 'apache2::mod_log_config'
include_recipe 'apache2::mod_logio'
2。mysqlのroot passwordの設定がうまくできない
role に、以下のようにoverride attributesすればよいのがわからなかった。
"override_attributes": {
"mysql": {
"server_debian_password": "",
"server_repl_password": "",
"server_root_password": ""
}
}
一度データベースを作ってしまうとパスワードが書き込まれてしまうようだった。
/var/lib/mysql にあるデータベースをディレクトリごと消して、再度chefすればOK
3。ALBを実行して以下のエラーが出た:
LoadError: Failure loading config/environment.rb from ALBdB : /usr/local/anagix_tools/alb/public/system/repository
原因は、git がインストールされていなかった
【そのほかの要改善点】
1。iptablesをなんとかしないと、外から接続できない
2。alb_svcを自動起動する設定にする
3。vncserverを自動起動する
4。cgiが動かなかった
my_apache2のrecipeの中で、 include_recipe 'apache2::mod_cgi' で解決した。
ubuntuの場合、www-dataというユーザで、gyazoのデータを書き込んだが、centosの場合、
apacheにかえた。