ActivePerl(Windows版) - セットアップ
■ ActivePerlとは
CGIは主にPerl言語で書かれています。Perlは元々UNIX系のOSに開発されたものですが、Windowsへの移植のために開発されたのはActivePerlです。管理者はフリーカートの研究のためにWindows上にApacheをインストールしてウェブサーバーを構築しますので、ActivePerlが必要となるわけです。
■ ActivePerlの入手先
ActivePerlの公式サイト
http://www.activestate.com/activeperl/
ダウンロードサイト
http://www.activestate.com/activeperl/downloads
管理者はWindows(x86)用の最新バージョン(Version 5.14.2.1402)をダウンロードしました。実際にダウンロードしたのはActivePerl-5.14.2.1402-MSWin32-x86-295342.msiです。
■ ActivePerlのインストール方法
上記のダウンロードしたファイルをダブルクリックして、基本的にNextのボタンを押し続けるだけで問題ありません。途中、以下の設定がありますが、チェックを入れました(デフォールト)。

完了したら、インストールが成功したかどうかを確認したい方は次のように確認すればよい。
- 下記のコードを適当なファイル(例えば、test.pl)に保存します。
- コマンドプロンプトを開き、上に保存したファイルのフォルダーに移動します。
- コマンドプロンプト上で、"perl test.pl"を打ちます。
- "Hello world!!"が表示された、インストール成功。
#!c:/perl/bin/perl.exe print "Hello world!!\n";
■ Apacheの設定方法
Apacheの基本設定は省略し、ここではActivePerl関連の設定のみを説明します。これから記述した設定はすべてApacheの設定ファイルhttpd.conf上で行うものです。httpd.confは通常Apacheをインストールしたフォルダーの中のconfフォルダー内にあります。管理者のマシンなら、C:\Web\にApacheをインストールしたので、httpd.confはC:\Web\Apache2.2\conf\にあります。
・cgiを使えるようにします
下記の設定の前に'#'があったら、'#'を削除します。LoadModule cgi_module modules/mod_cgi.so
・cgiを置くフォルダーを指定します
下記の箇所にcgiファイルの置くフォルダーをしています。管理者のマシンでは"C:/Web/public_html/cgi-bin/"にcgiファイルを置くつもりなので、 下記のように設定します。ScriptAlias /cgi-bin/ "C:/Web/public_html/cgi-bin/"
・cgiフォルダーのアクセス権を設定します。
下記のように"C:/Web/public_html/cgi-bin/"にExecCGI権限を与えます。<Directory "C:/Web/public_html/cgi-bin/"> AllowOverride None Options ExecCGI IncludesNoExec Order allow,deny Allow from all </Directory>
・cgiファイルの拡張子を指定します
cgiファイルの拡張子は大体.cgiなので、下記のように設定します。Perlを使用するなら、.plの拡張子も追加します。AddHandler cgi-script .cgi .pl
■ Apacheの設定確認
ここまで設定すれば、ホームページ上のcgiファイルを実行できるはず。設定がうまくいくかどうかを確認するには次のことをすればよい。
- 下記のコードを適当なファイル(例えば、hello.cgi)に保存します。
- 上記のファイル(test.cgi)をcgiの置くフォルダーに置きます。上記の設定なら、"C:/Web/public_html/cgi-bin/"に置きます。
- ブラウザを開いて、http://localhost/cgi-bin/hello.cgiにアクセスします。
- "Hello world!!"が表示された、設定OK。
#!c:/perl/bin/perl.exe print "Content-type: text/plain; charset=iso-8859-1\n\n"; print "Hello world!!\n";
追記しますが、cgiファイルの最初の行に必ずperl.exeのフルパスを記述します。デフォルトなら、perl.exeはc:/perl/bin/にあるので、"#!c:/perl/bin/perl.exe"をcgiファイルの最初の行に書けばよい。上記の確認が失敗した場合はパスが間違っていないか確認してください。2行目は無いと、エラーになりますので、これも必ず入れましょう。