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

締切り済みの質問

perlパス

Windows2000機でWebServerを建てたのですが、CGIが認識しません。
WEBサーバーのクライアントソフトはApacheで
普通にHTMLは見れています。

perlをインストールした場所は
C:\usr\local で
VerはActivePerl 5.8.8.822 for Windows (x86)です。
場所は↑なのでCGIファイルのperlのパスはそのままいじらず、
perlのパスは#!/usr/local/bin/perl です。

一応#!C:/~以下   もやりましたがだめで、
CGIのテキストが表示されています。

色々調べてやったのですがどうもうまくいかず 教えていただけませんか

投稿日時 - 2008-06-16 09:44:37

QNo.4104469

すぐに回答ほしいです

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

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

回答(2)

ANo.2

たぶん 次に403Forbidden でしょうから それも書いておきます
ScriptAlias /cgi-bin/ "C:/Program Files/Apache Software Foundation/Apache2.2/cgi-bin/"
で設定されたフォルダでしたら それこそperlのパスやスクリプトの内容だけ正しければ動きますが

それ以外のフォルダではOptionsも必要です
Apache2.2 で c:\home\tarou\public_htmlにtest.cgiを置いて
http://localhost/~tarou/test.cgi として動かす場合の設定を書いておきます
1.httpd.confを開き
LoadModule userdir_module modules/mod_userdir.so <=この行頭に#があれば消します
Include conf/extra/httpd-userdir.conf <=この行頭に # が付いていたら消します
2. C:\Program Files\Apache Software Foundation\Apache2.2\conf\extra
 にあるhttpd-userdir.conf を開きます
UserDir "My Documents/My Website" この行を
   ↓
UserDir c:/home/*/public_html こう書き換えます

<Directory "C:/Documents and Settings/*/My Documents/My Website"><=この3行を
AllowOverride FileInfo AuthConfig Limit Indexes
Options MultiViews Indexes SymLinksIfOwnerMatch IncludesNoExec
   ↓
<Directory "C:/home/*/public_html">
AllowOverride FileInfo AuthConfig Limit Indexes
Options ExecCGI MultiViews Indexes SymLinksIfOwnerMatch IncludesNoExec

.htaccess で全部許可するなら AllowOverride行は
AllowOverride All にします

SSIのexeccmd なども許可するならOptions 行は
Options All MultiViews

3.[スタート]>[全てのプログラム]>[Apache HTTPServer2.2]>[Configure Apache Server]>[TEST Configuration]をクリックします
設定に間違いが無ければ すぐに閉じられますが
文法ミスなどがあれば
Syntax Error ****** <ESC>**** と出ます

4. 間違いなければ Apacheを restartします

5. いじりすぎて訳が判らなくなったら
C:\Program Files\Apache Software Foundation\Apache2.2\conf\original に初期状態の .conf が有りますので それをコピーします

投稿日時 - 2008-06-16 10:34:47

ANo.1

テキストで表示されるのは .cgiが CGIアプリケーションとして認識されていないからです
C:\Program Files\Apache Software Foundation\Apache2.2\conf (標準の場合)
にある httpd.conf をメモ帳などで開いて

#AddHandler cgi-script .cgi 行頭の# を消し

AddHandler cgi-script .cgi
として上書き保存してから Apacheをrestartします。

投稿日時 - 2008-06-16 09:51:55

あなたにオススメの質問