インストール・動作環境設定ApacheのCGI設定
Acive Perl の入手
unknown
Windows環境のApacheサーバーでCGIが使えるように設定する方法を解説します。
「ActivePerl」は、ASPN:Perlから入手できます。
-
左メニューの「ActivePerl > Download」をクリック。
-
「Free Download」リンクをクリック。
-
登録フォームが表示されます。登録は任意なので、そのままContinueボタンをクリック。
-
パッケージ一覧が表示されたら、Windows(x86)のMSIをクリックし、デスクトップなどにダウンロードします。
Active Perlのインストール
unknown
- Setup Wizard (ウィザード起動)
デスクトップなどにダウンロードしたパッケージアイコンをダブルクリックします。
インストールウィザードが起動したら、NEXTをクリック。
- License Agreement (使用承諾書)
「I acceept the terms in the license agreement」(使用承諾書に同意する)にチェックを入れ、NEXTをクリック。
- Custom Setup(インストール先フォルダの指定)
デフォルトは
C:\Perl
にインストールされます。そのままでよい場合は、NEXTボタンをクリック。インストール先を変更する場合は、Browseをクリックし、インストール先のフォルダを設定してください。
- Choose Setup Options(オプション設定)
「Add Perl to the PATH environment variable」、「Create Perl file extension association」にチェックを入れ、NEXTをクリック。
- Ready to Insatll (インストール準備)
Installをクリックすると、Active Perl のインストールが開始します。 インストールには3~5分くらいかかります。
- 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)させます。
# 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
になります。
#!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が正常に動作しています。
