FAQ

IISPATH_INFOの問題にも関わらずBlosxomを動作させるにはどうすれば良いのですか?

IISPATH_INFOを理解し、そしてBlosxom(そしてPATH_INFOを使う他のスクリプト)が正確に動作するようにする方法は幾つかあります。

PerlMonksIIS"ScriptMaps" property (http://msdn.microsoft.com/library/default.asp?url=/library/en-us/iisref/html/psdk/asp/apro9tkj.asp)を使った"Fix ActiveState Script Maps (IIS)" (http://perlmonks.thepen.com/102907.html)を提供しています。

BlosxomユーザであるAllie Rogers (http://radio.weblogs.com/0106608/)IISの設定に関して以下の方法を提案しています。この設定の結果は上記のPerlMonksのスクリプトと似ています。しかしながら、PerlMonksのスクリプトはBlosxom CGIスクリプトを含むフォルダに対して"execute(実行)"許可を与えると言う点で優れた解決策です。実行許可を無効にすることで若干安全なウェブサーバを提供する事になり、"Code Red"のような脅威から守ることになります。

IISの設定をするのにどちらの方法を貴方が使うかには関係なく、ActiveState PerlISAPランタイム(PerllS.dll)はPATH_INFOを正確に扱う事がでいないので、常に標準のPerlインタプリタ(Perl.exe)を使わなくてはなりません。

Allieの手順:

ActiveStateの標準のPerl、そしてWindows2000IIS 5を使っていると仮定すると、"Application Configuration"プロパティダイアログの"App Mappings""Application Mappings"を修正する必要があります。このダイアログにアクセスするにはIISの管理コンソールを開き(Windows2000 Proとサーバのバージョンによって変わりますのでIISのドキュメントを参照して下さい)。

管理コンソールから左のツリーを下って行き、"blosxom.cgi"スクリプトがある仮想ディレクトリを見つけます。この仮想ディレクトリを右クリックし、"Properties"を選択します。"Configuration.."ボタンをクリックすると"Application Configuration"プロパティダイアログが開きます。"App Mappings"タブ上のリストは全ての"Application Mappings"を表示しています。標準では、ActiveState".pl"拡張子に対するマッピングをインストールします。これを修正して".cgi"拡張子を追加します。ここで注意したいのは、"Check that file exists"にチェックが入っていないことを確認する事です。上記の".cgi"ファイルの設定は以下のような感じになります:

Executable: C:\perl\bin\Perl.exe "%s" %s
Extension: .cgi
Verbs (Limit to): GET, HEAD, POST
Script engine: NOT CHECKED
Check that file exists: NOT CHECKED

これはWindows XPIIS 6と同様にNT4IIS 4でもうまく行きます。

より多くの情報はhttp://www.jmarshall.com/tools/cgiproxy/faq.html#q6と同様にMicrosoftのナレッジベースQ184320Q252352で見つかります。

Author: Rael Dornfest
Category: /faq/operating_system/windows/iis
Date: 2003-07-26