Cherokee と SELinux と私

何ヶ月もブログを黙り込んでいて、久しぶりに更新したかと思ったらこんな話題です、すいません。

Cherokee という Web サーバがあって、設定をブラウザで GUI で行うので自称プロフェッショナルな人たちには敬遠されがちなソフトと聞き及んでいるが、たったそれだけで毛嫌いするには惜しいほどクールなソフトので、アンチメジャー派でもある私は Cherokee を結構気に入っていたりする。

今回は Windows Azure の無料お試しプランのサーバに CentOS 6.3 をインスコして、そこに EPEL から持ってきた Cherokee をインストールして動かそうと思ったら簡単に行かなかったので、そこらへんのメモ。 対処法としてすぐに SELinux を切ろうとするのは馬鹿がやることなので真似しないように

設定用 GUI の cherokee-admin に繋がらない

これは、chrokee-admin の起動オプションに

# cherokee-admin -t

と、-tを指定して起動すると解決する。デフォルトのポートの 9090 はすでに SELinux のポリシーで別のサーバ用に定義されているし、たかが設定時にしか起動しないプログラムのためにポリシーをいじるのは癪なので、アドホックに回避する。

PHP の CGI が動かない

これは、 cherokee が自動的に起動する FCGI の php-cgi が開くデフォルトの TCP 47999番ポートを SELinux が邪魔して接続できないためなので、

# yum install policycoreutils-python #(必要に応じて)
# semanage port -a -t http_port -p tcp 47999

として繋げられるようにしてやる。

念の為に、restorecon も実行しておく。

# cd /var/www; restorecon -R