こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

自宅サーバで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上で設定しようとしてもはねつけられてしまいました。どなたかアドバイスいただけましたら幸いです。

投稿日時 - 2005-05-08 03:31:50

QNo.1374571

すぐに回答ほしいです

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

Apacheのhttpd.confの記述が間違ってるんだと思いますが、どのように設定されていますか?
特に<Directory>~</Directory>あたり。
参考にしたサイトがあればそこをもういちど確認されたほうがいいと思います。

自分はANHTTPDを使ってるのですが、こっちのほうが簡単だと思うなぁ。もともとunix系でサーバを扱ってる人ならApacheのほうが使いやすいかとは思いますが。

>一行目を#!c:/perl/bin/perlか、#!:/perl/bin/perl.exeにしたのですが

こんな記述の変更は不要です。

投稿日時 - 2005-05-08 06:13:10

補足

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

投稿日時 - 2005-05-09 22:04:34

お礼

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

投稿日時 - 2005-05-13 11:13:16

ANo.1

このQ&Aは役に立ちましたか?

0人が「このQ&Aが役に立った」と投票しています

回答(3)

ANo.3

>perlプログラムのテキストファイルが現れてしまいます

上記現象は、「AddHandler cgi-script .cgi」が利いていないない時のですね。
ちなみに、

1. CGIファイルの拡張子は.cgiですか?

2. httpd.conf内で「ScriptAlias」の設定にあるフォルダ(多分、No.2で書いたcgi-binディレクトリ(フォルダ)だと思います)にCGIファイルを置いて実行しても駄目ですか?

3.エラーログに何か出力されていませんか?

投稿日時 - 2005-05-10 18:14:14

ANo.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

以上の事を確認してみてください。

投稿日時 - 2005-05-08 08:13:27

補足

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

投稿日時 - 2005-05-09 21:57:03