「Windows10」+「Internet Information Services 10.0(IIS)」にActivePerlをインストールしてCGIを実行環境を作ってみた。
IISのインストールは以前の記事をご覧ください(→コチラから)
ActivePerlのダウンロード
ActiveState Corporation のWebサイトを開く
http://www.activestate.com/
上部「SOLUTIONS」→「ActivePerl」をクリック
使用しているWindowsに合わせて、64bit版なら「Download ActivePerl 5.24.0 for Windows (64-bit,x64)」、32bit版なら「〃(x86)」をクリックすると自動的にダウンロード。
ActivePerlのインストール
※説明は自分環境に合わせて64bit版で説明する。32bit版は保存先フォルダーなどが若干違うが基本的な部分は同じ。
ダウンロードした「ActivePerl-5.24.0.2400-MSWin32-x64-300558.exe」を実行
ライセンス契約、内容に同意するなら「I accept the terms in the License Agreement」を選び「Next」
関連付け関係のオプション、特に変更する必要は無いのでそのままで「Next」
ファイルコピーなどが開始され数分待ち、「Finish」で終了。
IISの設定
IISの標準状態ではCGIを使える機能が入ってないので追加インストールし、ActivePerlとの関連付けを行う必要がある。
スタートを右クリック「コントロールパネル」→「プログラム」→「Windowsの機能の有効化または無効化」
「インターネット インフォメーション サービス」→ 「World Wide Webサービス」→ 「アプリケーション開発機能左」を開き、「CGI」の項目にチェックを入れ「OK」をクリック、1分ほどで機能が追加される。
「スタート」→「すべてのアプリ」→「Windows管理ツール」→「インターネット インフォメーション サービス(IIS)マネージャ」をクリック
左側の「Default Web Site」→中央の「ハンドラーマッピング」をクリック
右側の「スクリプト マップの追加」をクリック
・要求パスに「*.cgi」
・実行可能ファイル「c:\Perl64\bin\perl.exe “%s” %s」
・名前「CGI」
で「OK」をクリック
※32bit版ではPerlのパスが違うので環境に合わせて変更する事。
※.plファイルなども実行する場合は、要求パスを「*.pl」としたものを追加する。
スクリプト マップの追加の警告が表示されるので「はい」を選ぶ
これで設定完了。
CGIの動作確認
1.下記のcgiプログラムを、「C:\inetpub\wwwroot\」(※)に「test.cgi」の名称で保存する。
※標準状態のフォルダー位置、設定で変更している場合は各自の環境に合わせて変更する事。
※書き込みには管理者権限が必要です。
———–
print “Content-type: text/html\n\n”;
print “Hello World!”;
exit;
———–
2.ブラウザを開きアドレスに「http://localhost/test.cgi」と入力すると
「Hello World!」と表示されれば成功。
ApacheサーバーのCGIと違があるので注意
・CGIスプリクトの先頭にPerlのパス
「#!/usr/local/bin/perl」
を書く必要が無い。(書いてあっても無視して動作する)
・CGIスプリクトからファイルシステムにアクセス(ファイルの読み書きなど)する場合は、スプリクト中にCGIの作業パス(カレントディレクトリ)を示すプログラムのを書かなければならない。
例えばCGIが「C:\inetpub\wwwroot\test.cgi」にある場合は
「chdir(“C:\\inetpub\\wwwroot”);」
と書き加える必要あがある。
これがあるので、フリーソフトのようなPerlスプリクトをダウンロードしてして使う場合は書き加えないと動作しない事が多い。