< 質 問 >
XMailCFG が IIS に対応しました

お知らせです。

XMailCFG 1.24 を公開しました。
An HTTP Server、Apache for Win32、Sambar Serverに加え、IIS 5.0(Windows 2000に付属)でも動作するようになりました。IISの他のバージョンでどうなるかは不明です。エラーレポートを歓迎します。

IIS で Perl CGI を利用する場合、拡張子 .cgi とスクリプトエンジン(perl.exe)とのマッピングが正しく設定されていないとトラブルがあるようです。

具体的には、たとえばActivePerlがC:\usr\perl\bin\perl.exeであるとして、インターネットサービスマネージャから XMail\cgi のプロパティを開き、「ディレクトリ」タブにおいて「アプリケーションの設定」の「作成」ボタンをクリックしたあと「構成」ボタンから「アプリケーションのマッピング」を開き、「.cgi C:\usr\perl\bin\perl.exe "%s" %s」のようなマッピングを追加します。なお、IIS の関連サービスのうち、Simple Mail Transport Protocol (SMTP) はサービスを停止する必要があります。

なお、IISには重大なセキュリティホールがあります。インターネットでそれを利用するときは、マイクロソフト社のホームページからサービスパックやホットフィックスを入手し、必ずそれらを適用してください。

cop (03.02/01)


【 senshu (03.02/01) 】

copさん、早速対応していただき、感謝いたします。

その結果ですが、IIS4.0 では、うまく動作しないようです。

大きな問題は、IIS 対策がうまく機能して
いない点にあります。(ver 1.22 の時には
それほど問題なく使えているのですが、、、)

IIS4.0 は Microsoft-IIS/4.0 を返します。
copさんの改定は、IIS5.0 に有効な変更なの
だと思います。(この部分は、どこか一箇所に
まとまっていると変更が容易になると考えます)

そして、これが一番の問題なのですが、IIS 4.0 では、perlIS.dll では何とか動くのに、
perl.exe "%s" %s では動作しないことです。

何が原因なのでしょうか。

とっても悩んでしまいます。

取り急ぎ、報告まで。



【 senshu (03.02/01) 】

copさん、senshuです。

ようやく、原因が分かりました。

perl と XMailCFG は、同一のdiskに置かないと動作
しないようです。
(perl => C: , XMailCFG => d: では動作しない!)

同一のdiskに置いた後は、perl.exe で問題なく
動作するようです。

お騒がせしました。



【 cop (03.02/01) 】

senshu さん、試用レポートありがとうございます。
おっしゃる通り IIS 5.0 対応ということです。
テスト環境がなかったので。

しかし、気になったので仕事をそっちのけにして手元の古いマシンに Windows NT Server 4.0 + Option Pack + SP6a をインストールしてテストしてみると、‥‥動くんですね、IIS 4.0 でも。(汗) ちょっと発見です。senshu さんのおかげです。

> perl と XMailCFG は、同一のdiskに置かないと動作
> しないようです。
> (perl => C: , XMailCFG => d: では動作しない!)

ほう、そうですか。マッピングの定義で perl.exe へのパスをドライブ文字から始めてもそうなりますか。
ちょっと不思議です。調べてみます。

#テストが終わると同時に Windows NT マシンが
#起動しなくなってしまいました。
#寿命でしょうか。(笑)



【 senshu (03.02/01) 】

copさん、senshuです。

マッピングの定義の件ですが、ドライブ文字を
含めた状態でもNGです。相対指定がうまく解釈
されないようです。

ただし、perlIS.dll では、正しい解釈をする
ようで、混乱の極みになっています。

これは不具合の報告になりますが、私のとこ
ろ(IIS) ではユーザ登録などのファイルを
変更するメニュが動作しません。

ファイル内容の参照は問題ないので、ファイル
権限の問題とも思いますが、何かヒントがあれ
ばアドバイスをいただけると幸いです。

P.S.

XMail 0.68のソースを Free で公開されて
いるBorland C++ ver. 5.5.1 でコンパイ
ルし、かつ動作することを確認しました。

一部、ソースの修正が必要でしたが、極わずか
です。これで、自前でバグの修正・機能の
拡張が可能になる!(?)



【 cop (03.02/01) 】

senshu さんどうも。

C: ドライブに XMailCFG を、D: ドライブに AvtivePerl 5.22 をインストールしてテストしてみましたが、私の環境ではとくに問題がないです。不思議ですね。

じつは IIS はよく分かりません。
みなさんに教えてもらいたいと思っています。

>これは不具合の報告になりますが、私のとこ
>ろ(IIS) ではユーザ登録などのファイルを
>変更するメニュが動作しません。

XMail Serverをインストールしたフォルダで何かアクセス制限をやっていないでしょうか。私は「Everyone フルコントロール」でテストし、うまく動作しました。

>XMail 0.68のソースを Free で公開されて
>いるBorland C++ ver. 5.5.1 でコンパイ
>ルし、かつ動作することを確認しました。
>
>一部、ソースの修正が必要でしたが、極わずか
>です。これで、自前でバグの修正・機能の
>拡張が可能になる!(?)

おおそれはすごい。
ぜひとも内緒で私にください。(笑)



【 senshu (03.02/01) 】

copさん、senshuです。

>XMail Serverをインストールしたフォルダで
>何かアクセス制限をやっていないでしょう
>か。私は「Everyone フルコントロール」で
>テストし、うまく動作しました。

私もEveryone フルにしたらうまくいきました。
何たることか、、、。

src の差分は、可能なら作者の方に送り、
マージしてもらえるようにお願いしてみます。

断られたら、個別対応したいと思います。

それでは、また。



【 cop (03.05/01) 】

あとで気付きましたが、IISのドキュメントルート(\inetpub\wwwroot)の下位フォルダにXMailCFGをインストールするとトラブルになりますね。

というわけで、XMailCFGをIIS上で使う場合、それを仮想ディレクトリにインストールする必要があります。



【 senshu (03.05/01) 】

copさん、senshuです。

>あとで気付きましたが、IISのドキュメント
>ルート(\inetpub\wwwroot)の下位フォル
>ダにXMailCFGをインストールするとトラブル
>になりますね。

まさしく、これだったようです。
注意書きがあれば、今後悩む人がいなくなると
思います。

それでは、また


記事の先頭へ▲ 
SUPER LABORATORY