Search

Acive Perl の入手

unknown

Windows環境のApacheサーバーでCGIが使えるように設定する方法を解説します。
「ActivePerl」は、ASPN:Perlから入手できます。

  1. 左メニューの「ActivePerl > Download」をクリック。

  2. 「Free Download」リンクをクリック。

  3. 登録フォームが表示されます。登録は任意なので、そのままContinueボタンをクリック。

  4. パッケージ一覧が表示されたら、Windows(x86)のMSIをクリックし、デスクトップなどにダウンロードします。

Active Perlのインストール

unknown

  1. Setup Wizard (ウィザード起動)

    デスクトップなどにダウンロードしたパッケージアイコンをダブルクリックします。

    インストールウィザードが起動したら、NEXTをクリック。

  2. License Agreement (使用承諾書)

    「I acceept the terms in the license agreement」(使用承諾書に同意する)にチェックを入れ、NEXTをクリック。

  3. Custom Setup(インストール先フォルダの指定)

    デフォルトはC:\Perlにインストールされます。そのままでよい場合は、NEXTボタンをクリック。

    インストール先を変更する場合は、Browseをクリックし、インストール先のフォルダを設定してください。

  4. Choose Setup Options(オプション設定)

    「Add Perl to the PATH environment variable」「Create Perl file extension association」にチェックを入れ、NEXTをクリック。

  5. Ready to Insatll (インストール準備)

    Installをクリックすると、Active Perl のインストールが開始します。 インストールには3~5分くらいかかります。

  6. Completing the ActivePerl Setup Wizard (インストール完了)

    リリースノートを表示しない場合は、「Display the Relase notes」のチェックを外しておきます。 Finishをクリックしてウィザードを閉じ、PCを再起動します。

ApacheでCGIが動くようにする(Windows)

unknown

Apache上でCGIが動くように、Apacheの設定ファイル「httpd.conf」を編集します。

「httpd.conf」は、C:\Proguram Files\Apache2\conf内にあります。 メモ帳などのテキストエディタで開いたら、下記のコード部分を追加・修正し、上書き保存します。 変更を反映させるため、Apacheを再起動(Restart)させます。

httpd.conf
# CGIの実行場所の設定
ScriptAlias /cgi-bin/ "C:/Program Files/Apache Group/Apache2/cgi-bin/"

# CGIの実行を許可
<Directory "C:/Program Files/Apache Group/Apache2/cgi-bin">
AllowOverride None
Options Indexes FollowSymLinks ExecCGI
Order allow,deny
Allow from all
</Directory>

# 拡張子.cgi、.pl が使えるように、下記の行のコメントアウト(#)を外す 
AddHandler cgi-script .cgi .pl

# 上記の拡張子を Perl と関連付ける
AddType application/x-httpd-cgi .cgi
AddType application/x-httpd-cgi .pl

動作確認

unknown

C:\Program Files\Apache2\cgi-bin\printenv.plをメモ帳などのテキストエディタ開きます。 Perlをインストールした場所に合わせてファイルの先頭にあるパスを変更します。 デフォルト(c:\perl)にインストールした場合は、#!c:/perl/bin/perlになります。

printenv.conf
#!c:/perl/bin/perl
##
##  printenv -- demo CGI program which just prints its environment
##

print "Content-type: text/plain; charset=utf-8\n\n";
foreach $var (sort(keys(%ENV))) {
    $val = $ENV{$var};
    $val =~ s|\n|\\n|g;
    $val =~ s|"|\\"|g;
    print "${var}=\"${val}\"\n";
}

http://127.0.0.1/cgi-bin/printenv.pl」または「http://localhost/cgi-gin/printenv.pl」 にアクセスし、下図のように環境変数が表示されればOK。Apache上でCGIが正常に動作しています。

printenv.plprintenv.pl

関連コンテンツ

Q. このサイトの情報はお役に立ちましたでしょうか?

投票する 投票結果を見る

管理人に【web拍手】を送るweb拍手(1行メッセージも送れます♪)

pagetop

polarized women