pgpoolAdmin を展開後、http://www.example.com/pgpoolAdmin/install/index.html にアクセスしてインストール作業を続けるわけだが、/usr/local/etc 以下の pgpool.conf や pcp.conf が "Write access denied" となっていて先に進めない。
ファイルのパーミッションや所有者を確認してみるが特に問題はなさそうだ。
PHP で作られているようなので中身を見てみることにした。
install/checkParameter.php 60
if (!is_writable($pgpool2_config_file)) { $msgPgpoolConfigFile = 'Write access denied'; $error = TRUE; }となっている。
実行ユーザを調べるために
echo `id`;を埋め込んでみるも、想定通りのユーザで動いてそうだ。
スクリプトからパーミッションを取得するために
var_dump(stat($pgpool2_config_file));を埋め込んでみるも、
["mode"]=> int(33188)となっており、8 進数で 100644 となり、これも問題なさそう。
is_writable のみを記述したテストプログラムを作成してみるが、
これは困った。is_writable の実装を探す旅にでるしかないのかと思ったが、ふと英語が出来ないなりに「is_writable always false」でググったら一番上に出てきた。
selinux... すっかり忘れていた・・・コネクション周りなら思い出せたかもしれなかったが。
# setenforce 0ついでに、/etc/selinux/config の SELINUX を disabled に変更。
で無事にインストールを続けることができた。
続く...