• ベストアンサー

自宅サーバでCGIが機能しないのです

素人の質問で恐縮です。自宅サーバを構築中ですが、アパッチをインストールし、DDNSによるドメインを取得し、HPを公開できました。FTP環境もできました。ただ、ActivePerlの最新版ををインストールし、コマンドプロンプトで起動確認もできたのですが、CGIファイルをcgi-binフォルダに入れても機能しません。一行目を#!c:/perl/bin/perlか、#!c:/perl/bin/perl.exeにしたのですが、パールをつかみにいかないのです。サーバはWindowsXPのホームエディションSP2ですが、WindowsはUNIXみたいにパーミッションの概念がないので設定は不要だと、あるサイトに書いてましたが不要ですか?確かに以前、プロバイダのWEBスペースでCGIの掲示板を使っていた時は、FTP上でパーミッションを設定していましたが、自宅サーバ(windows)ではFTP上で設定しようとしてもはねつけられてしまいました。どなたかアドバイスいただけましたら幸いです。

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

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

  • ベストアンサー
  • monchix
  • ベストアンサー率54% (1460/2666)
回答No.1

Apacheのhttpd.confの記述が間違ってるんだと思いますが、どのように設定されていますか? 特に<Directory>~</Directory>あたり。 参考にしたサイトがあればそこをもういちど確認されたほうがいいと思います。 自分はANHTTPDを使ってるのですが、こっちのほうが簡単だと思うなぁ。もともとunix系でサーバを扱ってる人ならApacheのほうが使いやすいかとは思いますが。 >一行目を#!c:/perl/bin/perlか、#!:/perl/bin/perl.exeにしたのですが こんな記述の変更は不要です。

mikio_to_mikio
質問者

お礼

ありがとうございました。ANHTTPDでやったら一発でokでした。アパッチみたいにやいこしい設定もいらんかったし最高でした。こんごともよろしくお願い申し上げます。

mikio_to_mikio
質問者

補足

ありがとうございます。アパッチをかじれば何かと勉強になるかと思いましたが、素人には難し過ぎました。いろんな参考書を見ますとやはりお勧めのANHTTPDが入門しやすいし、日本語なので結局そちらへ移行しそうです。ちなみにアドバイスいただいた>こんな記述の変更は不要です。・・の箇所ですが、このパスは特に記入しなくてもよいということなのでしょうか?

その他の回答 (2)

  • Lean
  • ベストアンサー率72% (435/603)
回答No.3

>perlプログラムのテキストファイルが現れてしまいます 上記現象は、「AddHandler cgi-script .cgi」が利いていないない時のですね。 ちなみに、 1. CGIファイルの拡張子は.cgiですか? 2. httpd.conf内で「ScriptAlias」の設定にあるフォルダ(多分、No.2で書いたcgi-binディレクトリ(フォルダ)だと思います)にCGIファイルを置いて実行しても駄目ですか? 3.エラーログに何か出力されていませんか?

  • Lean
  • ベストアンサー率72% (435/603)
回答No.2

Apache(2.x系)、ActivePerlが下記の通り、デフォルトの場所にインストールされた前提で書きます。 ○Apache  ・インストール先   C:\Program Files\Apache Group\Apache2  ・cgi-binディレクトリ(フォルダ)   C:\Program Files\Apache Group\Apache2\cgi-bin ○ActivePerl  ・インストール先   C:\Perl  ・perlコマンドパス   C:\Perl\bin\perl.exe ------8<------8<------8<------8<------ 1.設定ファイル(httpd.conf)で以下が有効になっていますか?  AddHandler cgi-script .cgi 2.設定ファイル(httpd.conf)の変更後、Apacheの再起動(restart)を行っていますか? 3.CGIファイル(.cgi)のperlコマンドのパスが以下の通りになっていますか?  #! /perl/bin/perl 以上の事を確認してみてください。

mikio_to_mikio
質問者

補足

ありがとうございます。アドバイスのとおり、c:\perlに入れていたのでパスを#!/perl/bin/perlにしましたがやはり同じでした。httpd.confについては1.および2.を確認・実施しましたがやはり動きませんでした。それらしいサイトでOptions FollowSymLinks の行の後ろにExecCGIを追加すれば良いと書いてあり、追加しましたが、再起動してアタックしても、perlプログラムのテキストファイルが現れてしまいます。ほかに何かお心当たりはございませんでしょうか?とほほほ

関連するQ&A

  • 自宅サーバがうまくいかない

    困っています。解決方法を教えてください。 環境:windowsXPHomeSp2 CGIの勉強するために、自宅にサーバ機能を入れようと思いました。 それでApacheをインストールし、http://127.0.0.1/が見れることで確認し、 ActivePerlインストールし、プロンプトにて”perl -v”で確認しました。 そのあと、実際にcgiファイルを試しに見てみようと思い、単純なもの(”aaa”とだけ表示するもの)で実行したのですが ”403 Forbidden You don't have permission to access /a.cgi on this server.” と出ます。 それなので、htmlファイルで同じものを作ったのですが見れました。 それでpermissionについて調べてみたのですが、windowsだと特に設定しなくても見ることは出来るとあります。 これはActivePerlの設定が間違ったということでしょうか? それだとどのようにしたら見れるようになるのでしょう。 わかる方がおればお願いします。

    • 締切済み
    • CGI
  • apacheで自宅サーバー cgi設置ができません。

    はじめまして。 よろしくおねがいします。超初心者です。インターネットで色んな サイトをみながら、苦労してサーバーを立ち上げました。 どう調べてもさっぱりわからないことがありまして........ どなたかご教授いただきたくメールさせていただきました。 よろしくお願いいたします。 【質問です】 XPにapacheをインストールして、サーバーを運営中です。 Tinyftpdもインストールして、ftpサーバーも運営中です。 自サイトにcgiファイルを置いてるのですが、全てのファイルの パーミッションが505になり所有者は、nooneになってしまいます。 ffftpで、パーミッションを変更してみたのですが、何度変更しても 505から変わりません。いったいどうすればいいのでしょうか? cgi-binフォルダを作って、httpd.confの設定も間違っていない みたいなのですが、 Forbidden You don't have permission to access..............on this server. となってしまいます。 パーミッションをapacheサーバーで設定できるようにするには、 どうすれば良いのでしょうか?

    • 締切済み
    • CGI
  • CGIのパーミッションについて

    昨日はじめて自鯖を立てようと思い apache2にて鯖を立てました。 こちらの環境は OS:windowsXP server:apache2 + ActivePerl CPU:Pen4 3.0Ghz メモリ:1024MB CGIの勉強をしたく、アップローダーを設置することに しました。http://sugachan.dip.jp/download/uploader.php こちらのサイトのSn Uploaderというものです。 Cgiの1列目#!のperlパスを自分の環境の #!C:/Perl/bin/perl に変更し ホームディレクトリ下のcgi-binフォルダ下に設置しました。 http://localhost/cgi-bin/upload.cgiにアクセスし 動作を確かめようとしたのですが500エラーがでてしま います。ためしに他のCGIを用意し試しましたところ きちんと動作しました。Apacheのほうの設定はすんでいます。いまのところパーミッションを疑っているのですが、Windowsの場合パーミッションの設定がいらないと聞いたことがあるのですがどうなんでしょうか? もし設定が必要な場合、自鯖にFFFTP等のソフトで繋いでパーミッションの変更を行うことはできるのでしょうか。自鯖にFTPサーバがないと無理なんでしょうかね? 初心者な質問で申し訳ないです。もしFFFTP以外の方法でパーミッションの変更方法があるのでしたら是非おしえてください。日本語がわかりにくいところがあると思いますが疑問な点がありましたら言ってください。よろしくお願いいたします。

    • 締切済み
    • CGI
  • 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のパーミッション変更

    自宅サーバーとしてウェブサーバーを構築してPerlはActivePerl。 通常プロバイダ・レンタルサーバーなどでcgiを設置する場合の パーミッション変更はFTPソフトを使って変更しますが、 ローカルから外部に公開する場合のCGIのパーミッションの変更は どうやってやるのでしょうか?どうかご教授ください。

    • ベストアンサー
    • CGI
  • 自宅サーバでCGIが動作しない

    自宅サーバでCGIを作り動かそうとしているのですが、 「webサイトによってこのページの表示を拒否されました」と出て、CGIが開きません。 いろいろ調べてみて、パーミッションの設定とかが1番それっぽい原因かなとは思ったのですが、 あれってFTPで変更するものですよね? アップロードする気がなくて、これからも自宅サーバで使用したい場合でも、 パーミッションの設定は必要なのでしょうか。その場合、どうやれば設定変更できるのでしょうか? あれってアップロードしたファイルを設定変更するものですよね・・・(私は普段FFFTPを使用しています) アップロードしてないファイルはどうすればいいのでしょうか・・・。 それともこれ以外に原因がありそうでしたらぜひ教えて頂きたいです>< よろしくお願いします!

    • ベストアンサー
    • CGI
  • CGIを開けない。。。

    apacheとphpを設定して動作確認したあとに、cgiも操作したいので、Active Perlというものをインストールしてみました。 phpは、http://localhost/で「C:/Program Files/Apache Software Foundation/Apache2.2/htdocs」のフォルダーを参照できるのですが、cgiを開くときには、どこのフォルダーに格納し、URLをどうすれば宜しいのでしょうか?(因みにcgi-binとhtdocsに格納し、http://localhost/***.cgiで試したのですが駄目でした。) Active Perlインストール後に変更した場所 ScriptAlias /cgi-bin/ "C:/Program Files/Apache Software Foundation/Apache2.2/cgi-bin/" <Directory "C:/Program Files/Apache Software Foundation/Apache2.2/cgi-bin"> AddHandler cgi-script .cgi .pl なお、perlの設定には、こちらhttp://www.jisaba.net/xp/actpeal/04.htmのサイトを参考にしました。 環境はWindowsVistaです。 どなたか宜しくお願い致します。

    • ベストアンサー
    • 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がうごきません

    ApacheとPerlをインストールしてローカルでの動作確認OKなのですが、HP上では機能しません。 プロバイダー側が作った「アクセス権が認められてません ・・・どうたら、こうたら」のメッセージがでます。 すべてのファイル(cgi,html,pl・・)をEUC(文字)CR+LF (改行)にして、アスキーモードでアップロードしました。 Perlパスやパーミッションは間違いないとは思うのですが 、アクセスすると凄い文字化けになっています。掲示板は機能しません。FTPはFFFTPですので自動改行すると思うの ですが、コードの設定に関係があるのでしょうか? 私はWin98,プロバイダーはUNIX系です。それから、Apache とPerlを使ってエラーを調べられるようなことを聞いたの ですが、どのようにするのでしょうか?お願いします。

    • ベストアンサー
    • CGI
  • パソコンに CGI サーバー を立ち上げるには?

    よろしくお願いします。 今、パソコン内に CGI サーバー を立ち上げようとしています。 これは、サイトを作成するにあたって、 abcdef.cgi というファイルを サーバー へ アップロード する前の動作確認用です。 http://www.prism-web.com/cgi/server.html このページを見ながらやっているのですが、どうも上手くいきません。 このページが作成された時とはダウンロードできるプログラムが違うためかもしれません。 実際に私がダウンロードしてインストールしたのは、 ・Xitami Install kit のWin 95/NT standard 版 ・ActivePerl ActivePerl 5.8.0 build 805 Windows AS package です。 ActivePerl のほうは、説明で書かれているものとは違うと思います。 ActivePerl-5.8.0.805-MSWin32-x86.zip というものなので。 さらに、説明では、 「 C:\Xitami 」、「 C:\Perl 」 へインストールすると書かれていましたが、 私の場合は、C ドライブの容量が少なかったため、 「 D:\Xitami 」、「 D:\Perl 」 へインストールしました。 この結果、Perl-v のコマンドにも反応しませんし、 実際に abcdef.cgi を開こうとしても、 ファイルをダウンロードする画面が開くだけです。 もしご存知の方がいましたら、アドバイスを宜しくお願いします。 ※私は、Window98SE を使っています。

    • ベストアンサー
    • CGI

専門家に質問してみよう