- ベストアンサー
apache で /cgi-bin/にアクセスできません。
Forbidden You don't have permission to access /cgi-bin/ on this server. Apache/1.3.19 Server at localhost Port 80 ブラウザで見ようとすると上のようなエラーが表示されます。 htdocs内の初期のテストのindex.htmlは参照できます。
- みんなの回答 (5)
- 専門家の回答
質問者が選んだベストアンサー
- ベストアンサー
単純にpermisson(権限) がないのではありませんか? ログインユーザ(nobodyとか?)に対する ディレクトリのアクセス権限を変更してみては? ログインユーザはhttpd.conf(?)で設定していますよね? 違うかな??
その他の回答 (4)
「アクセスできるユーザとグループはありません」ではありません。 「アクセスしてくるユーザのユーザ名は nobodyさんであり、 その nobodyさんのグループは nobodyグループである」 という設定になります。(きっと あってます) さて本題ですが・・・ とりあえず /cgi-bin/ 中に #!/bin/sh set -f echo Content-type: text/plain echo REMOTE_ADDR = $REMOTE_ADDR これだけの cgiファイルを置いてみて WEBブラウザと直接実行の2通り実行可能か確認してみてはいかがでしょう? まずは簡単なものから!!ダメすかね??
お礼
susumuさん、 selenityさん、NINJA104さん 本当に回答ありがとうございました。 皆さんの回答を基に色々調べたところ 参照ができました。 ありがとうございました。
- selenity
- ベストアンサー率41% (324/772)
もう1つ設定箇所を、、、 同じくhttpd.confの中ですが、 # To use CGI scripts: # #AddHandler cgi-script .cgi というのがあるのですが、AddHandler行の 「#」は消しましたか? P.S. cgiスクリプトの中身の先頭行は #!~(実行コマンド名) を記述してますよね? > You don't have permission あとは、cgi-binディレクトリはnobodyユーザに 対して有効なパーミッションが与えられて いますか?cgi-binディレクトリのパーミッション は「drwxr-xr-x」になってますか? (nobodyユーザで読み取り出来る必要があります)
- selenity
- ベストアンサー率41% (324/772)
デフォルトのhttpd.confでは <Directory "/usr/local/apache/cgi-bin"> AllowOverride None Options None Order allow,deny Allow from all </Directory> となっているので、/cgi-bin/ 以下のディレクトリ 内のファイル一覧は見れません。 ファイル名を直接指定すれば、実行できませんか? ファイル名を直接指定しても実行できなければ cgiファイルのパーミッションの問題です。 (実行可能属性を付けてあげましょう) htdocs内は Options Indexes FollowSymLinks MultiViews なのでファイル一覧は見れます。
お礼
/cgi-bin/内のcgiプログラムを直接参照しようとしても このエラーが出てしまいます。 パーミッションの問題は、 chmodコマンドで解消したと思います。
- NINJA104
- ベストアンサー率43% (133/306)
配布バージョン1.3.19については自信が有りませんが、たぶん初期状態ではApacheの設定ファイルであるhttpd.conf内の/cgi-bin/についての定義は参照不可になっていると思います。
お礼
User nobody Group nobody という所ですか? ここはどう書き換えるべきか、悩んでいます。 意味としては、 「アクセスできるユーザとグループはありません」 という解釈でいいのでしょうか?