Windows Web Server 2008 構築と運用のポイント
Perl on IISのクイックステップ
次にPerlのアプリケーションをIISで動かすためのクイックステップを以下に紹介します。
1)ActivePerlの32bit版をダウンロードしインストール
2)必要なライブラリをppmでインストール。存在しない場合はPPMのリポジトリを追加する。
→詳細は前回のMovable Type Open Sourceインストールの項(http://thinkit.jp/article/983/3/)を確認してください。
3)IISの設定を行う
(スクリプトマップで*.cgiや*.plとperl.exeを関連付けるようスクリプトマップに追加する、引数として「 ”%s” %s」を忘れない、既定のドキュメントにindex.cgiを追加する、64bit OSの場合はアプリケーションプールの32bitアプリケーションの有効化)
4)アプリケーションへ変換
IIS特有のステップです。具体的な手順としてはIISマネージャより配置したWebアプリケーションのフォルダを右クリックして「アプリケーションへの変換」を行います。この操作によりWebアプリケーションに同梱(どうこん)のファイルが見つからない(「Can't locate xxxxx in @INC」といった表示の出る)問題が解消されます。
なお、PerlはFastCGIでも動きますが、そのためにはWebアプリケーション内でFastCGIモジュールを呼び出すなどFastCGI向けにプログラムの書き換えが必要となります。
「.htaccess」の設定はIISの機能で行う
IISでは「.htaccess」は認識されません(そもそも「.(ドット)」で始まるファイルの作成は推奨されません)。
しかしながら、多くのオープンソースWebアプリケーションでは「.htaccess」にアクセス制限や基本認証の追加など、セキュリティー設定上非常に重要な役割を担う記述が多いため、IISではこの「.htaccsss」に記述された設定を、IISの各機能を利用して設定しなければなりません。
ここでは、どの項目をどこから編集すれば良いのかを示します。
・IPアドレスやドメイン名によるアクセス制御
(「IISマネージャ > サイト名(Default Web Site) > 設定をしたいフォルダ > IPv4 アドレスおよびドメインの制限」で)
※事前に役割サービスから「IPおよびドメインの制限」のインストールが必要になります。
・基本認証など認証設定
(「IISマネージャ > サイト名(Default Web Site) > 設定をしたいフォルダ > 認証」で)
※事前に役割サービスからセキュリティー関連で実装したい認証方式のインストールが必要になります。
・mod_rewriteの設定
(「IISマネージャ > サイト名(Default Web Site) > 設定をしたいフォルダ> URL Rewrite」で)
※事前にURL Rewrite Moduleのインストールが必要になります(前回のWordPressの項目を参照してください)。
・読み込ませるphp.iniの変更
(「IISマネージャ > サイト名(Default Web Site) > 設定をしたいフォルダ> ハンドラマッピング」から、別のphp.iniファイルを読み込むようパラメータを付与したモジュールマップの追加で)
※複数のphp.iniパラメータを使い分ける方法の詳細はインストールマニアックス2009レポート(http://thinkit.jp/article/975/3/)にて浅見さんが解説しています。またハンドラマッピングでは「*.php」が複数マッピングされますが、ハンドラマッピング画面の「順序指定された一覧の表示」画面からマッピングの優先順位を変更できます。