こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

cgiがうまく動作しません。

はじめまして。

現在独学でlinuxの勉強をしている者です。検索をしたり本を読んだりして対策を試みたのですがどうしても解決できないため、質問させていただきます。

環境は
redhatlinux9
Apache2.0.40
です。
cgiを置いたディレクトリにブラウザでアクセスすると、
Internal Server Error
と出てしまいます。

ログを見ると、
[error] 6099: ModPerl::Registry: Can't locate ./jcode
.pl in @INC (@INC contains: /usr/lib/perl5/5.8.0/i386-linux-thread-multi /usr/li
b/perl5/5.8.0 /usr/lib/perl5/site_perl/5.8.0/i386-linux-thread-multi /usr/lib/pe
rl5/site_perl/5.8.0 /usr/lib/perl5/site_perl /usr/lib/perl5/vendor_perl/5.8.0/i3
86-linux-thread-multi /usr/lib/perl5/vendor_perl/5.8.0 /usr/lib/perl5/vendor_per
l /usr/lib/perl5/5.8.0/i386-linux-thread-multi /usr/lib/perl5/5.8.0 .) at /var/w
ww/cgi-bin/bbs/wforum.cgi line 11.!

と表示されています。試しにwforum.cgiの11行目以下の
require './jcode.pl';
require './fold.pl';
require './wf_init.cgi';

require 'jcode.pl';
require 'fold.pl';
require 'wf_init.cgi';

と変更してみたところ、今度は
(略)Can't locate fold.pl(略)
at /var/www/cgi-bin/bbs/wforum.cgi line 12.!

というエラーログが表示されました。

perlプログラムの文法、パーミッション、改行コード、FTP転送の際の転送モードは確認済みのため、問題ないと思われます。また、ここの過去ログを参考にして作成した
#!/usr/bin/perl
print<<EOF
Content-type: text/html
<HTML><BODY>CGI works Good.</BODY></HTML>
EOF
というtest.cgiは動作可能でした。

こういった場合、どのような原因が考えられるでしょうか。どうかご教授ください。よろしくお願いします。

投稿日時 - 2004-05-04 23:24:56

QNo.848649

すぐに回答ほしいです

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

http://www.kent-web.com/bbs/wforum.html

ですか?
こういう情報は,回答者が調べたり憶測する必要が無いように,ちゃんと書くようにしましょう.

とりあえず,手元の環境では,アーカイブを /var/www/html/cgi-bin/bbs 以下に展開して,改行コードとperlのパスを変更し,パーミションをwf_init.cgiの説明どおりに設定するだけで動いています.

おそらくパーミション等の設定ミスだと思うので,もう一度確認してみましょう.

投稿日時 - 2004-05-05 01:12:22

お礼

>ちゃんと書くようにしましょう.
うっかりしていました。今後は気をつけます。すみませんでした。

無事に解決しました。
httpd.confの設定をデフォルトの状態に戻したらcgiが正常に動作するようになりました。

お手数をおかけしてしまい、申し訳ありませんでした。今後もよろしくお願いします。

失礼します。

投稿日時 - 2004-05-05 08:51:01

このQ&Aは役に立ちましたか?

1人が「このQ&Aが役に立った」と投票しています

回答(1)

あなたにオススメの質問