• 締切済み

リナックスのサーバーでCGIを動かそうとしたらば

上記質問タイトルのような事をした所下記のようなエラーメッセージが出てきました。 ファイルの入れた場所はcgi-binの中に入れました。 最初のファイル名はindex.cgiです。 パーミッションも755に変更しました。 どのようなエラーなのか教えて頂けるかたどうか教えて下さい。 ///エラーメッセージ////////////// Internal Server Error The server encountered an internal error or misconfiguration and was unable to complete your request. Please contact the server administrator, mail@it-service.co.jp and inform them of the time the error occurred, and anything you might have done that may have caused the error. More information about this error may be available in the server error log. -------------------------------------------------------------------------------- Apache/1.3.17 Server at 192.168.0.29 Port 80

みんなの回答

  • kaka-to
  • ベストアンサー率0% (0/3)
回答No.4

ブラウザに表示される「Internal Server Error」は何も原因を表していません。 せいぜい「このファイルがCGIなのはわかるけどなんか間違ってて実行できないよ」という情報だけです。 このエラーがが返される場合  ・構文エラー(重大なミスから一文字書き忘れのケアレスミスまで)  ・パーミッションの間違い   該当ファイルだけでなく、関連したファイル、ディレクトリ全てチェックしたほうが良いです。   たとえば、index.cgiを実行するとlogディレクトリのlog.datに書き込みをする   という場合、index.cgiは755、log/とlog.datは777となりますが(一般論です)   log/がうっかり755だったという場合でもこのエラーが帰ってきます。 この2点が主な原因だと思います。 inoue64さんのアドバイスで解決できそうに思いますけれどいかがでしょう? 結構、次の日にチェックしてみたらマヌケなミスで 何故昨日の自分は気づかなかったのか...とかあるんですけどね。。。 どうしても解決できない場合、私はスクリプトの適当なところに  print "Content-type: text/html\n\nOK.\n"; exit(1); というのを記述して虱潰しにミスを捜します...オススメできませんが。

  • liq
  • ベストアンサー率38% (228/595)
回答No.3

全く自信ないのですが... もし、index.cgiを呼び出すのに相対パスを使用されていたら、絶対パスをためしてみてください。http://...のように。 他のCGIファイルが動いているサーバーならよいのですが、自ら設定して初めてCGIを使おうとされているのなら、confファイルの記述が適切でない可能性もあるかも。

  • inoue64
  • ベストアンサー率29% (334/1115)
回答No.2

追加 単なる文法エラーかもしれないので、 No.1の回答(自分の回答)の参考URLを参考にしてください。

  • inoue64
  • ベストアンサー率29% (334/1115)
回答No.1

・Perlの場合、Perlのパスがあっていない場合 先頭の行の、 #!/usr/bin/perl のようなものを、書きかえてください。 ・他のファイルのパーミッションの誤り  http://tohoho.wakusei.ne.jp/wwwxx012.htm  などを参照して、設定してください。

参考URL:
http://www.att.or.jp/perl/cgi-debug-env/deb-tech.html