プロが教えるわが家の防犯対策術!

Solaris10にてApache2.0.52使っていて、ユーザルート上でCGIの許可をしているのにユーザルート上のCGIにアクセスしようとすると403エラーが発生してしまいます。

CGI-BIN以外の場所でCGIを使おうとする場合はエイリアスも設定しないといけないのでしょうか?

下に設定箇所も載せておきますので、確認よろしくおねがいします。

# Control access to UserDir directories. The following is an example
# for a site where these directories are restricted to read-only.
<Directory /export/home/*/public_html>
AllowOverride None
Options IncludesNoExec ExecCGI FollowSymLinks
<Limit GET POST OPTIONS>
Order deny,allow
Allow from 192.168.80.0/24
Deny from all
</Limit>
<LimitExcept GET POST OPTIONS>
Order deny,allow
Deny from all
</LimitExcept>
</Directory>

A 回答 (3件)

Apache で CGI を動作させる方法は、mod_cgi (MPM が worker の場合は mod_cgid) を有効にした上で以下の2通りのどちらかの設定を行う必要があります。



1. ScriptAlias を設定する。

(ex.)
ScriptAlias /cgi-bin/ /opt/httpd/share/cgi-bin/

2. Options ExecCGI と AddHander を設定する

(ex.)
Options ExecCGI
AddHander cgi-script .cgi .pl ......

あと、Solaris 10 は触ったことがないので分かりませんが、よくあるパターンとして、ホームディレクトリのパーミッションが 700 などになっていて、httpd デーモン (デフォルトでは nobody ユーザ) がアクセスできるようになっていない場合があります。root から su - nobody とやって、シェル上から CGI スクリプトが実行できるかどうか試してみてください。
    • good
    • 0

AddHandler cgi-script .cgi


を書いてないとか?

この回答への補足

AddHandler cgi-script .cgi .pl
と記述してあります;;

補足日時:2006/03/03 03:53
    • good
    • 0

ファイルのパーミッションは確認しましたか?

この回答への補足

ユーザディレクトリ、cgiともに755に設定してあります・・・

補足日時:2006/03/03 03:48
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!