投稿日:2003年05月09日 作成鷹の巣

No.10047 RedHut Linux8+Apache2の環境下、KENT-WEBさんのCGIで、500 InternalServerErrorが出る。



RedHut Linux8+Apache2の環境下、KENT-WEBさんのCGIで、500 InternalServerErrorが出る。

No.10047 投稿時間:2003年05月09日(Fri) 23:30 投稿者名:Xabre URL:http://www.pf-x.net/

Xabre'sWebPageのXabreという者です。

RHL8上のApache2.0で
#!/usr/bin/perl
print "Content-type: text/html\n\n";
print "Hello, World.";
のような非常に単純なものは動くのですがKENT-WEBさんのところでダウンロードできるようなものが動きません 500 InternalServerErrorが出てしまいます・・・
もちろん、Options ExecCGI と AddHandler cgi-script .cgi .pl はhttpd.confに入れてあります。
いろいろ設定をいじってみたりしてみるのですが何故かテスト用のもの以外動きません・・・。
これはどうすれば・・・


CGI をコマンドから実行する

No.10048 投稿時間:2003年05月09日(Fri) 23:50 投稿者名:OAK URL:

CGIが /home/html/cgi-bin/test.cgi だとしたら
$ su (rootにする)
# su nobody (CGI実行ユーザーにする)
$ cd /home/html/cgi-bin/
$ ./test.cgi

を実行してみてください。


test.cgiにはすべてのユーザーに実行権限があるんです。

No.10049 投稿時間:2003年05月10日(Sat) 00:05 投稿者名:Xabre URL:http://www.pf-x.net/

#su nobody
This account is currently not available.
ってなってしまいます。利用可能じゃないっていうのはどういうことなんでしょうか・・・?
もちろんtest.cgiにはすべてのユーザーに実行権限があるんですがCGI実行ユーザーが利用可能じゃないってことは使えないですね・・・。
有効にするとかってあるんですか・・・?


su は実行(ユーザーの変更)できなければしなくてもかまいません。

No.10050 投稿時間:2003年05月10日(Sat) 00:34 投稿者名:OAK URL:

> #su nobody
> This account is currently not available.
> ってなってしまいます。利用可能じゃないっていうのはどういうことなんでしょうか・・・?

su は実行(ユーザーの変更)できなければしなくてもかまいません。
データーを書いたり読んだりが出来なくなるていどですから。

その先を実行してください。


$ ./test.cgiではちゃんと実行された結果が表示されます。

No.10051 投稿時間:2003年05月10日(Sat) 00:48 投稿者名:Xabre URL:http://www.pf-x.net/

同じく $ ./test.cgi
ではちゃんと実行された結果が表示されますが、その他のCGIではできません・・・
bad interpreter: No such file or directory
って出ます。

which perl が /usr/bin/perl なので#!/usr/bin/perl にしてあるんですが・・・


perlのパス指定で、perlの次にスペースとマイナスを2個入れてみてください。

No.10052 投稿時間:2003年05月10日(Sat) 00:57 投稿者名:OAK URL:

> 同じく $ ./test.cgi
> ではちゃんと実行された結果が表示されますが、その他のCGIではできません・・・
> bad interpreter: No such file or directory
> って出ます。
>
> which perl が /usr/bin/perl なので#!/usr/bin/perl にしてあるんですが・・・

./test.cgi では Hello, World がでて
./keijiban.cgi では bad interpreter: No such file or directory がでるという事ですね。

れいによって行の最後が 0D0Aなのかもしれません(UNIXは0Aだけ)
#!/usr/bin/perl を
#!/usr/bin/perl --
とperlの次にスペースとマイナスを2個入れてみてください


動きました。0D0Aってのは改行コードなんですね。

No.10053 投稿時間:2003年05月10日(Sat) 01:07 投稿者名:Xabre URL:http://www.pf-x.net/

動きました!ありがとうございます。
0D0Aってのは改行コードなんですね。詳しいことは自分で調べてみます。
ありがとうございました!!


|目次|掲示板|過去ログ目次|▲頁先頭|