ServersMan@VPSの標準設定では、httpdのユーザーとグループが daemon になっています。
しかし、httpdに関するファイルで一部、ユーザーとグループが apache となっているものがあり、正常に動作しない場面がありました。
どんな場面だったのかよく覚えていないのですが……。
それで、/etc/httpd/conf/httpd.conf の231行目辺りのUserとGroupをapacheに変更していたのですが、そうするとServersManのコントロールパネル(http://xxx.xxx.xxx.xxx/serversman)が正常に動作しないという問題が起こります。
それで、そのコンパネに関するファイルのパーミッションを変えていったのですが、忘れない内にここにメモっておこうと思ったのです。
ちなみにOSはCentOSです。
まず、コンパネの場所です。
/var/www/html/ 以下にCGIファイルなんてありません。これは、mod_rewriteで書き換えてるからです。
$ cat /etc/httpd/conf.d/sm.conf
RewriteEngine On
RewriteRule ^/serversman(.*)$ /cgi-bin/smadmin/smadmin.cgi$1 [PT,L]
RewriteEngine On
RewriteRule ^/serversman(.*)$ /cgi-bin/smadmin/smadmin.cgi$1 [PT,L]
これを見ると、CGIが次の場所にあることが分かります。
/var/www/cgi-bin/smadmin/smadmin.cgi
そして、このファイルの中身を見てみると、以下にあるファイルを扱っていることが分かります。
/var/www/data/smadmin
/opt/serversman/
/var/serversman/
/opt/serversman/
/var/serversman/
/tmp/も使っているのですが、見てみたら中身は空だったので、本当に一時的に使っているだけのようです。
ということがわかったので、これらのユーザーを変更します。
# chown -R apache:apache /var/www/data/smadmin/
# chown -R apache:apache /opt/serversman/
# chown -R apache:apache /var/serversman/
# chown -R apache:apache /opt/serversman/
# chown -R apache:apache /var/serversman/
これでコントロールパネルや、もろもろが動くようになるはずです。
■ 追記
新しい方法が用意されていたようなので、こちらを参照して下さい。