■ CGIがエラーで困りました。

 
サーバーOSをFedora core3.0にて
Apacheを2にしていますが、test.cgiは動きましたが、一般で配布されているCGIが動かず
どうすれば良いものかと・・悩んでいます。シンボリックリンクも変えています。
何かよい方法がありましたら教えてください。

回答の条件
  • URL必須
  • 1人2回まで
  • 登録:2005/07/27 19:41:52
  • 終了:--

回答(6件)

id:erohondaio No.1

erohondaio回答回数46ベストアンサー獲得回数12005/07/27 19:46:58

ポイント15pt

http://www.hatena.ne.jp/1122460912#

人力検索はてな - ■ CGIがエラーで困りました。   サーバーOSをFedora core3.0にて Apacheを2にしていますが、test.cgiは動きましたが、一般で配布されているCGIが動かず どうすれば良い..

エラーの内容がわからなければ答えようがありません。

どのようなCGIなのでしょうか?

ブラウザだけで分からない場合は、apacheのエラーログを確認する等して手がかりを探してください。

id:ito-yu No.2

ito-yu回答回数323ベストアンサー獲得回数142005/07/27 20:06:03

ポイント15pt

http://www.futomi.com/lecture/macosx/cgi.html

Max OS X で Apache サーバを立てよう - CGI の検証 - futomi's CGI Cafe

cgiファイル自体と、cgiファイルを置くディレクトリのパーミッションはチェック済みかと思いますが、意外と盲点なのが上位ディレクトリのパーミッションです。試しに上位ディレクトリのパーミッションを777にして動作すれば、これが原因です。


ファイルの所有者も、大丈夫ですか?

id:ymlab No.3

ymlab回答回数508ベストアンサー獲得回数342005/07/27 21:21:49

ポイント15pt

http://www7.big.or.jp/~jawa/tips/perlpath.html

CGI-StaTion -Perlのパスってなんやねん-

えっと・・。

エラーとは、どんなエラーがでたんでしょう?

Apacheのバージョンは、2.何ですか?

test.cgiとは、どんなプログラムなのですか?

一般で配布されているcgiはどんなプログラムなのですか?シンボリックリンクをどう変えたのですか?

何言語でcgiを書いたのですか?


少し、与えられた情報量が少ないので、難しいですが、自作で作ったcgiは動き、他の人が書いたcgiは動かないと考えます。あと、perlで書いたものとします。


・cgiのパスは通っていますか?

プログラムの1行目

#!/usr/local/bin/perl

だったり、

#!/usr/bin/perl

だったり、まぁどこにでもできるんですが、waewan35さんの環境でperlはどこにおいてあるかによって、変わってきます。

コンソール上から、

which perl

とかしてみてください。そこのパスに設定すればよいです。


・パーミッションの設定。

実行権限は与えられていますか?

chmod 755 [file]

とかしてみてください。


・perlのバージョンとか、別のライブラリとかを、配布されているcgiは読んでいませんか?


Fedora core3.0ならば、結構新しいので、大丈夫だとは思いますが、念のため。


別ライブラリを読んでいるのであれば、

use ○○;

とか、

requireとかプログラムのなかでしているはずです。

id:sshi No.4

s回答回数14ベストアンサー獲得回数12005/07/28 00:13:10

ポイント15pt

御自分でサーバをお立てになっているのであれば、エラーログを御覧になってはいかがでしょうか。

エラーの意味がわからなくても、メッセージを検索するだけでけっこう情報がでてきます。


ちなみに、上記URLは初心者の間違いやすい部分を書いてくれてあります。御参考まで。

id:bonobon No.5

bonobon回答回数6ベストアンサー獲得回数02005/07/28 08:41:41

ポイント15pt

http://www.atmarkit.co.jp/flinux/rensai/apache13/apache13a.html

Apacheのログを活用しよう(1/2)

いわずもがなのことでしたら申し訳ありません。私が思いつく限りのCGIでありがちなミスですと、


1.スクリプトのパーミッション設定がされていない(実行権限がついていない)


2.ScriptAliasの通っていないディレクトリにファイルが配置されている。


等があります。


基本的に、「一般で配布されているCGIが動かない」時にはapacheのエラーログにどうして実行できないかのログが落ちているはずなので、そのメッセージを見れば(意味不明であればGoogle検索に投げてみるとか)大体原因は特定できるかと思います。


お役に立てなかったら申し訳ありません、頑張ってください。

id:ito-yu No.6

ito-yu回答回数323ベストアンサー獲得回数142005/07/28 11:15:52

ポイント15pt

http://www.futomi.com/lecture/apache/cgierror.html

CGI エラー特定の方法 - futomi's CGI Cafe

apacheのエラーログに「malformed header from script.」とあれば改行コードの変換ミスか、ヘッダーの出力ミスがくさいです。過去に何度かはまった経験があります。改行コードについては、LFのみにしてください

id:wanwan35

皆さんありがとうございました。

CGIが動作しました。

原因は、下記設定ができていませんでした。

 

FTPサーバーにて

アスキーモードでの転送を可能にする

/etc/vsftpd/vsftpd.conf

ascii_upload_enable=YES

ascii_download_enable=YES

-------------------------------

2005/07/28 21:22:51

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません