動作確認 Web サーバ
Internet Information Server 8.0
Windows Server 2012 に IIS8.0 がインストールされていない場合は、役割と機能の追加ウィザードより IIS8.0 のインストールを行います。
Webmail の実行には CGIModule が必要となります。「アプリケーション開発」の中に「CGI」がありますので、こちらもインストールを行います。(Webmail は CGIModule だけがあれは動作します。SSI などはご利用の環境に合わせてインストールを行って下さい)
以上で IIS 側のインストールは完了です。
c:\inetpub\wwwroot\cgi-bin フォルダを作成します。(以下CGIフォルダ)
解凍された CGI 及び必要な画像ファイル(logo.gif / pmcursor.gif )を CGIフォルダにコピーします。
アイコンを利用する場合は CGI フォルダに「icon」でフォルダを作成しその中にコピーします。
次の処理については、以前の IIS では必要な処理でしたが、新しい IIS では正しく動作しない場合があります。上手く設定ができない場合にのみ、このアプリケーションの追加を実行して下さい。
Default Web Site で右クリックをし「アプリケーションの追加」を選択します。
エイリアスに「cgi-bin」物理パスに「c:\inetpub\wwwroot\cgi-bin」を入力します。
cgi-bin の物理フォルダと仮想フォルダが重なっていますが、標準FTPサーバ以外を利用する場合を想定しています。物理フォルダは必ずしも c:\inetpub\wwwroot\ 下に無くても構いません。
コンテンツビューに切り替えると先にコピーしてある CGI が見えます。アイコンも仮想フォルダに変わっています。
機能ビューに戻り、先程作成した cgi-bin フォルダを選択後に「ハンドラマッピング」を開きます。
ハンドラマッピングを開くと、拡張子 *.exe が無効になっていますので有効にする必要があります。
「CGI-exe」を選択し右クリックのメニューより「編集」を選択します。
選択後に「モジュールマップの編集」が表示されましたら「要求の制限」ボタンをクリックします。
要求の制限ページの「アクセス」タブを選択肢を選択し「スクリプト」から「実行」に変更し、OKを押して閉じます。
cgi-bin のハンドラマッピングの画面に戻りますと、CGI-exeが有効になっているのを確認し右側の「機能のアクセス許可の編集」をクリックします
「実行」にチェックを入れ OK を押して閉じます。
まだ終わりません。IIS のホームに戻り、「ISAPIおよびCGIの制限」をクリックします。(用語がわかりにくいです)
「追加」をクリックし、CGI の登録を行います。
画面では pmum.exe の登録を行っていますが、必要に応じて pmam.exe やご利用になる他の CGI も追加してください。
以上で、CGI を動作させる設定が完了しました。次に CGI がアクセスするファイルに対してのセキュリティ設定を行います。
サーバー自体がイントラネットのみで外部との接続を一切行っていない場合は、Everyone のフルコントロールでも問題ありませんが、外部から接続を行う場合は、一定のセキュリティを設定することを推奨します。基本的に CGI からのファイルアクセスは匿名ユーザーとして IIS インストール時に自動的にユーザー(アカウント)登録された IUSR(IISや OS のバージョンによって変化します) というアカウントでアクセスが行われます。
Web サーバ内のコンテンツへのアクセスにこのアカウントが利用されますが、CGI の場合は ファイルへの変更や削除等を行いますのでデフォルトの設定(読み取り)では処理を行うことができません。
従って IUSR で各ファイルやフォルダへ変更等を行えるように適切にアカウントの設定が必要になります。
IUSR は IISマネージャーの各サイトの機能ビューにある「認証」から確認することができます。
アカウント名はデフォルトで「IUSR」というグループ名で登録が行われます。
適切なアクセス権が設定されていない場合は、CGI をブラウザから実行する際に「内部サーバエラー」が発生したり、メールの削除が出来なかったりします。その場合には再度アクセス権利を見直してください。
セキュリティの為の注意事項
account.dat はアカウント情報が記録されている大切なファイルです。account.dat を盗まれるとそのメールサーバの全てのアカウントのID とパスワードが盗まれることと等しいです。
CGI にアクセスする必要がある為、上記の例ではインターネットゲストアカウントからアクセス出来るように説明をしておりますが、アクセス方法に制限が加わりますが安全の為、IUSR では無くドメインユーザーを作成し CGI と account.dat / Spool フォルダへのアクセスには下記のように認証を行ってください。
CGI にアクセスした時点でサーバへの認証が行われますのでより安全な運営を行うことが出来ます。