Microsoft Windows の Web サーバ
このセクションでは、Windows を実行しているシステムで Microsoft および Apache の Web サーバを手動で構成する方法について説明します。
Caché のインストール時に、CSP で動作するように各自の Web サーバを構成するためのオプションを選択できます。ほとんどのユーザはこれを行います。Caché のインストール時にこのオプションを選択しなかった場合は、Caché のインストールを再実行して、CSP ゲートウェイ・コンポーネントのみをインストールできます。Caché のインストール時に Web サーバの構成を選択しなかった場合は、CSP で動作するように Web サーバを手動で構成できます。Windows を実行しているシステムで Web サーバを手動で構成するには、この章の手順を使用します。
この章では、IIS 7 (および以降のバージョン)、IIS 6、Apache の各 Web サーバの最も一般的な構成について説明します。他の一般的でない構成オプションについては、付録 "Microsoft Windows の代替構成" で説明しています。
-
IIS Web サーバを使用している場合は、この章の指示に従って構成します。最初に、“Microsoft IIS の全バージョン” セクションの各手順を実行します。次に、“Microsoft IIS 7” または “Microsoft IIS 6” のいずれかの該当セクションに従います。
-
Apache Web サーバを使用している場合は、この章の指示に従って、ネイティブ・モジュール を使用して Apache を構成します。ネイティブ・モジュールとは、ダイナミック・リンク・モジュール (DLL) として実装された拡張機能です。これを介することで、Microsoft Web サーバ用に開発された高性能 API である ISAPI (Internet Server Application Programming Interface) の拡張機能を利用できます。
Microsoft IIS の全バージョン
Web サーバとして IIS を使用している場合、このセクションの各手順を実行します。
構成の概要
以下の手順に従って、IIS (全バージョン) の Web サーバを構成します。
-
ゲートウェイ・コンポーネントに対する許可を設定します。 詳細は、“ゲートウェイ・コンポーネントに対する許可の設定” を参照してください。
-
CSP アプリケーション・パスを構成します。詳細は、“CSP アプリケーション・パスの構成” のセクションを参照してください。
-
/bin を含む URL を有効化します。
詳細は、“/bin を含む URLの有効化” を参照してください。
-
各自の Web サーバを取り上げているセクションに移ります。IIS 7 以降を使用している場合は、“Microsoft IIS 7” のセクションを参照してください。IIS 6 を使用している場合は、“Microsoft IIS 6” のセクションを参照してください。一般的でない構成の場合、付録 "Microsoft Windows の代替構成" を参照してください。
ゲートウェイ・コンポーネントに対する許可の設定
選択した CSP ゲートウェイ構成オプションに関係なく、標準の IIS ドキュメント・ルート (例 : C:\inetpub\wwwroot) 以外の場所に保持されている Web リソースに適切な許可を割り当てる必要があります。
既定では、IIS 7 は Web アプリケーションのユーザに対して、あらかじめ構成されたドキュメント・ルートの範囲外にあるものへのアクセスを一切許可しません。ただし、以下のユーザまたはグループに対して、このような外部リソースへの読み取りと実行および書き込み許可を割り当てている場合は例外です。
[machine_name]\IIS_IUSRS
および、
[machine_name]\Users
IIS_IUSRS は IIS ワーカ・プロセスが動作するユーザ (グループ) を表していることに注意してください。これは基本的に、IIS の旧バージョンで使用されていた IUSR_[machine_name] に替わるものです。IIS を通じてコントロールされるアプリケーション (CSP ゲートウェイなど) は、IIS_IUSRS に割り当てられた特権のレベルで動作します。
CSP では、Web サーバのルートの外側にあるリソースには、通常、以下のものがあります。
ゲートウェイのバイナリ・コンポーネント :
C:\inetpub\CSPGateway
静的ファイル・コンポーネント :
\cache-install-dir\CSP\
Windows エクスプローラ経由でこれらのフォルダに手動で特権を割り当てるには、以下の手順に従って操作します。
-
フォルダ名を右クリックし、[プロパティ] を選択します。
-
[セキュリティ] タブを選択します。
-
[編集] を選択します。
-
[追加] を選択します。
-
[選択するオブジェクト名を入力してください] テキスト・ボックスに以下のように入力します。
[machine_name]\IIS_IUSRS
-
[名前の確認]、[OK] の順に選択します。
-
[グループまたはユーザー名] ウィンドウで [[machine_name]\IIS_IUSRS] を選択してから、以下の操作を実行します。
-
[許可] ウィンドウで [読み取りと実行] および [書き込み] 許可を割り当てます。
-
[適用]、[OK] の順に選択します。
-
[[machine_name]\Users] ユーザ・グループについて、上記の処理を繰り返します。
IIS の以前のバージョンと同様、ゲートウェイの構成ファイルとイベント・ログ・ファイル (CSP.ini および CSP.log) に対する完全な読み取りおよび書き込み許可を IIS ユーザ・グループに割り当てる必要があります。例えば、Windows のコマンド・プロンプトで、以下を入力します。
cacls CSP.ini /E /G IIS_IUSRS:F
cacls CSP.log /E /G IIS_IUSRS:F
もちろん、この操作は Windows エクスプローラ経由でもできます。
CSP アプリケーション・パスの構成
このセクションでは、IIS で SCP アプリケーション・パス (/csp など) を構成するための手順について説明します。これらの手順は、ISS のすべての CSP ゲートウェイ構成オプションに共通です。
以前のバージョンと同様、IIS の構成には [インターネット インフォメーション サービス (IIS) マネージャ] コントロール・パネルを使用します。ドキュメント・ルートの下で構成したサブディレクトリは、[Virtual] または [Application] に分類されます。[Virtual] サブディレクトリ (または、エイリアス) は物理的な同等物 (Windows のディレクトリ) にマップされます。同じことは Applications に分類されたサブディレクトリにもいえますが、ただし、物理的な同等物が定義できる他、アプリケーションを特定のアプリケーション・プール (既定は DefaultAppPool) に関連付けられるという点が異なります。
CSP アプリケーションには CSP ゲートウェイを通じてサービスが提供されるので、ホスト・サブディレクトリ (/csp など) は Applications として構成する必要があります。
既定の CSP 構成では、/csp アプリケーション・パスは物理位置 install-dir\CSP にマップされます。静的ファイルはすべて、このルートの下 (\csp\broker…) に置かれます。
-
[インターネット インフォメーション サービス (IIS) マネージャ] を開きます。
-
左側のパネルで、最上位レベルを展開して [Web サイト] セクション、[既定の Web サイト] セクションの順に表示します。[既定の Web サイト] セクションをハイライト表示します。
[MACHINE_NAME] ([machine_name]\[user_name]) Web Sites Default Web Site
-
右側のパネルで、[アプリケーションの表示] を選択します。
-
もう一度、右側のパネルで、[アプリケーション追加] を選択します。
-
[アプリケーション追加] ダイアログに以下のように入力します。
エイリアス : csp
物理パス : install-dir\CSP\
-
[OK] を選択します。
一般的ではないオプションに基づく CSP ゲートウェイ・ソリューションを使用している場合は、/csp アプリケーションの下に /bin というアプリケーションをセットアップします。ゲートウェイ・バイナリを保持している物理ディレクトリにこれをマップします。以下はその例です。
アプリケーション /csp/bin を C:\inetpub\CSPGateway にマップします。
/bin を含む URLの有効化
Caché インストーラを使用して CSP ゲートウェイをインストールしている場合、この手順は自動的に実行されています。 CSP ゲートウェイを手動でインストールする場合には、この手順を実行する必要があります (詳細およびこの手順に代わる方法については、次の外部 Web サイト http://weblogs.asp.net/owscott/archive/2008/03/05/iis7-blocks-viewing-access-to-files-in-bin-and-other-asp-net-folders.aspxOpens in a new tabを参照)。/bin を含む URL を有効にするには、applicationHost.config ファイルに以下の位置タグを追加します。
<location path="sitename.com/subfolder/bin/debug">
<system.webServer>
<security>
<requestFiltering>
<hiddenSegments>
<remove segment="bin" />
</hiddenSegments>
</requestFiltering>
</security>
</system.webServer>
</location>
IIS の再起動
このセクションでは、各種コントロール・パネル経由で IIS を再起動したときに何が起こるかについて説明します。
アクティブな IIS インストールに対する構成変更の大半はリアルタイムで行うことができます。しかし、[インターネット インフォメーション サービス (IIS) マネージャ] コントロール・パネルには停止、開始、および再起動オプションが用意されています。これらのオプションは Web サーバ構成の更新には便利ですが、その結果、アクティブ・ゲートウェイの再初期化が行われることはありません (つまり、ゲートウェイの DLL は再ロードされません)。
従来のバージョンの IIS と同様、ゲートウェイ・モジュールを再ロードするために IIS を強制的に再起動する場合、メインの [サービス] コントロール・パネル経由で World Wide Web Publishing サービスを再起動する必要があります。
トラブルシューティング
このセクションでは、IIS で使用するためにサードパーティ・モジュール (ネイティブ・モジュールおよび ISAPI モジュールの両方) を構成しているときによく発生する問題について説明します。
最もよく発生する問題は、再構成後、IIS への要求が失敗し、以下のエラーが表示されるというものです。
Service Unavailable
HTTP エラー 503。サービスを利用できません。
これは通常、既定のアプリケーション・プールが終了していることを示します。
-
[インターネット インフォメーション サービス (IIS) マネージャ] ウィンドウを開きます。
-
左側のパネルで、最上位レベルを展開します。[アプリケーション プール] セクションが表示されます。
[MACHINE_NAME] ([machine_name]\[user_name])
[アプリケーション プール]
-
既定のアプリケーション・プール (DefaultAppPool)、またはサーバで使用が構成されているアプリケーション・プールのステータスが [開始] になっていることを確認します。
-
必要に応じて、右側のパネルのオプションを使用して、アプリケーション・プールを再開します。
-
それでも問題が解決されない場合は、メインの Windows イベント・ログの [アプリケーション] セクションを見て、ヒントを探してください。特に、次のエラー・メッセージを確認してください。
Failed to find the RegisterModule entrypoint in the module DLL C:\inetpub\CSPGateway\CSPms.dll.The data is the error.
例えば、これは、使用しているバージョンのゲートウェイ DLL が、このネイティブ・モジュール・インタフェースを実装していないことを示します。InterSystems から最新の DLL を入手するか、または従来の ISAPI インタフェースで動作するようにゲートウェイを構成します。
すべてのソフトウェアと同様、一時的な問題が再起動により解決されることはよくあります。IIS を完全に再起動するには、メインの Windows サービス・コントロール・パネルから World Wide Web Publishing サービスを再起動します。
ファイル拡張子をマップするのにワイルドカードスクリプトマップの追加ユーティリティを使用してしないでください。使用すると、「このハンドラーに対して指定されたモジュールが、モジュールの一覧にありません。スクリプト マップ ハンドラー マッピングを追加する場合は、モジュールの一覧に IsapiModule または CgiModule が存在している必要があります。」というエラーが発生する可能性があります。 代わりに、モジュールマップの追加を使用し、ワイルドカードを指定してファイル拡張子をマップしてください。
/bin を含む URL が機能しない場合には、“/bin を含む URLの手動による有効化の手順” を参照してください。
Microsoft IIS 7 以降
このビルドでは、Microsoft ISAPI 拡張 (CSPms.dll、CSPmsSys.dll、および CSPcms.dll) は IIS 7 のネイティブ・モジュール・インタフェースに直接作用できるように構成されています。これは、Windows Vista および Windows Server 2008 で提供されている Web サーバです。
用意されているゲートウェイ・モジュールは、IIS 7 のネイティブ・モジュールで動作できます。また、ISAPI 拡張でも使用できます。 NSD を使用しているユーザ用に追加の構成オプションがあります。 このセクションでは、ネイティブ・モジュールで動作するように IIS 7 Web サーバを構成する方法を説明します。 付録 "Microsoft Windows の代替構成" には、その他の構成のための IIS 7 構成方法についての情報を記載しています。
IIS 7 のインストール場所
以下の CSP ゲートウェイのコンポーネントおよび CSP 静的ファイルをインストールします。
-
ネイティブ・モジュールの既定の場所
-
CSPms.dll (実行時モジュール)
-
CSPmsSys.dll (システム管理モジュール)
これらのモジュールの既定の場所は以下のとおりです。
C:\Inetpub\CSPGateway
NSD ベース以外の接続オプションの場合、構成ファイル (CSP.INI) とイベント・ログ (CSP.LOG) はこのディレクトリに書き込まれます。
-
-
ハイパーイベントのコンポーネント
-
CSPBroker.js
-
CSPxmlhttp.js
これらのファイルの既定の場所は以下のとおりです。
C:\cache-install-dir\csp\broker
-
-
CSP サンプルで使用するその他の静的リソース
CSP サンプルでは、(イメージ・ファイルなど) いくつかの静的な Web リソースが必要になります。これらのファイルの既定の場所は以下のとおりです。
C:\cache-install-dir\csp\samples
-
管理ポータルで使用するその他の静的リソース (Caché v5.1 以降)
管理ポータルでは、(イメージ・ファイルなど) いくつかの静的な Web リソースが必要になります。これらのファイルの既定の場所は以下のとおりです。
C:\cache-install-dir\csp\sys
推奨オプション : ネイティブ・モジュールの使用 (CSPms*.dll)
これは最も多く使用されている推奨オプションです。これには、IIS 7 に用意されている新しいネイティブ・モジュール・インタフェースを使用します。このオプションでは最適なパフォーマンスが得られます。
ISAPI または NSD を使用する他の構成オプションについては、付録 "Microsoft Windows の代替構成" を参照してください。
CSP 要求 (ファイル・タイプ .csp、.cls、および .zen) を認識し、それらを CSP ゲートウェイに渡して処理するように、ネイティブ・モジュールの登録および Web サーバの構成を行います。インストールで必要となる可能性のある追加ファイル (例えば、DeepSee に必要な特別な CSP リソース) をすべて含めます。
ネイティブ・モジュールの登録
DLL : CSPms.dll および CSPmsSys.dll
これらのモジュールを使用できるようにするには、まず IIS に登録する必要があります。これは、[インターネット インフォメーション サービス (IIS) マネージャ] コントロール パネルで行います。
-
[インターネット インフォメーション サービス (IIS) マネージャ] ウィンドウを開きます。
-
左側のパネルで、[MACHINE_NAME] ([machine_name]\[user_name]) をハイライト表示します。
-
中央のパネルで、[モジュール] アイコンをダブルクリックします
-
右側のパネルで、[ネイティブ モジュールの追加] (または [ネイティブ モジュールの構成]) を選択します (正確な表現は使用中の IIS のビルドによって異なります)。
-
[登録] を選択し、[ネイティブ モジュールの登録] ダイアログに以下を入力します。
名前 : CSPms
パス : C:\inetpub\CSPGateway\CSPms.dll
[OK] を選択します。
-
左側のパネルで、最上位レベルを展開し、[Web サイト]、[既定の Web サイト] の順に展開します。[既定の Web サイト] をハイライト表示します。
[MACHINE_NAME] ([machine_name]\[user_name]) Web Sites Default Web Site
-
右側のパネルで、[ネイティブ モジュールの追加] を選択します。
-
[CSPms] を選択して、[OK] を選択します。
CSP ファイル拡張子のマップ
ここでのファイル拡張子のマッピング処理で、ワイルドカードスクリプトマップの追加ユーティリティを使用しないでください。使用した場合はエラーとなります。代わりに、モジュールマップの追加というユーティリティを使用します。
以下のように、CSP ファイル拡張子を CSP ゲートウェイのネイティブ・モジュールにマップします。
拡張子 | ネイティブ・モジュール | バイナリ |
---|---|---|
*.csp | CSPms | C:\inetpub\CSPGateway\CSPms.dll |
*.cls | CSPms | C:\inetpub\CSPGateway\CSPms.dll |
*.zen | CSPms | C:\inetpub\CSPGateway\CSPms.dll |
*.cxw | CSPms | C:\inetpub\CSPGateway\CSPms.dll |
-
[インターネット インフォメーション サービス (IIS) マネージャ] ウィンドウを開きます。
-
左側のパネルで、最上位レベルを展開し、[Web サイト]、[既定の Web サイト] セクションの順に展開します。[既定の Web サイト] をハイライト表示します。
[MACHINE_NAME] ([machine_name]\[user_name]) Web Sites Default Web Site
Note:これによって、Web サイト全体に対して CSP が有効になります。特定の仮想サブディレクトリ (/csp/ など) に CSP の使用を制限するには、マッピングを作成する前に ([既定の Web サイト] の下の) 適切なサブディレクトリにコントロールをフォーカスします。CSP のコンテンツを処理するそれぞれの仮想サブディレクトリについて、この手順を繰り返してください。
-
中央のパネルで、[ハンドラ マッピング] アイコンをダブルクリックします。
-
右側のパネルで、[モジュール マップの追加] を選択します。
-
[モジュール マップの追加] ダイアログに以下の詳細を入力します。
要求パス : *.csp
モジュール : (ドロップダウン・リストから [CSPms] を選択します)
名前 : CSPGateway_csp
-
[要求の制限] を選択し、[要求がマップされている場合のみハンドラを呼び出す] の横にあるボックスにチェックが付けられていないことを確認します。
-
[OK] を選択して [モジュール マップの追加] ダイアログに戻り、もう一度、[OK] を選択します。
-
以上の手順を繰り返し、以下のモジュール・マップを追加します。
要求パス : *.cls
モジュール : (リストから [CSPms] を選択します)
名前 : CSPGateway_cls
要求パス : *.zen
モジュール : (リストから [CSPms] を選択します)
名前 : CSPGateway_zen
要求パス : *.cxw
モジュール : (リストから [CSPms] を選択します)
名前 : CSPGatewayManagement
CSP へのファイルの種類の追加登録
CSP により処理されるファイルの種類を追加構成するには、通常のファイル拡張子 (.csp、.cls、.zen) 用に作成された構成を新しいファイル拡張子用に複製します。
CSP ゲートウェイを経由して他の静的ファイルを処理する必要がある場合、またはこの Web サーバを経由して管理ポータルにアクセスする必要がある場合は、ファイルの .jpg、.gif、.png、.css、.js の各種類に対してマッピングを追加します。
すべてのファイルに対する要求を、指定されたパスの CSP にマップするには、このパスについて、以下のワイルドカードをセットアップします。
拡張子 | ネイティブ・モジュール | バイナリ |
---|---|---|
* | CSPms | C:\inetpub\CSPGateway\CSPms.dll |
ゲートウェイの運用および管理
CSP ゲートウェイのシステム管理スイートへアクセスするには、ブラウザで以下の場所を指定します。
http://<ip_address>/csp/bin/Systems/Module.cxw
.csp、.cls、および .zen 拡張子を含むファイルが要求されると、CSP エンジンが自動的に呼び出されます。以下はその例です。
http://<ip_address>/csp/samples/menu.csp
承認されていないユーザであることを通知するエラー・メッセージが表示された場合は、“CSP ゲートウェイとセキュリティ” のセクションにあるセキュリティに関するメモを参照してください。
SOAP フォルトの詳細を返すための IIS の構成
エラーが発生している Caché Web サービスは、関連する SOAP フォルトの詳細を含めずに HTTP 500 エラーを返すことがあります。既定では、IIS は広範なエラー情報をローカル・クライアントに対してのみ返します。 しかし、構成ファイル web.config 内の <httpErrors> 要素でこの動作を変更できます。変更するには、以下のセクションを追加して、詳細なエラー情報をすべてのクライアントに配信するように IIS に指示します。
<configuration>
<system.webServer>
<httpErrors errorMode="Detailed" />
</system.webServer>
</configuration>
ホスト環境に関する機密情報がクライアントに公開されることがあるため、この方法を使用する場合は注意が必要です。 errorMode="Detailed" の使用に関するセキュリティ上の問題を回避する代わりの方法は、existingResponse="PassThrough" 指示文を使用することです。
<configuration>
<system.webServer>
<httpErrors existingResponse="PassThrough" />
</system.webServer>
</configuration>
構成の変更後に、IIS を再起動します。
これらの変更は、IIS web.config ファイルに対して手動で行うことができます。または、より適切で、エラーの発生が少ない方法を選択するには、IIS マネージャに組み込まれている構成エディタ を使用します。
-
IIS マネージャの左側の [接続] パネルから、Web サービスに対応するパスを選択します。 例 :[既定の Web サイト] の後に csp を選択。
-
中央のパネル下部の [管理] という見出しのセクションで、[構成エディタ] をダブルクリックします。
-
[セクション] のラベルが付いた上部の [構成エディタ] ドロップダウンで、system.webServer を展開し、[httpErrors] をクリックします。
-
[existingResponse] の横にある値をクリックし、ドロップダウンを使用してオプションを表示します。 [PassThrough] を選択します。
-
右側の [アクション] ペインで、[適用] をクリックします。
-
構成の変更後に、IIS を再起動します。
IIS でのエラー処理の詳細は、以下を参照してください。
http://www.iis.net/configreference/system.webserver/httperrorsOpens in a new tab
Microsoft IIS 6 以前
IIS はサーバ指向の Windows オペレーティング・システム (Windows NT Server、2000、2003 など) に搭載されています。Windows XP Professional は、主としてクライアント指向オペレーティング・システムですが、IIS サーバも搭載しています。Windows XP Home エディションには、Web サーバは搭載されていません。
このドキュメントでは、CSP ゲートウェイ・コンポーネントを以下のディレクトリにインストールすると仮定します。
C:\Inetpub\CSPGateway
CSP ゲートウェイ Web サーバ・コンポーネントを別のディレクトリにインストールする場合、この後のセクションの指示を適宜修正してください。
IIS 6 のインストール場所
以下の CSP ゲートウェイのコンポーネントおよび CSP 静的ファイルをインストールします。
-
ネイティブ・モジュール
-
CSPms.dll (実行時モジュール)
-
CSPmsSys.dll (システム管理モジュール)
上記のモジュールの既定の場所は次のとおりです。
C:\Inetpub\CSPGateway
NSD ベース以外の接続オプションの場合、構成ファイル (CSP.INI) とイベント・ログ (CSP.LOG) はこのディレクトリに書き込まれます。
-
-
ハイパーイベントのコンポーネント
-
CSPBroker.js
-
CSPxmlhttp.js (Caché バージョン 5.1 以上)
これらのファイルの既定の場所は以下のとおりです。
C:\cache-install-dir\csp\broker
-
-
CSP サンプルで使用するその他の静的リソース
CSP サンプルでは、(イメージ・ファイルなど) いくつかの静的な Web リソースが必要になります。これらのファイルの既定の場所は以下のとおりです。
C:\cache-install-dir\csp\samples
-
管理ポータルで使用するその他の静的リソース (Caché v5.1 以降)
管理ポータルでは、(イメージ・ファイルなど) いくつかの静的な Web リソースが必要になります。これらのファイルの既定の場所は以下のとおりです。
C:\cache-install-dir\csp\sys
推奨オプション : IIS および ISAPI モジュール (CSPms.dll)
IIS Web サーバで ISAPI モジュールを使用している場合、このセクションの指示に従います。
CSP 要求 (ファイル・タイプ .csp、.cls、および .zen) を認識し、それらを CSP ゲートウェイに渡して処理するように Web サーバを構成します。
ISAPI を使用する Internet Information Service
ISAPI モジュールを使用していずれかのバージョンの IIS を実行している場合、以下の手順に従います。
-
[インターネット サービス マネージャ] を開きます。これは、大半のバージョンの Windows では [管理ツール] にあります。
-
[Web サイト] フォルダを展開し、[既定の Web サイト] を選択します。
-
[既定の Web サイト] を右クリックして、[プロパティ] を選択します。
-
[ホーム ディレクトリ] タブを選択します。
-
[構成] を選択します。
-
[マッピング] タブを選択します。
-
[追加] を選択して [アプリケーションの拡張子マッピングの追加/編集] ダイアログ・ボックスを表示し、以下のレコードを追加します。
-
実行可能ファイル : \Inetpub\CSPGateway\CSPms.dll
-
拡張子 : csp
-
動詞 : [すべての動詞] を選択
-
[スクリプト エンジン] チェック・ボックス : 選択
-
[ファイルの存在を確認する] チェック・ボックス : チェックを外す
-
-
以上の手順を繰り返し、以下のレコードを追加します。
-
実行可能ファイル : \Inetpub\CSPGateway\CSPms.dll
-
拡張子 : cls
-
動詞 : [すべての動詞] を選択
-
[スクリプト エンジン] チェック・ボックス : 選択
-
[ファイルの存在を確認する] チェック・ボックス : チェックを外す
-
-
以上の手順を繰り返し、以下のレコードを追加します。
-
実行可能ファイル : \Inetpub\CSPGateway\CSPms.dll
-
拡張子 : zen
-
動詞 : [すべての動詞] を選択
-
[スクリプト エンジン] チェック・ボックス : 選択
-
[ファイルの存在を確認する] チェック・ボックス : チェックを外す
-
-
以上の手順を繰り返し、以下のレコードを追加します。
-
実行可能ファイル : \Inetpub\CSPGateway\CSPms.dll
-
拡張子 : cxw
-
動詞 : [すべての動詞] を選択
-
[スクリプト エンジン] チェック・ボックス : 選択
-
[ファイルの存在を確認する] チェック・ボックス : チェックを外す
-
-
[インターネット インフォメーション サービス] に戻り、再度 [既定の Web サイト] を選択します。
-
[既定の Web サイト] を右クリックし、[新規作成] をポイントして、[仮想ディレクトリ] を選択します。以下の情報を使用して、仮想ディレクトリを作成します。
-
エイリアス : csp
-
ディレクトリ : install-dir\csp
-
アクセス権 : [実行] チェック・ボックスを選択します。
-
-
変更内容を適用するには、[保存] を選択し、IIS を再起動します。
ISAPI を使用する Internet Information Service v6
IIS 6 を実行している場合、前述のセクションとこのセクションの指示に従います。
このバージョンの IIS は、Windows Server 2003 に付属しています。このサーバで動作するように CSP を構成するには、CSP ゲートウェイ ISAPI DLL (CSPms.dll と CSPmsSys.dll) を、許可された Web サービス拡張として登録します。
ゲートウェイのモジュールは ISAPI 拡張なので、これを ISAPI フィルタとして登録するのは間違いです。ISAPI フィルタとしてこのモジュールを登録すると、CSP は機能しません。
-
[インターネット サービス マネージャ] を開きます。
-
[Web サービス拡張] に移動します。右側のパネルに、現在構成されている拡張 (またはアプリケーション) が一覧表示されます。
-
[Web サービス拡張] を右クリックし、[新しい Web サービス拡張を追加] を選択します。
-
[拡張名] フィールドに「CSP Gateway」と入力します。
-
[追加] を選択します。
-
CSPms.dll を追加します (この DLL の完全な物理パスを指定してください)。CSPmsSys.dll (ゲートウェイ・ビルド 999 以前) についても、同様の手順を繰り返します。
-
[拡張の状態を許可済みに設定する] チェック・ボックスにチェックを付けます。
-
[OK] を選択します。
すべての ISAPI 拡張 ([すべての不明な ISAPI 拡張]) へのユーザ・アクセスを許可するオプションもあります。このオプションを有効にすると、CSP ゲートウェイの ISAPI モジュールに自動的にアクセスできるようになります。ただし、セキュリティを維持するために、上記の手順に従って、その他のアクセス許可を CSP ゲートウェイ・モジュールのみに付与することをお勧めします。
その後、登録した Web サービス拡張について、さらに以下の操作を実行できます。IIS 6 では、CSP へのアクセスを無効にできます。
CSP ウェブゲートウェイ管理ページへのアクセスを禁止するには
管理ポータルから利用できる CSP ウェブゲートウェイ管理ページへのアクセスを禁止するには、以下の手順を使用します。この手順を実行すると、承認されていないユーザは、実行中のシステムの CSP ウェブゲートウェイ管理ページにアクセスできなくなります。これは、ゲートウェイの構成を変更する目的で、システム管理者が将来のアクセスを再度有効にするための簡単な方法です。
-
[インターネット サービス マネージャ] を開きます。
-
[Web サービス拡張] に移動すると、右側のパネルに、現在構成されている拡張 (またはアプリケーション) が一覧表示されます。
-
右側のウィンドウで [CSP ゲートウェイ] をダブルクリックし、[Web サービス拡張のプロパティ] ウィンドウを表示します。
-
[必要なファイル] タブを選択します。
-
CSPmsSys.dll を選択して、このファイルを選択します。
-
[禁止] を選択し、[適用]、[OK] の順に選択します。
また、ゲートウェイの構成を大きく変更している間に、エンドユーザによる CSP リソースへのアクセス取得を防止する場合にも、この手順が使用できます。その場合、システム管理モジュール (CSPmsSys.dll) ではなく、ゲートウェイの実行時モジュール (CSPms.dll) を "禁止" としてマークします。
CSP ゲートウェイのシステム管理モジュールへのアクセスを再び有効にするには、最後の手順で [禁止] ではなく [許可] を選択します。
ISAPI でのセキュリティの設定
多くの Windows のインストール環境では (特に Windows 2000 以降のバージョン)、IIS Web サーバに割り当てられる既定の権限は、CSP ゲートウェイが構成ファイル (CSP.ini) やログ・ファイル (CSP.log) の読み取りまたは書き込みあるいはその両方を実行するのに十分ではありません。
したがって、CSP ゲートウェイのファイルに対する読み取りと書き込みの権限を Web サーバに割り当てるか、Web サーバに Administrator 権限を付与する必要があります。これができない場合、CSP ウェブゲートウェイ管理ページで構成の変更を保存できない可能性があります。
ファイル・アクセス権限は、Windows エクスプローラで変更できます。または、コマンド・プロンプトで以下の 2 つのコマンドを使用することもできます。ただし、CSP.ini および CSP.log ファイルは、Web サーバでの使用が指定されているゲートウェイ・バイナリと同じディレクトリにあります。ISAPI では、これは通常 Inetpub です。
cacls c:\Inetpub\CSPGateway\CSP.ini /E /G IUSR_xxx:F
cacls c:\Inetpub\CSPGateway\CSP.log /E /G IUSR_xxx:F
IUSR_xxx は、Web サーバのユーザ権限です。通常、xxx の部分はコンピュータの名前です (正しい名前を見つけるには、以下の番号の付いた手順を参照してください)。
cacls コマンドの実行対象であるファイルが既に存在する必要があります。存在しない場合、(Windows の [コマンド プロンプト] ウィンドウまたは DOS ボックスで) copy con コマンドを使用して、空のファイルを作成します。
Copy con c:\Inetpub\CSPGateway\CSP.ini
^Z
Copy con c:\Inetpub\CSPGateway\CSP.log
^Z
各コマンド行はキャリッジ・リターンで終了します。^Z は copy コマンドを終了する Ctrl-Z を表します。
例 : 以下のコマンドを使用して、BOSTON という名前のコンピュータに対し、CSP ゲートウェイの構成とログ・ファイル・アクセス権を調整します。
cacls c:\Inetpub\CSPGateway\CSP.ini /E /G IUSR_BOSTON:F
cacls c:\Inetpub\CSPGateway\CSP.log /E /G IUSR_BOSTON:F
インターネット・サービス・マネージャで使用する特定の名前を検索するには、以下の手順で [認証方法] ダイアログ・ボックスに移動します。
-
[インターネット サービス マネージャ] を開きます。
-
[既定の Web サイト] に移動します。
-
[既定の Web サイト] を右クリックして、[プロパティ] を選択します。
-
[ディレクトリ セキュリティ] タブを選択します。
-
[匿名アクセスおよび認証コントロール] パネルの [編集] を選択します。[認証方法のユーザ名] ダイアログ・ボックスが表示されます。
CSP へのファイルの種類の追加登録
CSP により処理されるファイルの種類を追加構成するには、通常のファイル拡張子 (.csp、.cls、.zen) 用に作成された構成を新しいファイル拡張子用に複製します。
CSP ゲートウェイを経由して他の静的ファイルを処理する必要がある場合、またはこの Web サーバを経由して管理ポータルにアクセスする必要がある場合は、ファイルの .jpg、.gif、.png、.css、.js の各種類に対してマッピングを追加します。
すべてのファイルに対する要求を、指定されたパスの CSP にマップするには、このパスについて、以下のワイルドカードをセットアップします。
[実行可能ファイル] : | c:\cache-install-dir\csp\bin\CSPms.dll |
[拡張子] : | .* (ドット・アスタリスク) |
[すべての動詞] : | Check |
[スクリプト エンジン] : | Check |
[ファイルの存在を確認する] : | チェックを外す |
ご使用のオペレーティング・システムで上記の設定が機能しない場合は、以下の手順を実行します。
-
[インターネット サービス マネージャ] を開きます。
-
[既定の Web サイト] に移動して、[プロパティ] を選択します。
-
[ホーム ディレクトリ] タブを選択して、[構成] を選択します。
-
[マッピング] タブの下に、アスタリスクを挿入します。
-
[実行可能ファイル] で、[CSPms.dll] をクリックしてから、[ファイルの存在を確認する] のチェックを外します。
ISAPI を使用したゲートウェイの運用および管理
CSP ウェブゲートウェイ管理ページにアクセスするには、ブラウザに以下のいずれかの URL を入力します。
http://localhost:<port_no>/csp/bin/Systems/Module.cxw
http://localhost:<port_no>/csp/bin/CSPmsSys.dll.
承認されないユーザであることを通知するエラー・メッセージが表示された場合は、“セキュリティの考慮事項” を参照してください。
.csp や .cls で終わる名前のファイルが要求されると、CSP エンジンが自動的に呼び出されます。次に例を示します。
http://localhost:<port_no>/csp/samples/menu.csp
Apache サーバ
Apache は Apache グループによって提供されており、http://www.apache.orgOpens in a new tab から無料でダウンロードできます。
Apache の完全なソース・コードが、サーバの構築に関する明確な解説と共に Apache からダウンロード可能です。Apache を Windows で構築するには、Microsoft C コンパイラ (Visual C++) のバージョン 5.0 以降が必要です。サーバを自身で構築する代わりに、Windows 用のビルド済みキットをダウンロードできます。このビルド済みキットは通常、最新の Apache ソース・コードよりも数回前のビルドとなります。
このドキュメントでは、CSP ゲートウェイ・コンポーネントが以下のディレクトリにインストールされていると仮定します。
C:\Program Files\Apache Group\Apache\CSPGateway
Web サーバは、以下のディレクトリにインストールされていることが前提となっています。
C:\Program Files\Apache Group\Apache\
システムのレイアウトが異なる場合は、必要に応じて、この後のセクションにある構成指示文を修正してください。
最初に、“Apache サーバでのインストール場所 (すべてのオプション)” のセクションの指示に従い、次に “推奨オプション : Apache API モジュール (CSPa.dll)” のセクションの指示に従います。一般的ではない構成をインストールしている場合は、付録 "Microsoft Windows の代替構成" を参照してください。
Apache サーバでのインストール場所 (すべてのオプション)
Apache サーバのユーザはすべて、このセクションの指示に従う必要があります。
以下の CSP ゲートウェイのコンポーネントおよび CSP 静的ファイルをインストールします。
-
CGI およびその他のダイナミック・リンク・モジュール :
すべての Apache バージョンの共通ファイルには、以下のものがあります。
-
CSPcgi.exe (実行時モジュール)
-
nph-CSPcgi.exe (CSPcgi のコピー)
-
CSPcgiSys.exe (システム管理モジュール)
-
nph-CSPcgiSys.exe (CSPcgiSys のコピー)
Note:以下のように、Apache サーバのバージョンごとに別々のバイナリが存在します。
Apache バージョン 2.4.x
-
mod_csp24.dll (DLL として機能する Apache 組み込み momod_dule が用意されている場合はそれを使用)
-
CSPa24.dll (実行時モジュールが用意されている場合はそれを使用)
-
CSPa24Sys.dll (ゲートウェイのシステム管理モジュールが用意されている場合はそれを使用)
Apache バージョン 2.2.x
-
mod_csp22.dll (提供される場合は、DLL として機能する Apache 組み込み momod_dule)
-
CSPa22.dll (提供される場合は、実行時モジュール)
-
CSPa22Sys.dll (提供される場合は、ゲートウェイのシステム管理モジュール)
Apache バージョン 2.0.x
-
mod_csp2.dll (提供される場合は、DLL として機能する Apache 組み込みモジュール)
-
CSPa2.dll (提供される場合は、実行時モジュール)
-
CSPa2Sys.dll (提供される場合は、ゲートウェイのシステム管理モジュール)
これらのバイナリの既定の場所は以下のとおりです。
C:\Program Files\Apache Group\Apache\CSPGateway\bin
元の場所 (install-dir\csp\bin) は、特定の Caché インスタンスの管理ポータルの提供に必要なゲートウェイ・コンポーネントの保持に使用されます。
NSD ベース以外の接続オプションの場合、構成ファイル (CSP.INI) とイベント・ログ (CSP.LOG) はこのディレクトリに書き込まれます。
Sys が追加されたモジュールは、CSP ウェブゲートウェイ管理ページにアクセスするための特別なモジュールです。実行時モジュール (Sys が追加されていないモジュール) はシステム管理のフォームにアクセスできません。
-
-
ハイパーイベントのコンポーネント
-
CSPBroker.js
-
CSPxmlhttp.js
これらのファイルの既定の場所は以下のとおりです。
C:\cache-install-dir\csp\broker
-
-
CSP サンプルで使用するその他の静的リソース
CSP サンプルでは、(イメージ・ファイルなど) いくつかの静的な Web リソースが必要になります。これらのファイルの既定の場所は以下のとおりです。
C:\cache-install-dir\csp\samples
-
管理ポータルで使用するその他の静的リソース
管理ポータルでは、(イメージ・ファイルなど) いくつかの静的な Web リソースが必要になります。これらのファイルの既定の場所は以下のとおりです。
C:\cache-install-dir\csp\sys
推奨オプション : Apache API モジュール (CSPa24.dll)
これは管理ポータルを提供するプライベート Web サーバで使用するオプションです。
この比較的新しい接続オプションは、最適なパフォーマンスをもたらすだけでなく、構成が最も簡単です。Windows で実行する Apache は完全にマルチスレッド化されており、そのモジュールは Apache の起動後メモリに永続します。これら 2 つの重要な特性により、ゲートウェイの機能を一連のスタンドアロン・モジュールとして実装することができます。
一般的ではない構成をインストールしている場合は、"Microsoft Windows の代替構成" を参照してください。
CSPap24.dll (実行時) モジュールと CSPapSys24.dll (ゲートウェイのシステム管理) モジュールは、対応する Microsoft ISAPI DLL 同様に機能するように設計されたダイナミック・リンク・モジュールです。これらのモジュールには、以下のようにそれぞれの Apache バージョンに応じて名前が付けられています。
-
Apache 2.4.x : CSPa24.dll モジュールと CSPa24Sys.dll モジュールを使用します。
-
Apache 2.2.x : CSPa22.dll モジュールと CSPa22Sys.dll モジュールを使用します。
-
Apache 2.0.x : CSPa2.dll (実行時) モジュールと CSPa2Sys.dll モジュールを使用します。
CSP 要求 (ファイル・タイプ .csp、.cls、および .zen) を認識し、それらを CSP ゲートウェイ・モジュールに渡して処理するように Web サーバを構成します。
Web サーバ構成ファイル (httpd.conf) は以下のディレクトリにあります。
C:\Program Files\Apache Group\Apache\conf
-
Apache 2.4.x : 以下のセクションを、httpd.conf の最後に追加します。
LoadModule csp_module_sa c:/cache-install-dir/csp/bin/CSPa24.dll <Location "/csp/bin/Systems/"> SetHandler csp-handler-sa </Location> <Location "/csp/bin/RunTime/"> SetHandler csp-handler-sa </Location> CSPFileTypes csp cls zen cxw Alias /csp/ c:/cache-install-dir/csp/ <Directory "c:/cache-install-dir/csp"> AllowOverride None Options MultiViews FollowSymLinks ExecCGI Require all granted <FilesMatch "\.(log|ini|pid|exe)$"> Require all denied </FilesMatch> </Directory>
Apache 2.2.x : 以下のセクションを、httpd.conf の最後に追加します。
LoadModule csp_module_sa c:/cache-install-dir/csp/bin/CSPa22.dll <Location "/csp/bin/Systems/"> SetHandler csp-handler-sa </Location> <Location "/csp/bin/RunTime/"> SetHandler csp-handler-sa </Location> CSPFileTypes csp cls zen cxw Alias /csp/ c:/cache-install-dir/csp/ <Directory "c:/cache-install-dir/csp"> AllowOverride None Options MultiViews FollowSymLinks ExecCGI Order allow,deny Allow from all <FilesMatch "\.(log|ini|pid|exe)$"> Deny from all </FilesMatch> </Directory>
Apache 2.0.x : 上記のセクションを、CSPa2.dll を使用して httpd.conf の最後に追加します。
-
httpd.conf の変更後に、Apache を再起動します。
CSP へのファイルの種類の追加登録
Apache API モジュールは、以下の予約されたファイル拡張子を常に認識します。
.csp .cls .zen .cxw
この他のファイルを CSP に送信して処理できます。例えば、CSP ゲートウェイを経由して他の静的ファイルを処理する必要がある場合、またはこの Web サーバを経由して管理ポータルにアクセスする必要がある場合は、ファイルの .jpg、.gif、.png、.css、.js の各種類に対してマッピングを追加します。
以下の方法で、CSP に渡すファイルを Apache が認識するように構成できます。
-
CSP の Location 指示文の使用
-
ファイル拡張子の使用 — CSPFileTypes 指示文
-
MIME タイプの使用
CSP 指示文を使用して、特定の位置にあるすべてのファイルが CSP によって処理されるように要求します。 パス /csp の下にあるすべてのファイルとディレクトリが CSP によって処理されるように要求するには、以下のように指定します。
<Location /csp>
CSP On
SetHandler csp-handler-sa
</Location>
例えば、以下のファイルはすべて CSP に送信されて処理されます。
/csp/
csp/samples/menu.csp
csp/sys/
CSPFileTypes 指示文は、拡張子を持つファイル (/csp/menu.csp など) に対する要求に適用されます。 ファイル拡張子を持たないファイル (/csp/menu など) への要求には適用されません。
このパラメータは、ゲートウェイの Apache モジュールにより処理され、(httpd.conf の) サーバ定義レベルでグローバルに定義されるか、または位置もしくはディレクトリ・ブロックに対する定義内に制限されます。
ファイルの種類で指定: .xxx と . yyy の両方の種類のファイルが CSP によって処理されるように要求するには、以下の指示文のように指定します。
CSPFileTypes xxx yyy
位置で指定 : 以下の要求では、.xxx と .yyy の両方の種類のファイルが CSP によって処理されますが、/csp よりも下の位置 (例えば、/csp/samples などのサブ・ディレクトリ) にあるファイルに限られます。
<Location /csp/>
CSPFileTypes xxx yyy
</Location>
ワイルドカード文字を使用して、パス /csp の下 (および /csp/samples など) にあるすべてのファイルが CSP によって処理されるように要求するには、以下のように指定します。
<Location /csp/>
CSPFileTypes *
</Location>
CSP は、前述のファイル拡張子に加えて、以下の MIME タイプのファイルを認識することもできます。
application/x-csp
および
text/csp
例えば、CSP によって処理されるファイルのリストにファイル拡張子 xxx を追加するには以下のように指定します。
LoadModule csp_module_sa /cache-install-dir/csp/bin/CSPa24.dll
AddType application/x-csp csp cls zen xxx
MIME タイプを使用してファイルの種類を CSP と関連付けた場合の問題の 1 つに、リソースへのパス (ホスト・ディレクトリ) が物理的に存在することを Apache が確認し、存在しない場合には「ファイルが見つかりません」というエラーを返すことがあります。 しかし、要求されたファイルが物理的に存在することを保証するためのチェックは行われませんが、これは CSP によりサービスを受けるリソースには適切です。なぜならば、このようなリソースは Caché からサービスを受け、Web サーバからは仮想的なものだからです。 したがって、“MIME タイプによる指定” というアプローチは、アプリケーションのパス構造を Web サーバ上に複製できる場合のみ適しています。
Apache API を使用したゲートウェイの運用および管理
CSP ゲートウェイの CSP ウェブゲートウェイ管理ページにアクセスするには、ブラウザで以下を指定します。
http://localhost:<port_no>/csp/bin/Systems/Module.cxw
cxw ファイル拡張子を使用することに注意してください。この拡張子は、Apache が、Apache グループの ISAPI インタフェースを介して、これらの DLL をロードして実行しないようにします。また、Apache の場合、URL のパス名とファイル名で大文字と小文字が区別されることに注意してください。
承認されないユーザであることを通知するエラー・メッセージが表示された場合は、“セキュリティの考慮事項” を参照してください。
.csp、.cls、および .zen 拡張子を含むファイルが要求されると、CSP エンジンが自動的に呼び出されます。以下はその例です。
http://localhost:<port_no>/csp/samples/menu.csp
Nginx サーバ
Nginx はオープン・ソース製品です。ソース・コードは以下のサイトから無料でダウンロードできます。
http://nginx.org/Opens in a new tab
Windows 用の一部のビルド済みキットを入手できますが、通常、これは最新の Nginx ビルドよりもいくつか前のバージョンをビルドしたものです。 ただし、拡張子を Nginx コアにコンパイルする必要があるため、CSP のサポートを含めるには、Web サーバをソース・コードからローカルにビルドすることが必要です。
このドキュメントの説明は、以下のファイル・システムにインストールされている、CSP/ゲートウェイ Web サーバのコンポーネントに基づいています。
C:\cachesys\csp\
Web サーバは、以下のディレクトリにインストールされていることが前提となっています。
C:\nginx\
システムのレイアウトが異なる場合は、必要に応じて、この後のセクションで説明する構成指示文を修正してください。
インストール
以下の CSP ゲートウェイのコンポーネントおよび CSP 静的ファイルをインストールします。
-
動的にリンクされるユニバーサル CSP ゲートウェイ・モジュール
-
CSPx.dll (実行時モジュール)
-
CSPxSys.dll (ゲートウェイ・システム管理モジュール)
これらのバイナリの既定の場所は以下のとおりです。
C:\cachesys\csp\bin
構成ファイル (CSP.INI) とイベント・ログ (CSP.LOG) は、このディレクトリに記述されます。
Sys が追加されたモジュールは、CSP システム管理スイートにアクセスするための特別なモジュールです。 実行時モジュール (Sys が追加されていないモジュール) はシステム管理のフォームにアクセスできません。
-
-
ハイパーイベントのコンポーネント
-
CSPBroker.js
-
CSPxmlhttp.js
これらのファイルの既定の場所は以下のとおりです。
C:\cachesys\csp\broker
これらのファイルが静的コンポーネントとして Web サーバによって直接処理される場合は、以下の場所にコピーする必要があります。
C:\nginx\html\csp\broker
-
-
CSP サンプルで使用するその他の静的リソース
CSP サンプルでは、(イメージ・ファイルなど) いくつかの静的な Web リソースが必要になります。 これらのファイルの既定の場所は以下のとおりです。
C:\cachesys\csp\samples
これらが Web サーバによって直接処理される場合は、以下の場所にコピーします。
C:\nginx\html\csp\samples
-
Caché SMP で使用するその他の静的リソース
SMP では、(イメージ・ファイルなど) いくつかの静的な Web リソースが必要になります。 これらのファイルの既定の場所は以下のとおりです。
C:\cachesys\csp\sys
これらが Web サーバによって直接処理される場合は、以下の場所にコピーします。
C:\nginx\html\csp\sys
詳細は、"Cach Server Pages (CSP) の使用法" の "静的ファイル" のセクションを参照してください。
CSP のための Nginx Web サーバの構築
CSP ゲートウェイ機能のほとんどは、ユニバーサル・モジュール (CSPx[Sys].dll) によって提供されます。 CSP アクセスのために、小さなコンパイル済みモジュールを介してこれらのユニバーサル・モジュールと通信するように、Nginx を構築および構成することができます。
ngx_http_csp_module_sa.c
Nginx 構築の前提条件:
-
Microsoft Visual Studio (バージョン10 を推奨)。
-
MSYS (MinGW から)。
-
Perl (ActivePerl を推奨)。
-
Mercurial ソース・コントロール・クライアント。
ここで説明する構築手順は、Windows 下で Nginx を構築するための公式ドキュメントに基づいています。
http://nginx.org/en/docs/howto_build_on_win32.htmlOpens in a new tab
Nginx のドキュメントには、以下のサードパーティのアドオンが必要であると記載されています。
-
PCRE
-
OpenSSL
-
Zlib
ただし、最終インストールで、上記のコンポーネントによって提供される機能を必要としない場合は、これらのコンポーネントを使用しなくても充分に機能するサーバを作成することは可能です。
上記のオプションのモジュールすべてを含む、Nginx を構築するための既定の構成スクリプトは、以下のとおりです。
auto/configure --with-cc=cl --builddir=objs --prefix= \
--conf-path=conf/nginx.conf --pid-path=logs/nginx.pid \
--http-log-path=logs/access.log --error-log-path=logs/error.log \
--sbin-path=nginx.exe \
--http-client-body-temp-path=temp/client_body_temp \
--http-proxy-temp-path=temp/proxy_temp \
--http-fastcgi-temp-path=temp/fastcgi_temp \
--with-cc-opt=-DFD_SETSIZE=1024 --with-pcre=objs/lib/pcre-8.32 \
--with-zlib=objs/lib/zlib-1.2.7 \
--with-openssl=objs/lib/openssl-1.0.1e \
--with-select_module --with-http_ssl_module --with-ipv6
構築プロセスを以下のように変更して、オプションのモジュールを除外することもできます。
-
OpenSSL - SSL 機能を削除します。
指示文の削除:--with-http_ssl_module
-
Zlib - GZIP 機能を削除します。
指示文の追加:--without-http_gzip_module
-
PCRE - HTTP 書き換え機能を削除します。
指示文の追加:--without-http_rewrite_module
CSP のための Nginx の構築手順
-
MSYS シェルで作業を開始し、Nginx のドキュメントで推奨される作業ディレクトリ構造を作成します。
/opt/
-
/opt で作業して、以下のコマンドを使用して Nginx ソース・コードをチェック・アウトします。
hg clone http://hg.nginx.org/nginx
これにより、Nginx ソース・コードが /opt/nginx/ の下に配置されます。
-
CSP 拡張子に以下のディレクトリを作成します。
/opt/nginx/objs/lib/csp/
-
モジュールのソース・コード (ngx_http_csp_module_sa.c および cspapi.h) を、前の手順で作成したディレクトリにコピーします。
-
同じディレクトリ内に、config という名前の構成ファイルを作成します。 このファイルには、以下の行が含まれる必要があります。
ngx_addon_name=ngx_http_csp_module_sa HTTP_MODULES="$HTTP_MODULES ngx_http_csp_module_sa" NGX_ADDON_SRCS="$NGX_ADDON_SRCS $ngx_addon_dir/ngx_http_csp_module_sa.c"
-
/opt/nginx/ で作業し、Nginx 構築環境を構成します。
auto/configure --with-cc=cl --builddir=objs --prefix= \ --conf-path=conf/nginx.conf --pid-path=logs/nginx.pid \ --http-log-path=logs/access.log --error-log-path=logs/error.log \ --sbin-path=nginx.exe \ --http-client-body-temp-path=temp/client_body_temp \ --http-proxy-temp-path=temp/proxy_temp \ --http-fastcgi-temp-path=temp/fastcgi_temp \ --with-cc-opt=-DFD_SETSIZE=1024 --without-http_rewrite_module \ --without-http_gzip_module \ --with-select_module --with-ipv6 \ --add-module=objs/lib/csp
最後の行に、CSP モジュールをインクルードする指示が含まれることに注意してください。
-
Nginx のコンパイル:
nmake -f objs/Makefile
成功した場合、/opt/nginx/objs/ にサーバ (nginx.exe) が表示されます。
-
Nginx のインストール:
これを実行する最も簡単な方法は、まず Windows 用の Nginx の事前構築済みバージョンをダウンロードおよびインストールして、ディレクトリ構造 (通常 C:\nginx\) を取得し、次にそのインストール内の nginx.exe ファイルを、ローカルで作成したものと置き換えることです。
動作可能な Nginx インストールの通常のディレクトリ構造は、以下のとおりです。
Directory of C:\nginx 03/07/2013 09:09 <DIR> . 03/07/2013 09:09 <DIR> .. 26/06/2013 10:14 <DIR> conf 26/06/2013 10:14 <DIR> contrib 10/05/2014 12:53 <DIR> csp 26/06/2013 10:14 <DIR> docs 26/06/2013 10:14 <DIR> html 10/05/2014 15:57 <DIR> logs 04/07/2013 15:52 715,264 nginx.exe 26/06/2013 10:17 <DIR> scgi_temp 26/06/2013 10:17 <DIR> temp 26/06/2013 10:17 <DIR> uwsgi_temp
このディレクトリの nginx.exe のコピーを、構築手順で作成したバージョンで置き換えます。
ユニバーサル CSP ゲートウェイ・モジュール (CSPx*.dll) の使用
CSPx.dll (実行時) および CSPxSys.dll (ゲートウェイ・システム管理) ユニバーサル・モジュールは、CSP 対応 Nginx インストールによりロードされるよう設計されたダイナミック・リンク・モジュールです。
CSP 要求 (ファイル・タイプ .csp、.cls、および .zen) を認識し、それらを CSP ゲートウェイ・モジュールに渡して処理するように Web サーバを構成します。
Web サーバ構成ファイル (nginx.conf) は、以下のディレクトリにあります。
C:\nginx\conf
CSP 拡張子用に、以下の構成指示文が用意されています。
-
CSPModulePath
http セクション:ユニバーサル・ゲートウェイ・モジュールへのパス
-
CSP
server セクション:パス全体に対して CSP を有効化
-
CSPFileTypes
server セクション:特定のファイルの種類に対して CSP を有効化
Windows の場合、スレッド・スタック・サイズを 2MB まで増やす必要があります。 これを実行するには、以下の指示文を Nginx 構成ファイルの先頭 (http セクションの前) に追加します。
thread_stack_size 2000000;
以下の指示文を http 構成ブロック内に配置します。
CSPModulePath C:/cachesys/csp/bin/;
この指示文により、Nginx でユニバーサル・ゲートウェイ・モジュール (CSPx[Sys].dll) および関連付けられた構成 (CSP.ini) を見つけられるようになります。
これで、CSP への特定のパスに対するすべての要求、または特定のファイルの種類のみを渡すように Nginx を構成できます。
特定のパスに対する CSP の有効化
以下のセクションを適切な server 構成ブロック内に配置します。
location /csp {
CSP On;
}
CSP への特定のファイルの種類の登録
以下のセクションを適切な server 構成ブロック内に配置します。
location /csp {
CSPFileTypes csp cls zen cxw;
}
Nginx の起動および停止
最初に、Nginx にユニバーサル・ゲートウェイ・モジュール (C:/cachesys/csp/bin/) を保持する場所に対する読み取り/書き込み権限があることを確認してください。 これは、ゲートウェイの構成ファイルおよびイベント・ログ・ファイル (CSP.ini および CSP.log) が保持される場所です。
Nginx を起動する方法は、以下のとおりです。
C:\nginx\nginx
Nginx を停止する方法は、以下のとおりです。
C:\nginx\nginx –s stop
ゲートウェイの運用および管理
CSP ゲートウェイのシステム管理スイートへアクセスするには、ブラウザで以下の場所を指定します。
http://<ip_address>/csp/bin/Systems/Module.cxw
cxw ファイル拡張子を使用することに注意してください。
.csp、.cls、および .zen 拡張子を含むファイルが要求されると、CSP エンジンが自動的に呼び出されます。 次に例を示します。
http://<ip_address>/csp/samples/menu.csp
承認されないユーザであることを通知するエラー・メッセージが表示された場合は、このドキュメントの "セキュリティの考慮事項" を参照してください。
CSP NSD コンポーネントを使用する Nginx の構築
Nginx は、ユニバーサル・モジュール (CSPx[Sys].dll) ではなく、CSP ゲートウェイの Network Service Daemon コンポーネント (CSPnsd[Sv].exe) を使用するよう構築することができます。 これを行うには、構築および構成手順を以下のように変更します。
-
ソース・コード・モジュール ngx_http_csp_module_sa.c の代わりに ngx_http_csp_module.c を使用して Nginx を構築します。
-
CSP (/opt/nginx/objs/lib/csp/config) の構成ファイルは、以下のようになります。
ngx_addon_name=ngx_http_csp_module HTTP_MODULES="$HTTP_MODULES ngx_http_csp_module" NGX_ADDON_SRCS="$NGX_ADDON_SRCS $ngx_addon_dir/ngx_http_csp_module.c"
-
Nginx 構成から CSPModulePath 指示文を削除します。
-
NSD コンポーネントを開始します。
通常 NSD コンポーネントの使用が適しているのは、CSP ステート認識モード (保持モード) の完全で信頼できるサポートを得るためです。 ただし、Nginx で最適の結果を得るには、アプリケーションを完全にステートレスにすることをお勧めします。