Apache の代替オプション (Windows)
このページには、InterSystems Web ゲートウェイで使用するため、Microsoft Windows 上の Apache Web サーバでのインストールに関する情報が記載されています。それぞれのインストール環境に該当するセクションを参照してください。
このページでは、Microsoft Windows 用の追加の Apache 構成について説明します。これらのすべての構成を開始するには、最初のセクションをご覧ください。次に、それぞれのインストール環境に該当するセクションの指示に従います。
インストール場所 (すべての特殊オプション)
以下のモジュールがインストールされます。
-
CSPcgi.exe (実行時モジュール)
-
nph-CSPcgi.exe (CSPcgi.exe のコピー)
-
CSPcgiSys.exe (システム管理モジュール)
-
nph-CSPcgiSys.exe (CSPcgiSys.exe のコピー)
Note:
Apache バージョン 2.4.x の個別のバイナリは、次のとおりです。
-
mod_csp24.dll (DLL として機能する Apache 組み込み module が用意されている場合はそれを使用)
-
CSPa24.dll (実行時モジュールが用意されている場合はそれを使用)
-
CSPa24Sys.dll (提供される場合は、Web ゲートウェイのシステム管理モジュール)
これらのバイナリの既定の場所は以下のとおりです。
C:\Program Files\Apache Group\Apache\WebGateway\bin
元の場所 (install-dir\csp\bin) は、特定の InterSystems IRIS インスタンスの管理ポータルの提供に必要な Web ゲートウェイ・コンポーネントの保持に使用されます。
NSD ベース以外の接続オプションの場合、構成ファイルとログ・ファイルはこのディレクトリに書き込まれます。
Sys が追加されたモジュールは、Web ゲートウェイ・システム管理スイートにアクセスするための特別なモジュールです。実行時モジュール (Sys が追加されていないモジュール) はシステム管理のフォームにアクセスできません。
代替オプション 1 : NSD を使用した Apache および CGI モジュール (nph-CSPcgi.exe)
インターシステムズのファイル・タイプを認識し、それらを Web ゲートウェイに渡して処理するように Web サーバを構成します。
Web サーバ構成ファイル (httpd.conf) は以下のディレクトリにあります。
C:\Program Files\Apache Group\Apache\conf
以下のセクションを、httpd.conf の最後に追加します。
<LocationMatch "/*\.([Cc][Ss][Pp]|[Cc][Ll][Ss]|[Zz][En][Nn])$">
AllowOverride None
Options FollowSymLinks ExecCGI
Require all granted
</LocationMatch>
ScriptAliasMatch /*\.([Cc][Ss][Pp]|[Cc][Ll][Ss])$ "c:/iris/csp/bin/nph-CSPcgi.exe"
Alias /csp/ c:/iris/csp/
<Directory "c:/iris/csp">
AllowOverride None
Options MultiViews FollowSymLinks ExecCGI
Require all granted
<FilesMatch "\.(log|ini|pid|exe)$">
Require all denied
</FilesMatch>
</Directory>
ScriptAlias /csp-bin/ "c:/iris/csp/bin/"
ScriptAliasMatch /csp/bin/Systems/Module.cxw "c:/iris/csp/bin/nph-CSPcgiSys.exe"
ScriptAliasMatch /csp/bin/RunTime/Module.cxw "c:/iris/csp/bin/nph-CSPcgi.exe"
<Directory "c:/iris/csp/bin/">
AllowOverride None
Options None
Require all granted
<FilesMatch "\.(exe)$">
Allow from all
</FilesMatch>
</Directory>
上記の構成ブロックは、Apache 環境で利用できる正規表現 (regex) プロセッサに依存しています。このケースに相当しない場合 (特に Windows システム) は、結果として CSP ファイルは提供されません ("ファイルが見つかりません" というエラーが返されます)。この状況を解決するには、CSP ファイル拡張子で関連付ける代わりに、使用している Web アプリケーションの仮想ルート位置を CGI モジュールに関連付けます。例えば、使用している Web アプリケーションが /csp にあるとします。CSP CGI モジュールを /csp にあるファイルに関連付けるには、以下の手順に従います。
<LocationMatch "/*\.([Cc][Ss][Pp]|[Cc][Ll][Ss]|[Zz][En][Nn])$">
AllowOverride None
Options FollowSymLinks ExecCGI
Require all granted
</LocationMatch>
ScriptAliasMatch /*\.([Cc][Ss][Pp]|[Cc][Ll][Ss])$
"c:/iris/csp/bin/nph-CSPcgi.exe"
以下のブロックと置換します。
<Location "/csp">
AllowOverride None
Options FollowSymLinks ExecCGI
Require all granted
</Location>
ScriptAlias /csp "c:/iris/csp/bin/nph-CSPcgi.exe"
これらの指示文は、フォームの URL に対して作用します。
http://localhost:<port_no>/csp/*.csp
この構成ブロックを、他のルート位置で繰り返します。例えば、フォームの URL の /myapps に対して同様の処理を繰り返します。
http://localhost:<port_no>/myapps/*.csp
regex の問題を回避するには、CSP MIME タイプと組み合わせて Action 指示文を使用する方法もあります。ただし、Action はコンテンツに対するフィルタ技術なので、InterSystems IRIS サーバが別のコンピュータにインストールされている場合でも、CSP ファイルが物理的に Web サーバ・ホストに存在している必要があります。
この方法を使用するには、以下の手順に従います。
-
新規の MIME タイプを Apache の mime.types ファイルの最後に追加し、それをクラスを表すインターシステムズのファイル・タイプ (.csp、.cls、および .zen) に関連付けます。mime.types ファイルは、httpd.conf ファイルと同じディレクトリにあります。
text/csp csp cls
-
httpd.conf の CGI 構成ブロックの最後に、Action 指示文を次のように追加します。
Alias /csp/ c:/iris/csp/
<Directory "c:/iris/csp">
AllowOverride None
Options MultiViews FollowSymLinks ExecCGI
Require all granted
<Files CSPnsd.exe>
Require all denied
</Files>
<Files CSP.ini>
Require all denied
</Files>
<Files CSP.log>
Require all denied
</Files>
<Files CSPnsd.ini>
Require all denied
</Files>
<Files CSPnsd.pid>
Require all denied
</Files>
<FilesMatch "\.(log|ini|pid|exe)$">
Require all denied
</FilesMatch>
</Directory>
ScriptAlias /csp-bin/ "c:/iris/csp/bin/"
<Directory "c:/iris/csp/bin/">
AllowOverride None
Options None
Require all granted
</Directory>
Action text/csp “/csp-bin/nph-CSPcgi.exe”
最後に、CGI はオープン・スタンダードなので、CSP の CGI モジュールはすべての Web サーバで機能します。
-
httpd.conf の変更後に、Apache を再起動します。
Apache NSD を使用した Web ゲートウェイの運用および管理
この接続オプションは、Web ゲートウェイの Network Service Daemon (NSD) に依存します。
-
"NSD の操作" の説明に従って、CSP NSD を起動します。
-
Apache の構成 (httpd.conf) を変更した後、その Apache を再起動する必要があります。
Apache と NSD を起動する順序は重要ではありません。
-
Web ゲートウェイ管理ページにアクセスするには、ブラウザで以下の場所のいずれかを指定します。
http://localhost:<port_no>/csp/bin/Systems/Module.cxw
http://localhost:<port_no>/csp-bin/nph-CSPcgiSys
承認されないユーザであることを通知するエラー・メッセージが表示された場合は、"追加クライアント・アドレスからのアクセスの有効化" を参照してください。
代替オプション 2 : NSD を使用した Apache API モジュール (mod_csp24.dll)
Note:
この接続オプションは、オプション 1 で説明したスタンドアロンの API モジュールほど頻繁に使用されませんが、NSD を使用する必要がある場合に使用できます。DLL (Apache 2.4 の場合 — mod_csp24.dll) としてビルドされた CSP モジュールは、CGI ベースのソリューション (オプション 2) よりも高い性能を発揮します。
-
Apache 構成ファイル httpd.conf を編集します。標準の Apache では、このファイルは以下の場所に配置されています。
C:\Program Files\Apache Group\Apache\conf
拡張子が .csp、.cls、および .zen のファイルの CSP を呼び出すには、httpd.conf の最後に以下のセクションを追加します。Apache v2.4.x の場合、mod_csp24.dll を指定します。
LoadModule csp_module c:/iris/csp/bin/mod_csp24.dll
CSPFileTypes csp cls zen cxw
Alias /csp/ /iris/csp/
<Directory "c:/iris/csp">
AllowOverride None
Options MultiViews FollowSymLinks ExecCGI
Require all granted
<FilesMatch "\.(log|ini|pid|exe)$">
Require all denied
</FilesMatch>
<Files CSPnsd>
Require all denied
</Files>
</Directory>
ScriptAlias /csp-bin/ "c:/iris/csp/bin/"
ScriptAliasMatch /csp/bin/Systems/Module.cxw
"c:/iris/csp/bin/nph-CSPcgiSys.exe"
ScriptAliasMatch /csp/bin/RunTime/Module.cxw
"c:/iris/csp/bin/nph-CSPcgi.exe"
<Directory "c:/iris/csp/bin/">
AllowOverride None
Options None
Require all granted
</Directory>
-
httpd.conf の変更後に、Apache を再起動します。
追加ファイル・タイプのマッピング
CSP エンジンにより処理されるファイルの種類を追加構成するには、CGI モジュールにより処理される通常のファイル拡張子 (.csp、.cls、.zen) のリストに新しいファイル拡張子を追加します。例えば、これらを以下の行に追加します。
ScriptAliasMatch /*\.([Cc][Ss][Pp]|[Cc][Ll][Ss]|[Zz][En][Nn])$ "C:/iris/csp/bin/nph-CSPcgi.exe"
Web ゲートウェイを経由して他の静的ファイルを処理する必要がある場合、またはこの Web サーバを経由して管理ポータルにアクセスする必要がある場合は、ファイルの .jpg、.gif、.png、.svg、.css、.js の各種類に対してマッピングを追加します。
以下の指示文は、すべてのファイルに対する要求を、指定された (特に CSP エンジンによって) パスの InterSystems IRIS にマップするために使用できます。
ScriptAliasMatch ^/csp/*/.* "C:/iris/csp/bin/nph-CSPcgi.exe"
したがって、/csp パス内のすべてのファイルに対する要求をマップするための基本的な構成ブロックは以下のようになります。
ScriptAliasMatch ^/csp/*/.* "C:/iris/csp/bin/nph-CSPcgi.exe"
<Directory "/iris/csp/bin/">
AllowOverride None
Options None
Require all granted
</Directory>
Apache API および NSD を使用した Web ゲートウェイの運用および管理
この接続オプションは、Web ゲートウェイの Network Service Daemon (NSD) に依存します。
-
"NSD の操作" の説明に従って、CSP NSD を起動します。
-
Apache の構成 (httpd.conf) を変更した後、その Apache を再起動する必要があります。
Apache と NSD を起動する順序は重要ではありません。
-
Web ゲートウェイ管理ページにアクセスするには、ブラウザで以下の場所のいずれかを指定します。
http://localhost:<port_no>/csp/bin/Systems/Module.cxw
http://localhost:<port_no>/csp-bin/nph-CSPcgiSys.exe
承認されないユーザであることを通知するエラー・メッセージが表示された場合は、"追加クライアント・アドレスからのアクセスの有効化" を参照してください。
Microsoft Windows 向けにロック・ダウンした Apache 環境
Apache がロック・ダウンされているために、Apache ファイル・システムの外部のファイルにアクセスするようにサーバを簡単に構成できない場合があります。
このようなロック・ダウンの構成では、上記のセクションで説明した Web ゲートウェイ構成で CSP リソースにアクセスしようとすると、HTTP 403 Forbidden のエラー・コードが返されます。これらの安全な構成を使用するには、以下の手順に従います。install-dir\csp\
上記にあるファイル・システムを、以下の Apache ルートの場所にコピーします。
C:\Program Files\Apache Group\Apache\
Apache 構成で指定したパスを適切に変更します。
Apache で用意されている事前構成されたディレクトリで機能するように、Web ゲートウェイを構成する方法もあります。
-
CGI モジュールを次のように C:\Program Files\Apache Group\Apache\cgi-bin\ にコピーします。
copy c:\iris\csp\bin\*cgi*.exe C:\Program Files\Apache Group\Apache\cgi-bin\
-
API モジュールを C:\Program Files\Apache Group\Apache\modules にコピーします。
copy c:\iris\csp\bin\*.dll C:\Program Files\Apache Group\Apache\modules\
-
静的ファイル (およびそのサブディレクトリ) を C:\Program Files\Apache Group\Apache\htdocs\csp\samples にコピーします。
copy c:\iris\csp\samples\*.*
C:\Program Files\Apache Group\Apache\htdocs\csp\samples\
copy c:\iris\csp\broker\*.*
C:\Program Files\Apache Group\Apache\htdocs\csp\broker\
copy c:\iris\csp\sys\*.*
C:\Program Files\Apache Group\Apache\htdocs\csp\sys\
-
NSD コンポーネント (必要な場合) を C:\Program Files\Apache Group\Apache\nsd. にインストールします。
Apache で事前構成されたディレクトリを使用すると、httpd.conf での Web ゲートウェイの構成が簡単になります。修正した構成ブロックを以下に示します。
推奨オプションの構成 : Apache API モジュール (CSPa24.dll)
LoadModule csp_module_sa
C:/Program Files/Apache Group/Apache/modules/CSPa24.dll
CSPFileTypes csp cls zen cxw
代替オプション 2 の構成 : NSD を使用した CGI モジュール (nph-CSPcgi.exe)
<LocationMatch "/*\.([Cc][Ss][Pp]|[Cc][Ll][Ss]|[Zz][En][Nn])$">
AllowOverride None
Options FollowSymLinks ExecCGI
Require all granted
</LocationMatch>
ScriptAliasMatch /csp/bin/Systems/Module.cxw "C:/Program Files/Apache Group/Apache/cgi-bin/nph-CSPcgiSys.exe"
ScriptAliasMatch /csp/bin/RunTime/Module.cxw "C:/Program Files/Apache Group/Apache/cgi-bin/nph-CSPcgi.exe"
ScriptAliasMatch /*\.([Cc][Ss][Pp]|[Cc][Ll][Ss])$ "C:/Program Files/Apache Group/Apache/cgi-bin/nph-CSPcgi.exe"
代替オプション 3 の構成 : NSD を使用した Apache API モジュール (mod_csp24.dll)
LoadModule csp_module
C:/Program Files/Apache Group/Apache/modules/mod_csp24.dll
CSPFileTypes csp cls zen cxw
ScriptAliasMatch /csp/bin/Systems/Module.cxw "C:/Program Files/Apache Group/Apache/cgi-bin/nph-CSPcgiSys.exe"
ScriptAliasMatch /csp/bin/RunTime/Module.cxw "C:/Program Files/Apache Group/Apache/cgi-bin/nph-CSPcgi.exe"
代替オプション 4 の構成 : ISAPI モジュール (CSPms.dll)
従来のみ
AddHandler isapi-isa dll
AddHandler isapi-isa csp
AddHandler isapi-isa cls
AddHandler isapi-isa zen
AddHandler isapi-isa cxw
Alias /csp/bin/Systems/Module.cxw /csp/bin/CSPmsSys.dll