http2はいろいろ魅力的なので、早く入れてみたかったが、redhat8.0はモニタ認識せず(過去記事)、会社で9入れてみていろいろやってみたが、なぜかCGIが動いたり動かなかったりする。ので時間ができたらじっくりやってみようと思って、このお盆を利用して取り組んで見ることにした。結果としてじっくりやりすぎ(やらされすぎ)ました。なんかアタマにきた!最後は原因がわかったのでよかったのですが、http2が悪いのではなくRedHat社が悪いのでした。
[redhat9への移行-httpd2にはまりまくるの巻 2]—–2003/08/17(Sun) 17:23 |
現象はrootのドキュメントルート(/var/www/html)にCGIを置くと作動するのにユーザドキュメントルート(~)に置くと作動し ないというものである。httpdのエラー表示は500番。これはスクリプトが悪いとに出るエラーだが、悪ければ、どこに置こうが絶対作動しないはず。 ファイルの持ち主もそのユーザへちゃんと代えて設置しているので、ファイル所有権関連も問題ないはず。ググリまくりました。1日かかりました。おなじみの FAQばかりでてきていったん7.3に戻そうかと思ったりしました。。もうはまりまくりですよん。
[redhat9への移行-httpd2にはまりまくるの巻 解決!]—–2003/08/17(Sun) 17:37 |
根本原因は?
httpd2の新機能でsuexec起動っていうのがあるんですって。よくわからんけど。httpd2は起動の際に suexecというセキュリティポリシーを起動させに行ってその中で作動するんだけど、それがユーザのcgiを起動しないような設定になっているらしいい んだなこれが。これが起動しないように起動スクリプトを別名にしておけばOKなのだ。
/usr/sbin/suexec をsuexec.orgとでもしておけばよいそしてhttpd2を再起動。
これを起動させないからといって危険になるわけではない。本家本元のApacheサイトにはこう書いてある。
「suexecをうまく設定すればすごく安全になるけど設定は難しいから止めておいたほうがいいよ」って。
redhat9のおせっかい!ってこった。
追記;httpd2をアップグレードするとまたsuexecが新しくできるので要注意。 |
|
|
コメントを残す