CentOS 6.4 (64bit)にchefを使ってALBサーバインストール

2013/04/14 8:24 に 森山誠二郎 が投稿   [ 2013/04/18 6:42 に更新しました ]
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にかえた。

Comments