• ベストアンサー

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
  • 回答数2
  • ありがとう数2

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

  • ベストアンサー
  • rittan
  • ベストアンサー率36% (38/103)
回答No.1

simple.cgiのソースが判らないのでなんとも言えませんが… AnHTTPDでしたらcgi-binディレクトリにgetcwd.cgiってのが既にあると思います。 AnHTTPdを起動後、 http://127.0.0.1/cgi-bin/getcwd.cgi をやってみてはどうでしょう? これで取り敢えず、cgiの問題かAnHTTPdの設定の問題か切り分けれると思うので・・・(^_^;l||)

Mohican
質問者

お礼

お二人ともお答えいただきありがとうございました。うまくいかなかった原因はpathが通っていなかったからでした。お騒がせしてすみません。また新たに疑問が浮上したのですが・・・これは新しく質問しなおしたほうがいいですよね?。とにかく感謝です。

その他の回答 (1)

  • selenity
  • ベストアンサー率41% (324/772)
回答No.2

Windows自身が「拡張子がcgi」のファイルの処理方法を知らないのでは、、、 Explorerの[フォルダオプション]-[ファイルタイプ]の設定が必要なのでは? もう一度、AN HTTPdのセットアップガイドを読み直してください。

関連するQ&A

  • ローカル環境で CGI を試してみたく、AN HTTP Daemon

    ローカル環境で CGI を試してみたく、AN HTTP Daemon http://www.st.rim.or.jp/~nakata/ をインストールしてみました。以前一度、やっていたことがあるので、だいじょうぶかと思ったのですが、うまくいきません。 質問です。 その1 cgi の最初に書くパスは、#!C:/usr/local/bin/perl でいいのでしょうか? その2 このソフトは、Apache は無くても動くのですよね? よろしくお願いいたします。

  • An HTTPdでPerlを動かす

    An HTTPdとPerlでCGIを動かそうと思います。 PerlをD:\usr\binに、An HTTPdをD:\Httpdにインストールしました。 ドキュメントルートをD:\html_publicに設定しました。D:\html_publicにindex.htmlを置き、IEでhttp://127.0.0.1/とするとindex.htmlが表示されました。 続いてhello.cgiをD:\html_publicに置き、http://127.0.0.1/hello.cgiとしました。すると「Internet Explorer ではこのページは表示できません」との表示がでました。 Perlが認識されないのであれば、hello.cgiのコードが表示されるものではないでしょうか。 あるいはAn HTTPdでは指定された拡張子以外は認識されないのかもしれないと思い直しても、一応CGIに関しては、 .pl,.cgi D:\usr\bin\perl.exe で定義しています。 設定のどこに間違いがあるのでしょう。

    • ベストアンサー
    • 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
  • IIS+Activeperl データファイル等を絶対パスでしか受け付けてくれません

    Windows2000serverの IIS5.0(だと思います、バージョンの見方が良く分かりません) ActivePerl5.6.1を導入した環境です。 このまえ、Windows2000serverのマシンを入れ替え、 新規にperlをインストールしなおしました。 それでwebページをすべて移動して稼動し始めたのですが、 一部動作しないCGIがあるのです。 調べてみると"./"ではじまるデータファイルやモジュールの読み込みを しているCGIがことごとく動作してませんでした。 データファイルやモジュールを c:\usr\local\bin\perl\libに移動して"./"を削除するか ファイルの指定を "C:\Inetpub\wwwroot\cgi-bin\secure\wforum\wf_log.cgi"のように フルパスで指定しないと動かないのです。 サーバ移転前はちゃんと動いてたのですけど・・・。 いったい私は何の設定を忘れてるのでしょうか。 ややこしい説明ですみませんがよろしくお願いします。

    • ベストアンサー
    • Perl
  • CGI がローカルで動作しない。

    こんにちわ。つい先日XAMPPをインストールし、いろいろといじっているのですが、つまづいてしまったので質問させて頂きます。 同ソフトにはPerlも同伴されているということで、CGIを用意して動作させたのですが、InternalServerErrorとなってしまいました。 どうやらPerlのパスが違うようです。が、どう設定すれば良いのかわかりません。 (perl.exeは C:\apachefriends\xampp\perl\bin\ にあります。) また、#!/usr/bin/perl としても動作するようにさせるには、どうすればいいでしょうか。 ご教授ください。

    • ベストアンサー
    • Perl
  • Apacheを入れたのにローカルでCGIが動かない

    こんにちは。今CGIの勉強をしています。perlを使っているのですが、サーバーにアップする前にローカルで動作チェックをしようと思い、ApacheとActivePerlをインストールしました。 その後、Apacheを起動して、ローカルのCGIファイルにアクセスしたのですが、ページを表示できませんと出てしまいます。 ping localhostはちゃんと通ります。 環境 OS:WindowsXP HomeEdition SP2 セキュリティーソフト:無し ファイヤーウォール:解除済み Apache設定 Network Domain 127.0.0.1 Server Name   127.0.0.1 Version2.0.58 ブラウザ:IE6.0 プログラム保存先:C:\Program Files\Apache Group\Apache2\htdocs ファイル名:hello.cgi(拡張子表示有にしている。.txtなどは無い) ActivePerl:Version5.6 保存先:C:\Perl\bin(C直下) コード #!C:/Perl/bin/perl print "Content-Type: text/html\n\n"; print "<html>\n"; print "<body>\n"; print "<h1>Hello World!</h1>\n"; print "</body>\n"; print "</html>\n"; exit; 参考にしたサイト http://perl.misty.ne.jp/01.html 以上よろしくお願いします。

    • ベストアンサー
    • CGI
  • ローカルでのCGIの動作させるために

    ローカルでCGIを作動させるためにApacheとActivePerlをインストールしましたが、他の質問で activePerlは、/usr/local/bin にインストール  別途ドライブが用意できるか、パーテショニングツールで独立したドライブが良い--たとえばE:\usr\local\bin apacheは、/usr/localにインストール  ---たとえば、E:\usr\local とあったのですが、このようにしたほうが良いのでしょうか? 現在は、cドライブにインストールし http://pckida.hp.infoseek.co.jp/srv/index.html を参考にApacheの設定をしてみたのですが、うまくいきませんでした。 間違っている箇所や注意しなければならない点などありましたら指摘お願いします。 使用したのは Windows7 Ultimate Apache HTTP Server 2.2.15 ActivePerl-5.10.1.1007 です。 以上よろしくお願いします。

    • ベストアンサー
    • CGI
  • WindowsXP(Apache2.x+ActivePerl)

    Apache1.x系からApache2.x系に切り替えたのですがなぜかCGIが動きません・・・ FileがあるはずなのにFileがないといってくるんですが、どこがおかしいんでしょうか? -------------------------------------------------- (OS 2)指定されたファイルが見つかりません。 : Failed to read cgi file ./cgi-bin/count_txt.cgi for testing (OS 2)指定されたファイルが見つかりません。 : don't know how to spawn cmd child process: C:/Server/web/public_html/index.html -------------------------------------------------- とでてきます・・・ /cgi-bin/count_txt.cgiは -------------------------------------------------- http://www.01nni.com/free-b_4.htmlのtextカウンターです・・・ 設定は1行目を#!C:/Server/Perl/bin/perl.exeに変更しました・・・ -------------------------------------------------- 説明のとおりHTMLにはSSIで埋め込みますので -------------------------------------------------- <!--#exec cmd="./cgi-bin/count_txt.cgi"-->入力してあります。 -------------------------------------------------- ちなみにほかのSSIは動作しています・・・ なにか原因がわかりましたらアドバイスお願いします<m(__)m>

    • 締切済み
    • 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
  • ローカルサーバーでの動作確認

    CGI超初心者です. 翔泳社のPERL/CGI辞典を見ながらCGIに挑戦してます. 今ローカルサーバーでの動作確認すべく奮闘しているのですがCGI/SSIを使用するためのAPACHEの設定で頭を悩ませてます. CGIはうまく表示できたのですがどうしてもSSIが表示されないのです. ファイルは本通りに記述したつもりです. 「test.shtml」 <HTML> <BODY> <!--#exec cmd="test.pl" --> </BODY> </HTML> 「test.pl」 #!C:\perl\bin\perl print"hello!"; CGI/SSIはドキュメントルートで制限なく使用できるよう設定しました. test.shtmlは表示されてるようなんですがそこにtest.plが読み込めてないようです(よく分かりませんが…) どこが悪いのか全く分かりません. ブラウザ上でこのtest.shtmlのソースを確認したら<!--#exec cmd="test.pl" -->の部分が表示されてませんでした. 全くの初心者でどのような情報を開示すればよいのか分からないので必要な情報があれば教えていただけるとありがたいです.

    • ベストアンサー
    • CGI

専門家に質問してみよう