読者です 読者をやめる 読者になる 読者になる

謎言語使いの徒然

適当に気になった技術や言語を流すブログ。

サーバに色々デプロイしようとしてハマった記録

Server Tips OSS

Chef でローカル仮想マシン上に目的のサービスがデプロイできるようになったので、リモートサーバへのデプロイを実行してみた。

その時、かなり色々つまづいたのでメモ。

iptables は一時的でも切るしかない

ssh ポート以外にも何かのポートを使っているらしい。

iptables が入ってると、細かい原因もログも残らないまま「Connection refused」で悩むことになる。

しかも ssh は通る上に、knife solo cook [アカウント@][ホスト] [ホスト.json] -p [SSHポート] を指定するものだから、SSHしか使わないと勘違いしやすい。

MySQLServer は過去データ、設定も含め消してから

http://community.opscode.com/cookbooks/mysql

yum コマンドでインストールした MySQLServer は yum remove mysql-server で消してもDBファイルが残る。

しかも MySQL のアカウントは DB に保存されているので、Chef で MySQL を突っ込むと復活した挙句、root パスワードが一致しないとか、root@127.0.0.1 アカウントを変更できない(消してたりした場合)で先に進まなくなる。

しかもこの時出る ruby スタックにはSQLファイルの中身は表示されないので、気づくまでハマる。

カン所は STD エラーの方を眺めて見ると、sql ファイルを生成して食わせているのが分かるので、ssh で入ってファイルを眺めれば分かる。

SELinux の有無は確認しよう

入ってるかどうか分からずに chef を実行すると色々エラーを喰らわせられる。

環境を確認しないと痛い目を見る。

結論

色々いじっている環境に後から Chef を突っ込むのは色々ハマる。

大分長い間運用している状態なら、いい加減サーバを組み立て直した方が良いかもしれない。

後、CentOS の cookbook は案外 6.x 以上のものがあるので、5.x 系ならサーバ移動を考えるべきかもしれない。

まぁ何にしろ当座はこれで動かしてみようか。