アプリ版:「スタンプのみでお礼する」機能のリリースについて

 たびたび問題が起きました(;^_^A アセアセ…
CGIが動かないのに加え、httpも動きません・・・
(Access forbidden!との表示)
トップは動くのですが、その中にあるユーザディレクトリが見れません。
どなたかお力をお貸し下さい。

前質問
Pert.1
Red Hat Linux 9.0 でWebを公開したのですが・・・
http://oshiete1.goo.ne.jp/kotaeru.php3?q=614762
Pert.2-1(ミス
Red Hat Linux 9.0 でWebを公開したのですが・・・Pert.2
http://oshiete1.goo.ne.jp/kotaeru.php3?q=617045
Pert.2-2
Red Hat Linux 9.0 でWebを公開したのですが・・・Pert.2
http://oshiete1.goo.ne.jp/kotaeru.php3?q=617184

参考にしたHP
http://www.apache.jp/docs/howto/cgi.html#scripta …
http://acorn.zive.net/~oyaji/www/apache_linux.htm
http://oshiete1.goo.ne.jp/kotaeru.php3?q=602630
↑ちなみに試してみましたが、500エラーの内容が変わっただけでした。
perlのアップデートをしても、変わりません・・・。

A 回答 (15件中1~10件)

エラーコード 500 だとすると、


CGI の設定はうまくいってて、
perl のスクリプトかパーミションがおかしいのか。。。

そのスクリプトは以下のようなコマンドラインでちゃんと動きますか?

% example.cgi

この回答への補足

% (example).cgiとは?
? ↑例え .cgi・・・??

補足日時:2003/08/03 18:22
    • good
    • 0

> 今度は、こんなエラー文が・・・


>
> Access forbidden!
> You don't have permission to access the
> requested object. It is either read-protected > or not readable by the server.

httpd を動かしているであろう nobody さんが、
該当ファイルの読み込みの許可がない、と言っているので、
home directory(~hogehoge) で、

chmod -R a+rx hushiana

とすれば、この件は解決するかと思います。


で、ずっと思っているのですが、
まず、/cgi-bin/ で動くことを確認してから、
上級コースを試した方がいいかと思います。
    • good
    • 0
この回答へのお礼

そうですね(^^
 なんだか、自分の技術を過信していたかも(ナニ
 (Windowsについては少しあるのですが、Linuxには・・・)

 出直してきます_(._.)_

お礼日時:2003/08/13 23:50

なんだか滅茶苦茶なことになってるようですが…


まず,/etc/httpd/conf/httpd.conf を初期状態に戻して,
やりたいことを順番に片づけませんか?

1./home/hoge/public_html/ を http://host.domain/~hoge/ で公開したい.

 解) 以下の行をコメントアウト
   UserDir disable

   以下の行の # を外す
   # UserDir public_html

2./home/*/public_html/ で cgi を許可したい.

 解)
  #AddHandler cgi-script .cgi の # を外す.

  # <Directory /home/*/public_html>
  <略>
  # Options MultiViews ....
  <略>
  # </Directory>

  の3カ所の # を外し,Options に ExecCGI を追加.

3.さらに,/home/*/public_html/ 以下の任意のディレクトリでも CGI を許可したい.

  解) /usr/sbin/suexec を削除

この回答への補足

無効→有効の間違いです。失礼しました。(;^_^A アセアセ…

補足日時:2003/08/12 20:50
    • good
    • 0
この回答へのお礼

 回答ありがとうございます_(._.)_
 仕事が溜まってきたので、暇を見つけながらちょくちょくとやってみたいと思います。

> 解) 以下の行をコメントアウト
>   UserDir disable

おもいっきり無効になっていました(;^_^A アセアセ…
少しずつですが、やってみたいと思います

お礼日時:2003/08/12 20:20

> 残念ながら、設定を初期化して初期値ディレクトリに置いても動きません・・・。



設定を初期化する必要はなかったのですが。。。

「AddHandler cgi-script .cgi .pl」とか
また、いままでの設定のし直しですよ。
    • good
    • 0
この回答へのお礼

スミマセン_(._.)_
今度は、こんなエラー文が・・・

Access forbidden!
You don't have permission to access the requested object. It is either read-protected or not readable by the server.
If you think this is a server error, please contact the webmaster
Error 403
www.hoge.net
2003&Ccedil;&macr;08&middot;&icirc;12&AElig;&uuml; 21&raquo;&thorn;10&Ecirc;&not;37&Eacute;&Atilde;
Apache/2.0.40 (Red Hat Linux)

ユーザディレクトリは見えるのですが、
そのサブディレクトリ内のデータ(index.html)が見えません・・・(TT
(例:http://www.example.net/~hogehoge/hushiana/

よろしくお願いします_(._.)_

お礼日時:2003/08/12 21:16

> 許可がありません」と返ってきます(TT;



では

chmod a+x printenv.cgi

で実行パーミションを与えてみてください。


ちなみに、

sh printev.cgi

では動くかと思います。
    • good
    • 0

printenv.cgi とかでファイルにして、


テストしてみてください。

--

#!/usr/bin/perl
##
## printenv -- demo CGI program which just prints its environment
##

print "Content-type: text/plain\n\n";
foreach $var (sort(keys(%ENV))) {
$val = $ENV{$var};
$val =~ s|\n|\\n|g;
$val =~ s|"|\\"|g;
print "${var}=\"${val}\"\n";
}

この回答への補足

許可がありません」と返ってきます(TT;

補足日時:2003/08/03 22:46
    • good
    • 0

>/var/www/cgi-binの中が空っぽなんですが


>8の時は有ったような・・・

自宅サーバのRedHat9では以下のApacheパッケージがインストールされていますが、
/var/www/cgi-bin配下は空です。

# rpm -qa | grep http <ENTER>
httpd-2.0.40-21.3
redhat-config-httpd-1.0.1-18
httpd-devel-2.0.40-21
libghttp-1.0.9-7
httpd-manual-2.0.40-21.3

cgiもhttpd.confの修正とディレクトリの権限を適切に指定するだけで動きます。

この回答への補足

httpd-devel-2.0.40-21 っていうのが出てないのですが・・・?

補足日時:2003/08/03 22:39
    • good
    • 0

> /var/www/cgi-binの中が空っぽなんですが・・・(TT



じゃぁ、(問題の切り分けとして)“純粋に” CGI が正常に動くかのテストはできないんですかね。。

動かしたい CGI はあると思うので、
それは動きますか?

この回答への補足

残念ながら、設定を初期化して初期値ディレクトリに置いても動きません・・・。

補足日時:2003/08/03 22:35
    • good
    • 0

> それが無いということはありえるのでしょうか?



さぁ。。。どうやって apache をインストールしたのにかも依るかと思いますが。。。
※apache のバージョンもちょっと古いようですし。。

httpd.conf で「ScriptAlias /cgi-bin/」の設定は
最初どこになってましたか?

この回答への補足

手をつけていない状態のhttpd.confによりますと、

/var/www/cgi-bin/になっています・・・

(バージョンは、Apache/2.0.40 (Red Hat Linux) です。)

補足日時:2003/08/03 22:10
    • good
    • 0

あっと、初心者の方でしたね。



コマンドラインでプログラムを動かす場合は、
「/usr/local/apache/htdocs/.../hogehoge.cgi」というようにフルパスで指定するか、
CGI があるディレクトリに cd で行き、

./hogehoge.cgi

というように「./」付きでやってみてください。。

この回答への補足

いや、そうではなくて。。。

/var/www/cgi-binの中が空っぽなんですが・・・(TT

8の時は有ったような・・・

補足日時:2003/08/03 22:04
    • good
    • 0

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