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にかえた。