• ベストアンサー

win xp でapache サーバ

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

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

  • ベストアンサー
  • okg00
  • ベストアンサー率39% (1322/3338)
回答No.5

http://oshiete1.goo.ne.jp/qa834346.html?ans_count_asc=1 任意のパスからコマンドラインからcgiを実行できますか? 実行してhtmlが出力されるのであれば、1行目のperlのパスと実際にインストールされているパスが違うので確認してください。 デフォルトなら #! c:/perl/bin/perl 例) c:\>perl test.cgi ActivePerlをアンインストールして再インストールしてみてください。

ken1296
質問者

お礼

okg00さん何度も丁寧なアドバイスをありがとうございました。 上のアドバイスがヒントになり解決しました。 1.#ScriptInterpreterSource registry(#をつける)デフォルト 2.perl を c:/usr にインストールする 3.cgiの一行目を #!/usr/bin/perl とすることで、ローカル、プロバイダ側ともOKになりました。 パソコンが壊れる前は 1.ScriptInterpreterSource registry(#を外す) 2.perlを C:/perl/bin/perl にインストーるする 3・一行目は #!/usr/bin/perl で、ローカル、プロバイダ側ともokでした。 なぜこうなってしまったのかの原因はわかりません。 何年か前に、apacheのメーリングリストに質問したときの記事がwebに残っていたので参考にしてください。 http://mm.apache.or.jp/pipermail/newbie/2003-July/003863.html  「 ScriptInterpreterSource registry とデフォルトでなっているものをuncommentすればshebang行を 無視するよう設定されるようです。 この場合、Windowsのレジストリで「関連付け」されたファイルで スクリプトを実行するようです。」 となっているので、レジストリで.cgi とperlの関連付けがなくなってしまったのかもしれません。 どうもありがとうございました。

その他の回答 (4)

noname#33245
noname#33245
回答No.4

apsheファイル見ないと解りませんが、 参考にしてください、CGIの場合パーミッション設定出来ないので,VineLinuxお勧め http://y-kit.jp/saba/ http://mild8.myvnc.com/table/menyu.htm 上記はwinサーバーですCGIの場合CGI設定でパーミッション設定出来る Linux---Vine4.1をお勧め http://vine.1-max.net/参考頁

  • okg00
  • ベストアンサー率39% (1322/3338)
回答No.3

Internal Errorでしたらエラーログが出ているはずですので、エラーログを参照してください。 >More information about this error may be available in the server error log. って書いてますよ。 開示できるならCGIファイルとconfファイルの該当部分も見せてください。 ※そのさいはメールアドレスは伏字にしてください!!

参考URL:
http://www.atmarkit.co.jp/flinux/rensai/apache13/apache13a.html
ken1296
質問者

補足

エラーログです。 [Sat May 26 19:34:09 2007] [error] [client 127.0.0.1] couldn't spawn child process: d:/wwwroot/index_make/index_make.cgi couldn't spawn child process: の部分はすべてのエラーに共通です。 CGIファイルとconf ファイルの該当部分とはどの部分でしょうか? conf ファイルは大きすぎて、ここに貼れません。CGIは内容に関係なくエラーになるようです。すべて.cgi は上記のエラーになります。 別のWin xp と Win98 に同じapache と perl をインストールして、トラブルの出ているxpのconfフォルダをコピーすると、問題なくつながります。 よろしくお願いします。

  • okg00
  • ベストアンサー率39% (1322/3338)
回答No.2

実行できなくなったとの事ですが、具体的にはどういうメッセージだったのでしょうか?正確にお願いします。 Perlのインストールパスが変わっていたなんていうこともないですよね。

ken1296
質問者

補足

エラーのメッセージです Internal Server Error The server encountered an internal error or misconfiguration and was unable to complete your request. Please contact the server administrator, ***@palette.plala.or.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.

  • okg00
  • ベストアンサー率39% (1322/3338)
回答No.1

http://www.rfs.jp/sb/perl/08/07.html Addhandlerにcgiは追加していますか? OptionでExecCGIを指定していますか?

ken1296
質問者

補足

conf のファイルは、いままで使っていたものと同じものを使っているので、別の原因かと思います。機種もハードディスクを変えた以外はまったく変わっていません。

関連するQ&A

  • ApacheがPerlを作動してくれないのです。。。

    CGIテストのためにローカルにサーバーマシンを立てました。サーバーはApacheを使用しPHPとPerlをそれぞれインストールしました。 PHPは正常に動いてくれますがPerlだけが何回やってもyou dont have a permission ~~~と表示されます。 ためしにコマンドでperl -v と打ったら正常にPerlは作動していました。ちなみにPerlは C:Perl\bin\perlになっておりCGIスクリプトにも #!C:Perl\bin\perlと表示しています。又、confも各サイトを見てCGIが動くようにしっかり編集しました。 どうすれば動くようになるのでしょうか?

  • Apache HTTP Server 2.0.54

    Apache HTTP Server 2.0.54 Perlの本に上記のものをインストールするように書いてありました。 しかし本自体が5年ほどの前のものなので、新しいバージョンがあると思います。 新しいバージョンの実行ファイルはどこにありますでしょうか。 公式を見てみましたが、拡張子がmsiのものが見つからず、困っております。 また、2.2.xなどもあるようですが、2.0とどちらが良いのでしょうか。

    • ベストアンサー
    • Perl
  • apacheサーバーでCGIが動かない

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

    • 締切済み
    • CGI
  • 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]にインストールしてあります。

  • XP+Apache Webサーバーのセットアップ

     Win XP SP3+apache(httpd-2.2.17-win32-x86-no_ssl.msi)Webサーバーをセットアップしました。  セットアップした当該パソコンのブラウザーで『http://localhost/』や『http://プライベートIP/』、あるいは『http://固定IP/』、さらには『http://ドメイン名/』とキーインすると、いずれもホームページが表示されます。  しかし、ローカルエリア内の別のPCのブラウザーでアクセスを試みると『Internet Explorerではこのページは表示できません』と言うエラーが表示されます。 Win XP Pro SP3でセットアップを行っても同じ状況です。  しかし、Win 2000 ServerおよびWin Server 2003 Standard Editionとapache(httpd-2.2.17-win32-x86-no_ssl.msi)の組み合わせでは、全く同じ設定で、問題なくWEBサーバーが立ち上がっています。  XPではなぜうまく行かないのか、原因を教えていただけないでしょうか。

  • 以前書きこんだ者です。Apacheを自宅サーバーとして動かしています。

    以前書きこんだ者です。Apacheを自宅サーバーとして動かしています。Perlを含むCGIとSSI、それにHtmlをApacheで稼働させたいと思っているのですが、cgi-bin 以下のディレクトリでPerlとCGIを 動かすことはできたのですが、Htmlが動きません。ここに投稿させていただいたところ、CGI専用 ディレクトリでHtmlを動かそうとしているとご指摘されたので、cgi-binのひとつ上のディレクトリ でHtmlを動かそうと、httpd.confの中のServerRoot "C:/Program Files/Apache Software Foundation/Apache2.2"にしました。そしてエクスプローラで”localhost/htmlのファイル”を実行したところ、”Webページが見つかりません”とでてしまいました。何度いろいろなファイルで やっても同じエラーが出てしまいます。どうやらApache2.2のHtmlファイルを認識してくれない ようなのですが原因がわかりません。わかる方どうか教えてください。よろしくお願いします。

  • Apacheの設定の問題でしょうか?

    Windows XPにApacheをインストールしてサーバーにしています。 ブラウザからcgiファイルを呼び出す以下のメッセージが表示されます。 Windowsサーバーはパーミッションの設定は必要ない思っているのですが、どなたか何が原因かお分かりでしょうか?ご教授願います。 (呼び出しURL) http://hostname/~******/cgi-bin/******.cgi Forbidden You don't have permission to access /~*******/cgi-bin/*****.cgi on this server. -------------------------------------------------------------------------------- Apache/1.3.24 Server at localhost Port 80

    • 締切済み
    • CGI
  • Apache初心者です

    10日で覚えるPerl/CGI入門教室という参考書を買って ApacheとActivePerlをインストールしました。 Apacheはバージョン5.1.2600.0になっています。 これで、インストールは完了し、本書の通りに インストール先も完璧に出来ているはずです。 第一日目のお勉強が  #! c:/perl/bin/perl print "Content-type: text/plain\n\n"; print "Hello Perl !"; これでブラウザには Hello Perl ! と表示されるはずなのですが Forbidden You don't have permission to access /tendays/1-1.cgi on this server. Apache/2.0.54 (Win32) Server at 127.0.0.1 Port 80 などとなってしまい、色々調べてはみてるのですが・・。 一日目でつまずいてしまって途方にくれてます。 WindowsXP ウイルスバスター2006が入っていて 3台のPCをルーターで繋げています。 どこに間違えがあるのでしょうか? 初歩的なことですみません。

    • ベストアンサー
    • CGI
  • win2008でApache1.3が起動しない

    win2008でApache1.3が起動しない windows2008serverの上でApache1.3とphp4を動作させようとしています。 windows2008serverにapache_1.3.41-win32-x86-src.msiをインストールしApacheを起動させようとすると、 エラーが発生して起動できません。 OSのアプリケーションログには以下のメッセージが残っています。 --ここから----------------------- 障害が発生しているアプリケーション Apache.exe、バージョン 0.0.0.0、タイム スタンプ 0x478f7539、障害が発生しているモジュール ApacheCore.dll、バージョン 0.0.0.0、タイム スタンプ 0x478f7537、例外コード 0xc0000005、障害オフセット 0x00026a7b、 プロセス ID 0xb24、アプリケーションの開始時刻 0x01cbb6d6ff60d474。 --ここまで----------------------- どうすればこの問題を解決できるでしょうか。 お詳しい方、何卒よろしくお願い申し上げます!