• ベストアンサー

CGIが動きません

サーバAで正常に動作しているCGIファイルは、サーバBに移動し、”500 Internal Server Error”が出て、動きません。困っています。 解決方法は教えていただけますか? お願いします。

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

  • ベストアンサー
  • a-saitoh
  • ベストアンサー率30% (524/1722)
回答No.4

サーバーOSがLinux/Solarisなどだと、CGIを実行可能にしないと動きません(chmod +x)。 500 Internal Server Error は、ブラウザに表示されるエラーだと思います。WEBサーバのエラーログには原因究明に役立つ情報が残っているので、まずはそれを確認することが第1です。エラーログは、たとえば/var/alache/logs/error_log などに入っています。

2003saki
質問者

お礼

ご回答ありがとうございます。

全文を見る
すると、全ての回答が全文表示されます。

その他の回答 (5)

  • moritan2
  • ベストアンサー率25% (168/670)
回答No.6

500 Internal Server Error というのは、いろいろなエラーが含まれているので、error_log を見るのが一番はやいですよ。

2003saki
質問者

お礼

ご回答ありがとうございます。

全文を見る
すると、全ての回答が全文表示されます。
  • Jodie0625
  • ベストアンサー率30% (397/1288)
回答No.5

Internal Server Errorが出る場合、ほとんどがパーミッション(実行権限)の設定ミスです。 FTPアプリケーションなどで、サーバ側のディレクトリ一覧が出ているとき、ファイル名の横に rwxr-xr-x などという属性(あるいはアクセス権)が表示されていることがあります。 サーバAで動作しているのでしたら、そのディレクトリにあるファイル一覧の属性を、そのままサーバBでも設定してください。 FTPアプリケーションから設定できる場合、数字で指定することができる場合があります。 rwxを数字に置き換えると、 rwx 7 rw- 6 r-x 5 r-- 4 -wx 3 -w- 2 --x 1 --- 0 になります。二進法の表記と考え方は同じです。

2003saki
質問者

お礼

ご回答ありがとうございます。

全文を見る
すると、全ての回答が全文表示されます。
  • haruka96
  • ベストアンサー率58% (25/43)
回答No.3

・CGIファイル、DATファイル、PLファイルをアスキーモードで転送しているか ・CGIを書き換えるときに間違えて書き換えていないか の2点はいかがでしょうか?

2003saki
質問者

お礼

ご回答ありがとうございます。 ファイル転送はアスキーモードでした。 CGIファイルは変更なし、そのままです。

全文を見る
すると、全ての回答が全文表示されます。
  • asahina02
  • ベストアンサー率47% (95/202)
回答No.2

#1です。 ちょっと気になったので再確認させていただきます。 サーバーAのファイルの1行目とサーバーBの1行目は当然同じに書かれているのかなと思ったのですが、 各サーバーでPerlがインストールされているパスが違うということはないですか? 後は、そのCGIが使用しているライブラリがちゃんとあるかとかでしょうか。

2003saki
質問者

お礼

再度のご回答ありがとうございます。 マニュアルで確認しましたが、AとBのパスは同じです。CGIファイルもCGI置くべきのライブラリに保存しております。

全文を見る
すると、全ての回答が全文表示されます。
  • asahina02
  • ベストアンサー率47% (95/202)
回答No.1

Perlのパス(CGIファイルの1行目)が違うということはないですか?

2003saki
質問者

お礼

ご回答ありがとうございます。 Perlのパスは同じです。

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • Rubyのcgiが動作しません。

    下記のように4行のルビーのcgiを作りました。 ファイル名rb.cgi #!/usr/bin/ruby print <<EOF あああ EOF これをRubyを提供しているapacheサーバにアップロードし パーミッションを777にしました。 文字コードはEUC、改行はLFのみです。 しかし、Internal Server Errorが表示されます。 そこで、サーバにログオンし、このcgiファイルの ディレクトリまで移動し、./rb.cgiを実行すると あああと表示されます。また、このcgiファイルと 同一ディレクトリにあるparlのcgi(掲示板)は 正常動作しています。 どこが間違っているのでしょうか?

    • ベストアンサー
    • CGI
  • 自前サーバでCGIを~

     まずはLAN内だけで掲示板などのCGIを実行できるようにしてみよう、ということでApacheを使ってCGIの設定をしているんですが、ブラウザからCGIファイルを起動してもInternal Server Errorと出てしまいます。よってそれ以前ということで・・・  コマンドラインから「perl test.cgi」のようにCGIファイルを実行してみるとちゃんと動作するんですが、「type -a perl」で検索したフルパスをそのままCGIファイルに「#!/usr/bin/perl」などのように書いても、ファイルがコマンド化されてくれません。でも、perlの実行ファイルは存在していました。  これは、どうすれば解決できるのでしょうか?

  • ウイルスでしょうか?

    cgiを使ったサイトを作っているのですが、 plというディレクトリにあるa.cgiというファイルを Windowsで編集して、サーバーにアップロード し、plにもともとあった、a.cgiと置き換えたところ 突然それまで正常に動作していたサイトにエラーが発生しました。 すぐにもともとあったa.cgiに置き直したのですが、エラーは直りません。 エラーの内容は an error occurred while processing this directive という文字がいくつかサイトの画面に移り画像以外の他の文字が消えてしまったのと、あと、ページを移動しようとするとInternal Server Error なります。 fedora core3を使っていて、ドキュメントルートに設置しているほかのサイトは正常に動いています。 また、編集したa.cgiはWindows上では正常に動作していました。 a.cgiを置き換えた以外は一切何もしていません。 どうかよろしくお願いいたします。

  • CGIのデバッグについて

    CGIを組み、自分のコンピューターでAPACHEを使ったテストでokなことを確認してからサーバーに上げてみたのですが、「500 Internal Server Error」が出てしまい動作しません。 サーバーへの転送時にアスキーモードで送る、文字コードはEUCである、属性は正しいか、Perlのパスは正しいか、必要なファイルは全てそろっているか、についてはチェックしてあるのですが動作しません。 もちろんPerlソフトを使っての構文チェックもしてあります。 これ以外になにか考えられることはあるでしょか。 あったら教えて下さい。よろしくお願いします。 ちなみに「CGIデバッグ」で検索した過去のQ&Aは全て参照しました。

    • ベストアンサー
    • CGI
  • CGIゲームの設置でエラーがでます

    オムニバスRPG"WIZARDLY" (Game - CGI/perl) http://bya.lib.net/src/ 上記のサイトで「オムニバスRPG"WIZARDLY"」をダウンロードしましたがサイトに書いてある通り「但し、動作無保証、サポート無し」でした。 CGI Error This program encountered an internal error. Error: Lock file open error 設置してゲームを始めようとしたら上記のエラーが出てしまっています(CGIの部分にアクセスすると上記のメッセージが出ました)。 これ以外の他のCGIはちゃんと動作しています(niftyサーバーです) 中身にも説明が無く、ネットで探しましたが解決方法が無かったので分かる方は教えて下さい。

    • ベストアンサー
    • CGI
  • CGIから別サーバーのCGIの呼び出し

    以下の二つのサーバーでCGIを動作させようと考えています。  サーバーA:ユーザーからアクセスできる。  サーバーB:サーバーAからアクセスでき、ユーザーからはアクセスできない。 この環境で (1)サーバーAでリクエストを受け、簡単な処理をする。 (2)サーバーA上のCGIからサーバーB上のCGIを呼び出す。 (3)サーバーB上で処理(etc. メールの送信)を行い、処理結果をサーバーAのCGIに返す。 (4)サーバーA上で簡単な処理を行い、結果をユーザーに表示する というような処理を考えています。 perlでは、このような処理を実装することは可能でしょうか? サーバーAからサーバーBにあるスクリプトファイルを読み込んで、サーバーAで実行するということはできそうなのですが、サーバーB上のCGIはサーバーBで実行するというようなことができるのかがわかりません。 初心者的な質問で申し訳ありませんが、よろしくお願いします。

    • ベストアンサー
    • CGI
  • サーバ移行後CGIが動作しなくなりました。

    困っています。 無料レンタルサーバにCGI(画像掲示板)を設置しているのですが、先日そのサーバで新サーバへの移行作業がありまして、 その作業完了後、CGIが動作せずに"Internal Server Error"になってしまいます。 レンタルサーバのサイトを見てみたところ、 『新サーバーへの移行後、各自CGIのパーミッションの再設定をお願い致します。』 とあったので、パーミッションを以前と同じように修正したのですが、それでも解決されません。 このままでは板の住民の方々に顔向けができません! 何が原因で、解決策はあるのでしょうか。どなたかご返答お願いできないでしょうか(><)

  • CGIが・・・いったい何が問題でしょうか?

    皆様よろしくお願いいたします。 以下の構成のディレクトリをvar/www/htmlに置き localhost/auct/index.cgiとしてindex.cgiファイルにアクセスしようといたしたのですが、500internal server errorとなり(エラーログ; premature end of script headers; index.cgi)、アクセスできません。 index.cgiにアクセスするとstart.shtmlが開く設定になっています。 なお、簡単なCGIファイルを作りvar/www/htmlで動作させたところ正常に動作いたしました。 自分でもかなり調べたり、聞いたりしたのですが解決に至りませんのでどうかご助力お願いいたします。 ....├ [auct] ...........├ [ pl ] ...................├ [ lib ] ...................├ ap.cgi ...................├ category.cgi ...................├ cgi-lib.pl ...................├ comu.cgi ...................├ config.cgi ...................├ image.pl ...................├ index.html ...................├ jcode.pl ...................├ mail.cgi ...................├ mng.cgi ...................├ show.cgi ...................├ usr.cgi ...................└ wwwis.pl ...........├ auction.cgi ...........├ count_down.cgi ...........├ cron.cgi ...........├ index.cgi ...........├ master.cgi ...........├ search.cgi ...........├ start.shtml ...........└ temp.cgi 全てWindowsからasciiで転送してperlのパスも確認済み。 パーミッションはすべて755。 Windowsのapacheでは正常に動作。 httpd.confの設定; <directory "/var/www/html">のoptionsにExecCGIを追加。#addhandler cgi-script .cgi のコメント化。そのほかはデフォルト。

    • 締切済み
    • CGI
  • MacOSXのWeb共有のCGIについて。

    Web共有のCGIの動作について、 /ライブラリ/WebServer/CGI-Executables/ 内のディレクトリの画像ファイル(jegやpng等)がWWWブラウザで表示されません。 「Internal Server Error」となります。 たぶん /etc/httpd/httpd,confで管理されているのかと思いますが、どこをどうしてよいのか分かりません。 どうすれば「CGI-Executables」ディレクトリ以下で画像ファイルが表示できるようになるのでしょう?

    • 締切済み
    • Mac
  • アンケートCGIについて

    よろしくお願い致します。 ホームページにアンケートを設置したく、http://www.rescue.ne.jp/cgi/weban/ にあるCGIをダウンロードさせて頂いたのですが、必要なファイルを全てサーバーにアップしたのですが、an.cgiが正常に動作しません。 an.cgiにアクセスしたときに表示されるエラーメッセージは、以下のようになっております。 ---------------------- Script Error The script did not produce proper HTTP headers. Please see the error log to see the detail of the errors. Depending on the server configuration, you can also run thisscript under CGIWrap debugging. Usually, either rename or linkthe script temporarily to a file which ends with .cgidextension, or add a AddHandler cgi-script-debug .cgiline to your .htaccess file. ---------------------- サーバーはxreaを使用しており、パーミッションは705(xrea推奨)でアップしています。他のcgi(メールフォー等)も同様のパーミッションでアップして正常に動作しているので、パーミッションの問題ではないと思うのですが..。 何が原因なのか、お分かりになる方がいらっしゃいましたら、どうかご教授下さいますようお願い致します。

    • ベストアンサー
    • CGI