• ベストアンサー

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は参照できます。

質問者が選んだベストアンサー

  • ベストアンサー
noname#1802
noname#1802
回答No.2

単純にpermisson(権限) がないのではありませんか? ログインユーザ(nobodyとか?)に対する ディレクトリのアクセス権限を変更してみては? ログインユーザはhttpd.conf(?)で設定していますよね? 違うかな??

satoryu
質問者

お礼

User nobody Group nobody という所ですか? ここはどう書き換えるべきか、悩んでいます。 意味としては、 「アクセスできるユーザとグループはありません」 という解釈でいいのでしょうか?

その他の回答 (4)

noname#1802
noname#1802
回答No.5

「アクセスできるユーザとグループはありません」ではありません。 「アクセスしてくるユーザのユーザ名は nobodyさんであり、  その nobodyさんのグループは nobodyグループである」 という設定になります。(きっと あってます) さて本題ですが・・・ とりあえず /cgi-bin/ 中に  #!/bin/sh set -f echo Content-type: text/plain echo REMOTE_ADDR = $REMOTE_ADDR これだけの cgiファイルを置いてみて WEBブラウザと直接実行の2通り実行可能か確認してみてはいかがでしょう? まずは簡単なものから!!ダメすかね??

satoryu
質問者

お礼

susumuさん、 selenityさん、NINJA104さん 本当に回答ありがとうございました。 皆さんの回答を基に色々調べたところ 参照ができました。 ありがとうございました。

  • selenity
  • ベストアンサー率41% (324/772)
回答No.4

もう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)
回答No.3

デフォルトの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 なのでファイル一覧は見れます。

satoryu
質問者

お礼

/cgi-bin/内のcgiプログラムを直接参照しようとしても このエラーが出てしまいます。 パーミッションの問題は、 chmodコマンドで解消したと思います。

  • NINJA104
  • ベストアンサー率43% (133/306)
回答No.1

配布バージョン1.3.19については自信が有りませんが、たぶん初期状態ではApacheの設定ファイルであるhttpd.conf内の/cgi-bin/についての定義は参照不可になっていると思います。

関連するQ&A