• 締切済み

apacheサーバーでCGIが動かない

win7 を使用しています。 HPを作るのに自分のパソコンで、CGIの動作確認をしたいので、perl と apache を インストールしました。 でも、cgiが表示できません。 表示は、アプリケーション "DEFAULT WEB SITE" でのサーバー エラー になりました。 It works! は表示されます。 わからないので色々調べたら、コマンドをみましょうというので、やってみました。 でも、次のように、アクセスできません。 先に進めなくて困っています。 わかる方教えて下さい。

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

みんなの回答

  • wormhole
  • ベストアンサー率28% (1622/5658)
回答No.3

>確認ですが、ローカルホストに入れた場合のcgiのurlは、 >http://localhost/*.cgi ですよね? httpd.confの記述内容にもよりますしcgiファイルをどこに置いたかにもよりますので http://localhost/*.cgiとは限りません。 httpd.confでどのような設定になっているかよくお読みになってはいかがでしょうか。

  • aoyama984
  • ベストアンサー率45% (253/561)
回答No.2

http://www.apachefriends.org/jp/xampp-windows.html XAMPPを使うとカンタンにテスト環境が用意できます perlが標準になっています http://blog.we-boxes.com/web-technic/xampp-perl/ パスが違うので ふつうは書き換えが必要です

GPPPPPPPPP
質問者

お礼

これが一番簡単そうなので、インストすることに決めました。 ありがとうございました。

GPPPPPPPPP
質問者

補足

やりかたは、わかりますが、ScriptInterpreterSource Registry の追加の仕方がわかりません。 たいていの場合、何行のどこに追記すると言います。 すみません。 ばかなので、細かく教えて下さい。

  • wormhole
  • ベストアンサー率28% (1622/5658)
回答No.1

参考にされたのはunixやlinuxを対象としたものだと思います、Windows7にはwhichコマンドはないです。 今の状況でいえるのは apacheはcgi使えるように設定してありますか? くらいじゃないでしょうか。

GPPPPPPPPP
質問者

補足

わかりました。 では、なぜローカルホストに入れたcgiが、エラーになるのでしょう。 apache のhttpd.colf の#AddHandler cgi-script .cgi の#は消しました。 他に何か設定するのもは、ありますか。 確認ですが、ローカルホストに入れた場合のcgiのurlは、 htttp://localhost/*.cgi ですよね? ちなみに私が、参考にしたサイトです。↓ http://perl-free.topsite.ne.jp/PERL/easy_perl.html

関連するQ&A

  • Apacheの設定について

    WindowsXP SP2 のローカルでCGIを動作させるために  http://www.adminweb.jp/apache/ を参考に下記を試みました。 (1)Apache ダウンロード・インストール・接続確認   「http://localhost/」へアクセスして「It works!」表示確認    (htdocs ディレクトリの index.html) (2)ActivePerlインストール    perl -v perl -h で動作確認 (3)CGI用エイリアスの設定    ScriptAlias /cgi-bin/ "C:/SERVER/Apache/cgi-bin/" (4)以下の test.pl を C:/SERVER/Apache/cgi-bin/ に設置    ------------------------------------------------------    #!C:/Perl/bin/perl.exe print "Content-type: text/html;\n\n"; print "<html><body><h1>test cgi</h1></body></html>\n";   -------------------------------------------------------    http://localhost/cgi-bin/test.pl の実行で    「Internal Server Error」になってしまいます。 どこの設定が間違っているのか見当がつきません。 何卒ご指導宜しくお願い致します。

  • CGIのパス(Apache winで)

    初歩的な質問ですみません。 環境 windows2000 サーバー Apache/1.3.20 ActivePerl-5.6.1.626 をインストールが完了して、CGIを動作させようとしています。 ApacheでのHTML動作はできています。 CGIプログラムの一行目に #!/usr/local/bin/perl と記載されています。 その文字列を #!c:/bin/perl.exe に変更して現在動作させています。 しかし、ISPのHPスペースのperlへのパスは #!/usr/local/bin/perl なので、転送前に一行目を変更しています。 変更しなくても良いように ApacheでのCGIのパスを #!/usr/local/bin/perl で動作する方法を どなたか教えていただけないでしょうか? ちなみに Perlは[c:\bin]にインストールしてあります。 Apacheは[g:\apache]にインストールしてあります。

  • 自前サーバでCGIを~

     まずはLAN内だけで掲示板などのCGIを実行できるようにしてみよう、ということでApacheを使ってCGIの設定をしているんですが、ブラウザからCGIファイルを起動してもInternal Server Errorと出てしまいます。よってそれ以前ということで・・・  コマンドラインから「perl test.cgi」のようにCGIファイルを実行してみるとちゃんと動作するんですが、「type -a perl」で検索したフルパスをそのままCGIファイルに「#!/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
  • win xp でapache サーバ

    Win xp で apacheサーバ(apache_1.3.28-win32-x86)を使っていたのですが、パソコンのハードディスクが壊れたので修理し、再インストールしたら、cgiが実行できなくなってしまいました。どんな原因が考えられるでしょうか。 perl は perl -v で正常なメッセージが返ります。

  • NTでapacheとperlをインストールしてCGIテスト

    WINDOWS NTの環境でネットに繋がっていない状態でCGIテストをしようと、apache_1_3_12_win32.exe (Apache 1.3.12 for Win32) とActivePerl 623をダウンロードしセットアップしました。 Apacheの動作確認までできました。 ところが、CGIが動きません。 DOSで「xx.pl」は動いているのに、「xx.cgi」をテストしようとブラウザでみてもエラーが出てしまいます。 セットアップした2つの場所は、c:\www\perl\ と、c:\Apache\です。 何が間違っているのでしょうか? どなたか詳しく教えて頂ける方がいらっしゃいましたら、大変ありがたいです。 ブラウザのエラーは 「Internet Server Error The server encountered an internal error or misconfiguration and was unable to complete your request~」というような表示です。 また違う者が前にsendmailを入れたようなのですが、その中にもapacheが入っていました。 またperlもcドライブに入っているのですが、これはまずいでしょうか? お助けください。よろしくお願いします。

  • apache でバイナリのCGIを動かすには

    apache でバイナリのCGIを動かすにはどうすればよいのでしょうか? (なお、プログラム自体に問題は決してありません。『HTTPD』を使うと問題なく動作します) OS:WIN98 C++バイナリのCGIを呼び出すと下記エラーとなります。 Internal Server Error The server encountered an internal error or misconfiguration and was unable to complete your request. Please .... the error. More ... log. - Apache/1.3.12 Server at http://127.0.0.2/ Port 80 最終アクセスログ 127.0.0.1 - - [12/Mar/2001:23:20:27 +0900] "GET /ab.cgi HTTP/1.1" 500 610 最終エラーログ [Mon Mar 12 23:20:25 2001] [error] [client 127.0.0.1] Premature end of script headers: e:/www.homepage/kokucho81/ab.cgi apache の httpd.conf と httpd.conf.default との比較 ** httpd.conf ServerName http://127.0.0.2/ ** httpd.conf.default #ServerName new.host.name ** httpd.conf DocumentRoot "E:/WWW.HOMEPAGE/KOKUCHO81" ** httpd.conf.default DocumentRoot "C:/Apache/htdocs" ** httpd.conf <Directory /> Options FollowSymLinks ExecCGI AllowOverride None ** httpd.conf.default <Directory /> Options FollowSymLinks AllowOverride None ** httpd.conf <Directory "E:/WWW.HOMEPAGE/KOKUCHO81"> ** httpd.conf.default <Directory "C:/Apache/htdocs"> ** httpd.conf Options Indexes FollowSymLinks ExecCGI ** httpd.conf.default Options Indexes FollowSymLinks MultiViews ** httpd.conf AddHandler cgi-script .cgi ** httpd.conf.default #AddHandler cgi-script .cgi そもそも、設定が足りてないんでしょうか? apacheを良く使う方、よろしくお願いします。m(_ _)m

  • Apacheでphpとcgiを使いたいのですが

    phpは問題なく使えましたが、cgiで問題があります。 今まではサーバーソフトにANHTTPDを使っていたのですが、phpを使う上で問題があったので汎用性のあるApacheに乗り換えました。するとphpはうまく動いた反面、cgiがうまく動作しなくなってしまいました。 ANHTTPDのときは、ローカルホスト以下のフォルダならどこであろうとcgiを含むすべてのファイルが使用できましたが、Apacheでは指定したフォルダ以下にcgiしか置けないみたいでした。そのフォルダ内にhtmlファイルなどを置くとアクセスできません。 この状態で使うとなると、cgiファイルだけその1箇所のフォルダ以下に集め、他のファイルを別のディレクトリに置かなくてはいけませんが、それでは1つのプログラムに必要なファイル類がバラけてしまうのでその方法は使いたくありません。 どうにかして1つのフォルダ以下でcgiとその他のファイルを扱えるように出来ませんでしょうか?また、僕が使っている今の方法では、cgiプログラムの1行目のパスを「C:/Perl/bin/perl」にしなくてはいけませんが、これもWebサーバー上にアップする際に書き換える手間がかかってしまいます。ANHTTPDの時は「/usr/bin/perl」「/usr/local/bin/perl」のような状態でも普通に使えました。この書き換えの手間を省く方法もありましたら情報いただければと思います。 以上です。 よろしくお願いいたします。

    • ベストアンサー
    • CGI
  • ApacheとPerlを別のサーバーに

    以下のような構成は可能でしょうか? 両方ともUNIXサーバーです。 Webサーバー(IP:192.168.0.1)と、 APLサーバー(IP:192.168.0.2)があり、Webサーバーには、Apacheを入れ、APLサーバーには、Perlを入れます。 Webサーバーは、HTML(CGI)を表示する画面機能のみ、APLサーバーにはCGI(Perl)のプログラム(この中でシェルをキックしたりもします)をおきます。 このようにWebサーバーでAPLサーバーのCGIを起動することは可能でしょうか? 会社の上司からの注文なんですが、APLサーバーにはapacheを入れることは不可。WebサーバーにCGI(Perl)を置くとAPLサーバーで起動するシェルをキックするプログラムや、計算結果などをいちいちリモート(rsh、rcpコマンドなど)で送らなければいけないので不可。とのことです。 このような構成が可能である場合の設定の仕方、また不可能であれば、それを可能にするための方法など、ご教授いただければと思います。 よろしくお願いいたします。

  • Apache

    デフォルトの設定のまま、Apacheを起動させてしまいました(it worksの表示で確認)。今考えると数十分動作が少し鈍かったのですが、踏み台攻撃を受けた可能性などがありますでしょうか。サーバ内に他のファイルは新たに配置していません。 怖くなってApacheのフォルダは全て削除していますが、これ以上の攻撃を受けることはないでしょうか。 無知な初学者の質問で本当に恐縮ですが、わかる方いらっしゃったら教えていただきたいです。

専門家に質問してみよう