Windows10+IISにActivePerlインストール

ActivePerl アイコン
 「Windows10」+「Internet Information Services 10.0(IIS)」にActivePerlをインストールしてCGIを実行環境を作ってみた。


 IISのインストールは以前の記事をご覧ください(→コチラから)


ActivePerlのダウンロード

ActivePerl ダウンロード(1)
ActiveState Corporation のWebサイトを開く
http://www.activestate.com/

ActivePerl ダウンロード(2)
上部「SOLUTIONS」→「ActivePerl」をクリック

ActivePerl ダウンロード(3)
右側「Download Active Perl」をクリック

ActivePerl ダウンロード(4)
使用しているWindowsに合わせて、64bit版なら「Download ActivePerl 5.24.0 for Windows (64-bit,x64)」、32bit版なら「〃(x86)」をクリックすると自動的にダウンロード。


ActivePerlのインストール
※説明は自分環境に合わせて64bit版で説明する。32bit版は保存先フォルダーなどが若干違うが基本的な部分は同じ。

ActivePerl アイコン
ダウンロードした「ActivePerl-5.24.0.2400-MSWin32-x64-300558.exe」を実行

ActivePerl インストール(1)
セットアップのトップ画面「Next」

ActivePerl インストール(2)
ライセンス契約、内容に同意するなら「I accept the terms in the License Agreement」を選び「Next」

ActivePerl インストール(3)
インストールタイプ「Typical」(一般的な設定)を選ぶ

ActivePerl インストール(4)
関連付け関係のオプション、特に変更する必要は無いのでそのままで「Next」

ActivePerl インストール(5)
最終確認「Install」

ActivePerl インストール(6)
ユーザーアカウント制御は「はい」

ActivePerl インストール(7)
ファイルコピーなどが開始され数分待ち、「Finish」で終了。


IISの設定
 IISの標準状態ではCGIを使える機能が入ってないので追加インストールし、ActivePerlとの関連付けを行う必要がある。

ActivePerl 設定(1)
スタートを右クリック「コントロールパネル」→「プログラム」→「Windowsの機能の有効化または無効化」

ActivePerl 設定(2)
「インターネット インフォメーション サービス」→ 「World Wide Webサービス」→ 「アプリケーション開発機能左」を開き、「CGI」の項目にチェックを入れ「OK」をクリック、1分ほどで機能が追加される。

ActivePerl 設定(3)
「スタート」→「すべてのアプリ」→「Windows管理ツール」→「インターネット インフォメーション サービス(IIS)マネージャ」をクリック

ActivePerl 設定(4)
左側の「Default Web Site」→中央の「ハンドラーマッピング」をクリック

ActivePerl 設定(5)
右側の「スクリプト マップの追加」をクリック
・要求パスに「*.cgi」
・実行可能ファイル「c:\Perl64\bin\perl.exe “%s” %s」
・名前「CGI」
で「OK」をクリック
※32bit版ではPerlのパスが違うので環境に合わせて変更する事。
※.plファイルなども実行する場合は、要求パスを「*.pl」としたものを追加する。

ActivePerl 設定(6)
スクリプト マップの追加の警告が表示されるので「はい」を選ぶ

これで設定完了。


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スプリクトをダウンロードしてして使う場合は書き加えないと動作しない事が多い。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

CAPTCHA