質問: cgiが動かない /var/www/html/hoge.cgiを作りました。 ----- #!/usr/bin/perl print <<'end'; content-type: text/html; charset=utf-8 hoge end ----- ターミナル上でperl hoge.cgiとやった場合も、実行権を与えて./hoge.cgiとやった場合も、出力はちゃんとなされました。 httpd.confにはexeccgiとaddtypeにより、ソーステキストがそのまま表示されていたのを、internal server errorまでこぎつけたのですが、なんでエラーなのかわかりません。 cgiってもしかしたら所有者がrootだと動きませんか? あとはぜんぜん思い当たることがなくて・・・。 redhat7.3 apache1.3.23
回答: 711は明らかにだめですね。apacheの所有者が、スクリプトを 読んで・実行する 権限が必要ですから。 でも、755でもだめでしたか? こちらは、/usr/local/apache/cgi-bin/に置いてます。 こちらでのスクリプトの権限は -rwxr-xr-x 1 root root 118 dec 17 11:20 test.cgi* です。 ディレクトリの権限は drwxr-xr-x 2 root root 4096 dec 17 11:20 cgi-bin/ drwxr-xr-x 14 root root 4096 dec 13 16:37 apache/ です。 ファイル・ディレクトリの権限に問題なければhttpd.confが怪しい事になりますね。