※ ChatGPTを利用し、要約された質問です(原文:apache1.3とperlでCGI)
CGI実行方法のご教授をお願いします
このQ&Aのポイント
初心者の方に向けて、Windows XPでApache 1.3とActive Perl 5.1.2を使用してCGIを実行する方法について教えてください。
Apacheの起動画面が表示されることを確認した後、httpdconfファイルにAddHandlerとAddTypeを追加します。
既存のprintenv.plファイルを実行しようとするとファイルのダウンロード画面が表示され、実行されません。printenv.plのパスを変更する必要があります。
超初心者です。
windows XPでapache1.3 と active perl 5.1.2をインストールして、
CGIを動作させたいと考えています。
http://localhostを入力してapacheの起動画面は表示されていること
を確認しました。
その後httpdconfに下記を追加しました。
AddHandler cgi-script .cgi .pl
AddType application/x-httpd-cgi .cgi
AddType application/x-httpd-cgi .pl
<Directory "C:/Program Files/Apache Group/Apache/cgi-bin">
AllowOverride None
Options ExecCGI
Order allow,deny
Allow from all
</Directory>
C:\Program Files\Apache Group\Apache\cgi-binに既存で存在する
printenv.plを実行しようとするとファイルのダウンロードの画面が出てきて
実行されません。printenv.plは下記のようにperl.exeへのパスだけ変更しました。
#! C:/Perl/bin/perl
##
## printenv -- demo CGI program which just prints its environment
##
print "Content-type: text/plain\n\n";
foreach $var (sort(keys(%ENV))) {
$val = $ENV{$var};
$val =~ s|\n|\\n|g;
$val =~ s|"|\\"|g;
print "${var}=\"${val}\"\n";
}
どうすればCGIが実行できるようになるのでしょうか?
ご教授ください。よろしくお願い致します。
お礼
windows xpを再インストールして 再度試してみたら動きました。 ごちゃごちゃと設定を変えているうちに、 バッチファイルを認識しないように レジストリをいじったのが原因だったようです。 大変お騒がせしました。 ご回答ありがとうございました。
補足
回答ありがとうございます。 Apacheのバージョンは1.3.41です。 httpdconfを検索してみましたが、 LoadModule cgi_module modules/mod_cgi.so が見当たりませんでした。 ためしにLoadModule cgi_module modules/mod_cgi.soを追加して Apacheを再起動させようとしましたが、起動できませんでした。 ご教授よろしくお願い致します。