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

 たびたび問題が起きました(;^_^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

すみません、以下の情報をください



1. それぞれの「動く/動かない」の意味、もしくは
具体的な症状

2. 「その(トップ)の中にあるユーザディレクトリ」
の意味

3. CGI スクリプトの拡張子(.cgi ? .pl ?)

この回答への補足


トップが動く=テストページが表示される。
httpが動かない=ユーザディレクトリをhttpから開くと、Access forbidden!となる。
CGIが動かない=

Server error!
The server encountered an internal error and was unable to complete your request.
Error message:
Can't locate cgi-lib.pl in @INC (@INC contains: /usr/lib/perl5/5.8.0/i386-linux-thread-multi /usr/lib/perl5/5.8.0 /usr/lib/perl5/site_perl/5.8.0/i386-linux-thread-multi /usr/lib/perl5/site_perl/5.8.0 /usr/lib/perl5/site_perl /usr/lib/perl5/vendor_perl/5.8.0/i386-linux-thread-multi /usr/lib/perl5/vendor_perl/5.8.0 /usr/lib/perl5/vendor_perl /usr/lib/perl5/5.8.0/i386-linux-thread-multi /usr/lib/perl5/5.8.0 .) at /home/usernameユーザ名/public_html/top/bbs/fbbs/ezbbs.cgi line 19.
If you think this is a server error, please contact the webmaster
Error 500
www.hogehoge.sytes.net
2003ǯ08·î03Æü 18»þ04ʬ56ÉÃ
Apache/2.0.40 (Red Hat Linux)

と表示される。(3個似た種類の物を使ってるので、x3で、lineが違う番号。
ユーザディレクトリ=/home/*/public_html(httpd.confで指定したもの)

CGI スクリプトの拡張子(本体:cgi・拡張:pl)
↑掲示板使用です。

よろしくお願いします。

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

その CGI がライブラリとして使っている「cgi-lib」


がインストールされていないか、パスが間違っているんですかね。

拡張子が .pl の中に cgi-lib.pl や jcode.pl は入ってますか?


あと、「ユーザディレクトリ」は以前の「/~user/」の話?

この回答への補足

 plファイルはcgi指定先にしっかり入っています(同じDir内)
 >あと、「ユーザディレクトリ」は以前の「/~user/」の話?
はい。おやじのホームページよりも引用しました^^

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

No.1 の「回答に対する補足」について、


CGI はプログラムを動かすインターフェースに過ぎないので、まずプログラム自体が動かないと CGI 経由でも動きません(HTTP 環境変数など HTTP 独自のものは
除いて)。

何という名のファイル名かわからなかったので、「example.cgi」と書いてみましたが、コマンドラインで

% ezbbs.cgi

は動きますか? (たぶん同じようなエラーメッセージが出るかと思いますが。。。)


cgi-lib.pl などのライブラリもトップに置いている、
ということであれば、「トップでは動く」という意味も理解できます。

ということであれば、
それぞれの CGI の2行目以降に

use lib 'ライブラリを置いているパス名';

を書けば、トップ以外でも CGI が動くのではないかと思います。

この回答への補足

なにか食い違っているような・・・
トップでは」ではなく、トップは動く(html)という意味です。トップにはCGIを置きませんので分かりかねます(;^_^A アセ

質問1
コマンドラインとはターミナルのことですか?
であれば、

bash: fg: %: no such job

と出ます(TT

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

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

UNIX/Linux の初歩的な話として、


「%」はプロンプトの意味で書いてたのですが。。

「%」を抜いて、CGI のファイル名だけでスクリプトが動くかどうか試してみてください。

> なにか食い違っているような・・・

同感です。

そのせいで回り道が多く、なかなか回答には至れないようですね。

この回答への補足

すみません^^
本の索引で、「パーセント、パーセント♪・・・あれっ?」となってしまいました(笑

cgiだけでは動きませんでした。
「そんなコマンドは無ぇよ、おぼっちゃん」
と返されてしまいます・・・

完全に漂流したかなぁ?(TT

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

HTML ファイルを置くディレクトリと同じ並びで、


「cgi-bin」というディレクトリがあると思います。

この中に「printenv」と「test-cgi」あると思いますので、これらを CGI を動かしたいディレクトリにコピーし、コマンドラインと HTTP の CGI で動くかどうかを試してみてください。

うまく動けば CGI の設定はできているかと思います。

この回答への補足

あの~、

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

補足日時:2003/08/03 22:00
    • 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

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



さぁ。。。どうやって 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

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



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

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

この回答への補足

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

補足日時:2003/08/03 22:35
    • 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

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