はじめに
WebBroker の記事を書きましたが、Internet Information Services (IIS) のインストールや設定方法は DocWiki にも詳細が (多分) ないので、記事にしてみました。
Internet Information Services (IIS) のインストールと設定
以下、Delphi で作った CGI や ISAPI モジュールを動かせるようにするための基本的な設定です。
■ Internet Information Services (IIS) のインストール
Windows 10 / 11 で IIS をインストールするには [Windows の機能の有効化または無効化] を開き、[インターネット インフォメーションサービス] にチェックを入れます。
ツリーを展開し、[World Wide Web サービス > アプリケーション開発機能] にある [CGI] と [ISAPI 拡張] にもチェックを入れる必要があります。
正しくインストールされると http://localhost をブラウザで開いた時に次のようなページが表示されます。
■ 管理ツール
IIS の管理ツールは「インターネット インフォメーション サービス (IIS) マネージャ」で、実行ファイルは InetMgr.exe
です。
コントロールパネルの [Windows ツール] からも開けます。
■ Web サーバーの開始と終了
Web サーバーの開始と終了はサイトを選択し、[Web サイトの管理] から操作を行います (右クリックメニューからも選べます)。
■ CGI や ISAPI モジュールを使うための設定
・CGI や ISAPI モジュールの利用を許可する
[接続] のコンピュータ名になっているトップノードを選択し、[ISAPI および CGI の制限] をダブルクリックします。
[機能設定の編集...] をクリックします。
特定できない CGI モジュールを許可する
と 特定できない ISAPI モジュールを許可する
の両方にチェックを入れます。
・実フォルダを用意する
仮想ディレクトリのためのフォルダを作ります。IIS のファイルは %SystemDrive%\inetpub
にあります。wwwroot
フォルダが静的ページのルートディレクトリ (/
) となります。
CGI / ISAPI モジュールを置くための実フォルダは cgi-bin
という名前にします。ファイルがごちゃごちゃするのを避けるため、実フォルダは inetpub
の直下に作る事にします。
アクセス権を設定するため、フォルダを右クリックして [プロパティ]
を選びます。[セキュリティ] タブ で [編集] ボタンを押し、ユーザーを追加します。
[追加] ボタンを押してユーザーを追加します。
[選択するオブジェクト名を入力してください:] の所に Everyone
と入力します。
[詳細設定] ボタンからでユーザーを検索して Everyone を追加しても構いません。
[アクセス許可] で フルコントロール にチェックを入れます。
・仮想ディレクトリを追加する
サイト Default Web Site
を右クリックし、[仮想ディレクトリの追加] を選びます。
仮想ディレクトリを追加します。エイリアス (仮想フォルダ) と物理サブフォルダ名は別々でも構わないのですが、同じにしておいた方が解り易いと思います。
・仮想ディレクトリ cgi-bin で CGI と ISAPI モジュールを有効にする
仮想ディレクトリ cgi-bin
ができたら [ハンドラーマッピング] をダブルクリックします。
[機能のアクセス許可の編集] をクリックします。
読み取り
のチェックを外し、実行
にチェックを入れます。
これで cgi-bin
フォルダで CGI と ISAPI モジュールが使えるようになりました。逆に cgi-bin
フォルダにある静的ファイルはブラウザで閲覧できなくなりました。
■ CGI モジュールのテスト
Delphi で作った CGI モジュール (*.exe) を実フォルダ %SystemDrive%\inetpub\cgi-bin\
に吐くようにするか、モジュールをコピーし、http://localhost/cgi-bin/<CGI モジュール名>
をブラウザで開きます。
■ ISAPI モジュールのテスト
Delphi で作った ISAPI モジュール (*.dll) を実フォルダ %SystemDrive%\inetpub\cgi-bin\
に吐くようにするか、モジュールをコピーし、http://localhost/cgi-bin/<ISAPI モジュール名>
をブラウザで開きます。
■ ISAPI DLL を利用する際の注意点
64bit Windows 用に用意されている IIS は 64bit アプリケーションなので、ISAPI モジュール (DLL) も 64bit でビルドする必要があります。
・IIS (64bit) で 32bit ISAPI モジュールを使うには?
過去に作られた 32bit ISAPI モジュールをテスト目的で動かしたい事があるかもしれません。
IIS (64bit) で 32bit ISAPI モジュールを使うには [アプリケーションプール] の詳細設定で 32 ビットアプリケーションの有効化
を True に設定します。
おわりに
簡単に IIS のインストール方法と設定を紹介してみました。Delphi の関連書籍にも IIS の設定方法が載っていたりするのですが、多くの場合バージョンが古く現在のものとは設定方法が異なっています。
追記: 2025/08/30
DocWiki にも詳細が (多分) ないので
あったわ!!これ、WebBroker のチュートリアルに入れとけばいいのに。
書き忘れがあったら後で追記します。