- 締切済み
Redhat9のHTTPDでCGIがつかえない
まずやりたい事はユーザーごとにWEBができるようにして、CGIをpublic_html以下のどこにでもCGIが使えるようにしたい思っています。 いろんなサイトを見てhttpd.confをいじってますが、どうしてもCGIを実行しても500エラーがでます。perlの場所はあっているんですが。 httpd.confのいじった所は、 <IfModule mod_userdir.c> UserDir public_html </IfModule> と <Directory /home/*/public_html> AllowOverride FileInfo AuthConfig Limit Options IncludesNoExec ExecCGI FollowSymLinks <Limit GET POST OPTIONS> Order allow,deny Allow from all </Limit> <LimitExcept GET POST OPTIONS> Order deny,allow Deny from all </LimitExcept> </Directory> と ScriptAlias /cgi-bin/ "/var/www/cgi-bin/"をコメントアウトしました。もしよろしければご指導のほどよろしくおねがいします。
- みんなの回答 (4)
- 専門家の回答
みんなの回答
- kalze
- ベストアンサー率47% (522/1092)
#1です。 読み直してみたら気になったので。 <IfModule mod_userdir.c> UserDir public_html </IfModule> と <Directory /home/*/public_html> AllowOverride FileInfo AuthConfig Limit Options IncludesNoExec ExecCGI FollowSymLinks <Limit GET POST OPTIONS> Order allow,deny Allow from all </Limit> <LimitExcept GET POST OPTIONS> Order deny,allow Deny from all </LimitExcept> </Directory> これはコメントアウトしてあったのを、コメントではなくしたのですよね? 次にユーザーのディレクトリですが、755や711など実行権限は与えてありますか? ユーザーのディレクトリにあるpublic_htmlに参照権限、実行権限は与えてありますか? AddHandler cgi-script .cgi はコメントアウトされていませんか? /etc/init.d/httpd configtest を実行して、httpd.confに文法の間違いがないか確認してください RedHatLinux9でrpmパッケージから入れたのであれば、これだけで動くはずです。 もちろんperlが入っていることが前提ですが。
- miyacchi518
- ベストアンサー率28% (346/1199)
私の経験で・・・ <Directory /home/*/public_html> ↑を <Directory /home/aaa/public_html> としてユーザー(この場合はaaa)単位できちんと指定したら動いたことがありました。 ちなみに・・・ <Directory /home/*/public_html> の記述はすべてコメントアウトしました。 結局、原因はわからなかったのですが・・・。 それとFTPとWeb表示はOKなんですよね?
- astronaut
- ベストアンサー率58% (303/516)
#1さんのご指摘に加え、 public_html以下のどこにでも というのが public_html の直下以外でも と言うことなら、suexecも関係してきます。 /usr/sbin/suexec を削除またはリネームしましょう。
- kalze
- ベストアンサー率47% (522/1092)
httpd.conf内にあると思いますが、 AddHandler cgi-script .cgi の行はどうなっていますか? デフォルトだとこの行はコメントアウトされていたように記憶しています。 もしコメントアウトされていたら、#を消してみてください。 これが違った場合、これでも動かなかった場合、 エラーログをみてみてください。 もしくは該当するエラーログを補足欄で教えてください