• ベストアンサー

ローカルテスト

httpdをDLして、perlも入れたのですが htmファイルは開けてもcgiファイルが500エラーに なってしまいます。 初期設定もしたはずなのですが何が原因でしょうか?

  • CGI
  • 回答数3
  • ありがとう数1

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

  • ベストアンサー
回答No.3

Windowsのローカル環境で、an httpdをインストールしてCGIの動作テストをしているのですよね? 500エラー(Internal Searver Error)になるということは、そのCGIを実行しようとしてエラーが発生していると考えられます。(an httpdの起動ミス、CGI許可設定オフなどは考えられない) Windows環境でan httpdを使ってのテストなら1行目のPerlのパスは無視されるので、ここが原因ではありません。 というわけで考えられるのは ・実行しようとしているCGIそのものにエラーがある ・実行しようとしているCGIからrequireしているライブラリや設定ファイルが見つからない。 ・実行しようとしているCGIが利用しているPerlモジュールが見つからない。 といったあたりでしょうか。 よくあるのは「require "jcode.pl"」となっているのにjcode.plがないとか……。 確認してみてください。

assault1
質問者

お礼

みなさん ありがとうございました。 無事解決しました

その他の回答 (2)

  • to-zoku
  • ベストアンサー率36% (16/44)
回答No.2

困った時は、再起動、再インストール、再設定が基本ッス。 おいらもapacheの設定は一発では決まらないですから、残念。

参考URL:
http://www.kent-web.com/www/anhttpd/www1.html
  • 2NN
  • ベストアンサー率40% (143/353)
回答No.1

色々原因は考えられますが、 現時点で有力なのは下記2つのエラーかと思います。 ・perlのパス(#!/usr/bin/perlなど)が違う ・スクリプトの内容にエラーがある

関連するQ&A

  • CGIのテストに失敗

    ただ今ホームページを作成中で、CGIに興味を持つようになりました。 簡単なところから実際にやってみようと思い、Active PerlとAN HTTPDをダウンロードしてインストールまで完了。 ネットのCGI講座や入門といったサイトを参考にしながら、AN HTTPDの設定はできたのですが、簡単なはず?のCGIのテストに失敗してしまいました。 以下のような記述でファイル名をtest.cgiにして、httpd.exeと同じフォルダのcgi-binというフォルダに保存、http://localhost/cgi-bin/test.cgiでブラウザから開こうとしたのですが、ダメでした。 #!C:\Perl\bin print "Content-type: text/html\n\n" ; print "Hello, World!" ; 何がまずかったのかわかりません。Active Perlはデフォルトでどこもいじっていません。環境変数のPathもC:\Perl\bin\になっているのですが…。いろいろと見てまわったのですが間違いがわかりません。 どなたか教えていただけると幸いです。

    • ベストアンサー
    • CGI
  • ローカル環境でのCGIエラー

    ActivePerlとAn HTTPdでWindowsXP HomeEditionのPC上でCGIを動かそうと思っています。 どちらも最新版をダウンロードしてインストールしました。 ActivePerlに関してはegフォルダ下のexample.plで動作確認が取れています。 An HTTPdに関してはhttp://127.0.0.1以下のURLを指定してページが表示されています。 ですが、htmlからcgiを呼び出そうとすると「ページを表示できません」「サーバーが見つからないか、DNS エラーです。」のエラーが出てしまいます。 試しにcgiファイルをフルパスで指定したのですが同じでした。 ちなみに、簡単なCGIプログラムtest.cgiを作成、サーバにアップして動作を確認しましたがローカルではエラーになります。 また、ローカルでコマンドプロンプトにて c:\usr\local\bin\perl c:\プログラムのパス\cgi-bin\test.cgi と入力すると内容を表示します。 コマンドプロンプトでCGIプログラムのあるcgi-binディレクトリに移動して perl -v と入力するとperlのバージョン情報を表示するので、パスは通っていると思われます。 Au HTTPdのerrors.logには Thu Aug 16 19:21:18 2007 Warning: CGI TerminateProcess 2500 error 5 とりあえず、自分で原因を絞れるであろうところはあたってみたつもりですが、何か見落としていることがあるでしょうか? もしかしたらAu HTTPdに問題があるでしょうか?

    • 締切済み
    • CGI
  • ローカルでのCGIについて

    Windows2000上でCGI及びPerlを動かせるようにしたは宵のですが、ライブラリ等をrequireするとエラーがでます。 ライブラリをCGIと同じディレクトリにおいても、違うディレクトリにおいてもエラーが出てしまいます。 外部ファイルを読み込むときにはまた別に設定がいるのでしょうか。 HELPも見てみましたがよくわかりませんでした。 ご存知の方がおられましたらよろしくお願致します。 サーバにはIIS5.0を使用しています。

    • 締切済み
    • CGI
  • ローカル環境で「**.iniが読みこめません」

    お世話になります。 こちらの記事を見て、PC上で「Perl」が動くようにしたのですが、 http://allabout.co.jp/gm/gc/23910/ ウェブ上では問題無く使えているCGIが PC上で設置するとエラーになってしまって困っています。 使用CGIは「Relm」掲示板です。 http://useyan.x0.com/s/cgi/relm/ 落としたファイルのまま(改造等せずに)設置しています。 設置場所の「http://localhost/***/relm.cgi」を開くと、 真っ白い画面に「relm.iniが読みこめません.」とだけ書かれています。 これを使用できるようにするにはどうすれば良いでしょうか? 環境-----------* 設定PC:[Windows vista]  使用ソフト[AN HTTPD1.42p][ActivePerl10.0.0] 設置スクリプト[Relm ver2.38]

  • ローカルでCGIのテストに息詰まっています

    こんにちは、BoOoOoOoといいます。 ローカルでアクセス制限のCGI設置の練習をしているのですが、恥ずかしながらフルパスのところで息詰まってます。 KENT-WEBさんのCOSMO GATE-EXというCGIでテストしています。そこにある設置方法の説明を見ながら、何度もディレクトリとファイルの場所を移動して、エディタで編集してるのですが、....cgi?mode=check で確認するとエラーが出てしまいます。 環境は、サーバーソフトがhttpdで、ブラウザIE、OSがWin98です。 フルパスについて、どのCGI配布サイトにも説明してるので理解してるつもりがしてないようなのです。 ディレクトリ構造は、 C/httpd/home   |   +--private /secret.html   |      file01.html   |      file02.html   |      pass.txt   |      log.dat   |   +--public /index.html        |        +cgi /gatex.cgi となっていて、gatex.cgiの中の$dargetdir=に認証後に 移動するディレクトリを指定してくださいっとあったので、説明どおりに$dargetdir="/home/private";としたの ですが、「/home/private/pass.txtは見つかりません」と なります。何が悪いのか、わからないのでアドバイスをよろしくお願いします。 長文、すいませんでした。ちなみに、↓このCGIを使わせてもらっています。 http://www.kent-web.com/pwd/gatex.html?

    • 締切済み
    • CGI
  • Perlスクリプトが、ローカルでは実行できるが、HTTP経由では実行できない

    現在Perlスクリプトを作成し サーバにアップしました。 SSHでサーバにログインし #perl a.cgi と実行したところ(CGIとして動作させるため。中身はPerlスクリプト) Content-type: text/html <html> <body> あああああ </body> </html> のようなメッセージが表示され正常に動作しているとおもいます。 しかし、 http://www.hoge.com/a.cgi をURLとしてブラウザ上で実行すると 500 Internal Server Error になります。 パーミッションは755で正常 Perlのパスは#!/usr/bin/perlとしており、これも正常です。 文字コードはeuc-jp 改行コードLF サーバはApache/1.3.33 Perlバージョンは5.8.4 自分のパソコン上でperl+HTTPサーバ(httpd)を使うと HTMLふぁいるとして出力されます。 サーバ上でHTTPを使ってアクセスしたときのみエラーとなります。 このような現象が起こるのですが原因がわかりません。 お願いします。

    • ベストアンサー
    • Perl
  • OSXでcgi

    OSXでperlで作ったcgiを動かしたいと思い色々といじってるのですが全く動きません。 apacheのhttpd.confの設定で AccessFileName .htaccess AddHandler cgi-script .cgi AddHandler cgi-script .pl についてはコメントをはずして使えるようにして Perlのパスも#!/usr/bin/perlとしてsiteフォルダとcgiを置いてるディレクトリに.htaccessを下のように記述して作り AddType application/x-httpd-cgi .cgi AddType application/x-httpd-cgi .cgi/ パーミッション設定をちゃんとしてあげてるのですがブラウザからアクセスするとForBiddenとでてしっかりと設定してるはずのパーミッション設定が間違ってますと言われてしまいます。 OSXでcgiを動かすには他にももっと色々と設定しなければダメなんでしょうか?

    • ベストアンサー
    • Mac
  • AN HTTPとActivePerlでローカルで動作させたい

     perlの勉強をはじめるため、ローカルでperlを使える環境を作ろうとしています。ActivePerl618とAN HTTP Server 1.31を使用しています。  まず、それぞれをインストールしsimple.cgiを作成、それをC:\httpd131/cgi-bin/に保存。IEでhttp://127.0.0.1/cgi-bin/simple.cgiを入力しました。けれどHTTP500内部サーバーエラーと出て表示されません。一体どうしてなのでしょうか?IEの設定か何かを変更するのでしょうか?  もし、これを読んでくださっている方が PCJapan 2000年11月号 をお持ちでしたらわかりやすいと思うのですが・・・。(もしくはこのサイトにまったく同じものがあります。http://www.zdnet.co.jp/magazine/pcjapan/0011/sp3/ )2000年11月号 98ページ 図5写真10 (サイトのページで言うと8/14の図5 写真10の文章です。)に---以下抜粋---エラーが出て表示されない場合は「C」-「Perl」にあるファイルをAN HTTPの「cgi-bin」にコピーしてから試みよう。---以上抜粋---と書いてあるのですが、一体C:\Perlのどのファイルをコピーするのでしょうか?試しにC:\Perl\bin のファイルをコピーしてMS-DOSプロンプトで先ほど作成したsimple.cgiを実行したところちゃんと動きました。けれどIEでやってもまったく動きません。これ以前(97ページ)の動作テスト(cgiが動作するかAN HTTPのテスト)は全てうまくいきました。IEでローカルでcgiを実行するにはどうしたらよいのでしょうか?ちなみにOSはWindows98SE IEのバージョンは5.50.4807.2300 SP2です。どうかお助けください。よろしくお願いします。

    • ベストアンサー
    • Perl
  • ローカル環境でメールのテスト送信

    サーバにアップする前にフォームメールの送信テストをしたのですがエラーになってしまいます。 PC環境:windowsXP     AN HTTPD     ActivePerl     Radish sendまね~る でサーバ環境を作りました。 ・sendまね~る設定時のテスト送信はできました。 ・CGIでsendmailパスの\を/に変えてもだめでした。 ・フォームメールで入力→確認ページまでは動作します。 ・エラーログにError Response 404 よくある原因などを教えていただきたいです。 宜しくお願いします。

    • ベストアンサー
    • CGI
  • ローカル環境でCGIファイルが動作しません。

    Movabletypeをローカル環境で構築しようと思い、 http://likealunatic.jp/2007/06/04_xampp_mt.php 上記サイトを参考にXAMPP、XAMPP Perlアドオンをインストールしました。 おそらくApacheのバージョンは2.2.4、PERLはPerl 5.8.8になると思います。 設定が完了し、ローカルホストへのアクセスが無事成功したのですが CGIファイルへアクセスすると500エラーと表示されます。 ファイルの関連付けとScriptInterpreterSource registryの修正は行っています。 CGIファイルを直接編集し、CGIのパスを正常なものに変更すると動作するのですが・・・これは何が原因なのでしょうか? 使用OSはWINODOWS 2000 です。 よろしくお願い致します。

専門家に質問してみよう