ヘッダーをスキップ

Oracle HTTP Server スタンドアロン・デプロイの管理Apache 2.0ベース
10g(10.1.3.1.0)

B31848-02
目次
目次
索引
索引

戻る 次へ

6 モジュールの理解

この章では、Oracle HTTP Serverに組み込まれているモジュール(mod)について説明します。モジュールはWebサーバーの基本機能を拡張し、Oracle HTTP Serverとその他のOracle Application Serverコンポーネントとの統合をサポートします。

6.1 モジュールのリスト

表6-1に、この章で説明するOracle HTTP Serverの全モジュールを示します。

表6-1    Oracle HTTP Serverのモジュール 

Oracle HTTP Serverのモジュール 

mod_access 

mod_actions 

mod_alias 

mod_asis 

mod_auth 

mod_auth_anon 

mod_auth_dbm 

mod_autoindex 

mod_cern_meta 

mod_certheaders 

mod_cgi 

mod_cgid 

mod_dir 

mod_env 

mod_expires 

mod_fastcgi 

mod_file_cache 

mod_headers 

mod_imap 

mod_include 

mod_info 

mod_log_config 

mod_logio 

mod_mime 

mod_mime_magic 

mod_negotiation 

mod_oc4j 

mod_onsint 

mod_ossl 

mod_osso 

mod_perl 

mod_php 

mod_proxy 

mod_rewrite 

mod_security 

mod_setenvif 

mod_speling 

mod_status 

mod_unique_id 

mod_userdir 

mod_usertrack 

mod_vhost_alias 

  

  

6.2 mod_access

ホスト名やIPアドレスなど、リクエストの特性に基づいてサーバーへのアクセスが制御されます。

関連資料

Apache Serverマニュアルの「Module mod_access」 

6.3 mod_actions

ファイル・タイプやリクエスト方法に基づいてCGIスクリプトを実行できます。

関連資料

Apache Serverマニュアルの「Module mod_actions」 

6.4 mod_alias

リクエストの処理中にURLを操作できます。このモジュールには、URLとファイル・システムのパスとのマッピングおよびURLリダイレクション機能があります。

関連資料

Apache Serverマニュアルの「Module mod_alias」 

6.5 mod_asis

固有のHTTPヘッダーを含むファイルを送信できます。

関連資料

Apache Serverマニュアルの「Module mod_asis」 

6.6 mod_auth

ファイルベースのユーザー・リストによるユーザー認証ができます。

関連資料

Apache Serverマニュアルの「Module mod_auth」 

6.7 mod_auth_anon

保護付き領域への匿名ユーザー・アクセスができます(電子メール・アドレスをロギングできる匿名FTPと同様です)。

関連資料

Apache Serverマニュアルの「Module mod_auth_anon」 

6.8 mod_auth_dbm

DBMファイルを使用してユーザー認証を提供します。

6.9 mod_autoindex

ディレクトリ索引が自動的に生成されます。

関連資料

Apache Serverマニュアルの「Module mod_autoindex」 

6.10 mod_cern_meta

CERN(Conseil Europeen pour le Recherche Nucleaire) HTTPDメタファイルのセマンティクスがエミュレートされます。メタファイルは、サーバーがアクセスするファイルごとに通常のセットに加えて生成できるHTTPヘッダーです。

6.11 mod_certheaders

Oracle HTTP Serverの前でSSL接続が終了するリバース・プロキシが、SSLクライアント証明書情報などのSSL接続に関する情報を、Oracle HTTP ServerおよびOracle HTTP Serverの背後で動作しているアプリケーションに送信できるようにします。この情報は、HTTPヘッダーを使用してリバース・プロキシからOracle HTTP Serverに送信されます。情報はヘッダーから標準CGI環境変数に送信されます。SSL接続がOracle HTTP Serverによって終了する場合はmod_osslまたはmod_sslがこの環境変数を移入します。これはOracleモジュールです。

また、特定のリクエストがHTTP経由で受信される場合も、HTTPSリクエストとして扱うことができます。これは、SimulateHttpsディレクティブを使用して実行されます。

SimulateHttpsは、それ自体が含まれるコンテナ(<VirtualHost><Location>など)を使用し、受信されたこのコンテナに対するすべてのリクエストを、リクエストの受信に使用された実際のプロトコルに関係なく、HTTPS経由で受信されたものとして扱います。

6.12 mod_cgi

サーバーでCGIスクリプトを実行できます。

関連資料

Apache Serverマニュアルの「Module mod_cgi」 

6.13 mod_cgid

最適化が施されていることと、追加のScriptSockディレクティブを除けば、このモジュールはmod_cgiと同様に機能します。ScriptSockディレクティブは、CGIデーモンとの通信に使用されるソケットの名前を設定します。ソケットは、Apacheを起動するユーザー(通常はroot)の権限を使用してオープンされます。

関連資料

Apache Serverマニュアルの「Module mod_cgid」 

6.14 mod_dir

サーバーでスラッシュ(/)のリダイレクトを実行できます。ディレクトリ指定には後続のスラッシュを含める必要があります。後続のスラッシュがないURLリクエストを受信すると、mod_dirは後続のスラッシュが付いている同一のURLにリダイレクトします。次に例を示します。

http://myserver/documents/mydirectory

このURLは、次のURLにリダイレクトされます。

http://myserver/documents/mydirectory/

関連資料

Apache Serverマニュアルの「Module mod_dir」 

6.15 mod_env

環境変数を渡し、設定および設定解除することで、CGIスクリプトとサーバー・サイド・インクルード(SSI: Server Side Includes)ページの環境を制御できます。

ModifyEnvは、値を既存のENV変数の値の前または後ろに付加し、Oracle HTTP Server環境に渡します。次に使用方法を示します。

$FOO = "foo"の場合:

ModifyEnv FOO "bar" modifies the value of $FOO from "foo" to "foo:bar"

ModifyEnv FOO "+bar" modifies the value of $FOO from "foo" to "bar:foo"

$FOOが定義されていない場合:

Modify Foo "bar" sets the value of $FOO to "bar"

関連資料

Apache Serverマニュアルの「Module mod_env」 

6.16 mod_expires

サーバーでExpires HTTPヘッダーを生成できます。このヘッダーは、ドキュメントの妥当性に関する情報をクライアントに提供します。期限切れ条件に基づいて、キャッシュされたコピーが期限切れになると、ドキュメントが情報源より再取得されます。

関連資料

Apache Serverマニュアルの「Module mod_expires」 

6.17 mod_fastcgi

FastCGIプロトコルをサポートします。このプロトコルにより、CGIアプリケーション用に実行中のサーバーのプールをメンテナンスできます。その結果、起動と初期化のオーバーヘッドがなくなります。

関連資料

Apache Serverマニュアルの「Module mod_fastcgi」 

6.18 mod_file_cache

頻繁にリクエストされる静的ファイルのキャッシュ方法を提供します。破損したサイトが作成されやすいため、このモジュールは慎重に使用してください。

関連資料

Apache Serverマニュアルの「Module mod_file_cache」 

6.19 mod_headers

HTTPレスポンス・ヘッダーをマージ、置換または削除できます。

関連資料

Apache Serverマニュアルの「Module mod_headers」 

6.20 mod_imap

サーバー側のイメージ・マップ処理ができます。

6.21 mod_include

SSI(サーバー・サイド・インクルード)ディレクティブ用のドキュメントを処理するフィルタを提供します。

関連資料

Apache Serverマニュアルの「Module mod_include」 

6.22 mod_info

すべてのインストール済モジュールとディレクティブの設定など、サーバー構成全体のサマリーが生成されます。

関連資料

Apache Serverマニュアルの「Module mod_info」 

6.23 mod_log_config

サーバー・アクティビティの、構成およびカスタマイズ可能なロギング機能が提供されます。ログの書式を選択し、ロギング対象となる個々のリクエストをその特性に基づいて選択または除外できます。

関連資料

Apache Serverマニュアルの「Module mod_log_config」 

6.24 mod_logio

各リクエストに対して送受信された入出力バイト数のロギング機能を提供します。記録される数値はネットワーク上で実際に受信されたバイト数を反映したもので、リクエストとレスポンスのヘッダーとボディから算出されます。

関連資料

Apache Serverマニュアルの「Module mod_logio」 

6.25 mod_mime

サーバーでファイル名からファイル・タイプを判断し、処理用のハンドラに関連付けできます。

関連資料

Apache Serverマニュアルの「Module mod_mime」 

6.26 mod_mime_magic

サーバーでは、ファイルの内容のうち数バイトを検査することでファイルのMIMEタイプを判断できます。mod_mimeでファイル・タイプを判断できない場合にこのモジュールを使用します。最初にmod_mimeによってファイルが処理されるように、mod_mimeが構成ファイル内でmod_mime_magicより前にあることを確認してください。

関連資料

Apache Serverマニュアルの「Module mod_mime_magic」。 

6.27 mod_negotiation

サーバーによるコンテンツのネゴシエーション(クライアントの機能に基づくドキュメントの選択)が有効化されます。

関連資料

Apache Serverマニュアルの「Module mod_negotiation」 

6.28 mod_oc4j

AJP 1.3プロトコルを介して、Oracle HTTP ServerからOracle Containers for J2EE(OC4J)にリクエストがルーティングされます。これはOracleモジュールであり、デフォルトで使用可能です。

各OC4Jにはopmn.xmlからルーティングIDが割り当てられます。Oracle Process Manager and Notification Server(OPMN)により、ルーティングIDを含む通知が各OC4Jに対して送信されます。ルーティングIDの受信時に、mod_OC4JはOC4JのルーティングIDとOHSのルーティングIDを比較し、ルーティングIDに対応するOC4Jをルーティング表に動的に追加します。

インストール後、OHSはデフォルトでopmn.xmlのルーティングIDを使用するよう構成されます。デフォルトのルーティングIDはg_rt_idです。すべてのOC4Jに同一のデフォルト・ルーティングIDが設定されるため、OHSは新規にインストールされたias-instanceの全OC4Jをルーティングします。クラスタに複数のias-instanceが含まれる場合、OHSはデフォルト・ルーティングIDを持つ全OC4Jをルーティングします。

次に示す構成ファイルのいずれかで、Oracle HTTP Server用のルーティングIDを構成できます。

opmn.xmlでルーティングIDを構成するには、Oracle HTTP Serverのias_componentセクションで次のように入力してください。

<module_data>
   <category id="start-parameters">
      <data id="routing-id" value="my_id"/>
   </category>
</module-data>

mod_oc4j.confでのルーティングIDの構成については、「Oc4jRoutingID」を参照してください。

ルーティング・モードの指定については、「Oc4jRoutingMode」を参照してください。

Oracle Application Server 10.1.3の場合、ルーティングIDおよびマウント・ポイントの検出機能が追加されています。これにより、最低限の構成変更で(あるいは構成を維持したまま)、OHSとOC4Jのルーティング関係を作成または変更できます。

OC4Jインスタンスは、Oracle Process Manager and Notification Server(OPMN)により起動および管理されます。

関連資料

  • 『Oracle Application Server Containers for J2EEユーザーズ・ガイド』

  • 『Oracle Process Manager and Notification Server管理者ガイド』

  • 『Oracle Containers for J2EE構成および管理ガイド』

 

この項の内容は、次のとおりです。

6.28.1 mod_oc4jの構成

この項では、httpd.confおよびmod_oc4j.conf内のすべての関連ディレクティブについて説明します。また、サンプル構成も示します。

6.28.1.1 mod_oc4jの構成ファイルおよびディレクティブ

mod_oc4jのディレクティブは、mod_oc4j.conf内に保持されます。mod_oc4j.confファイルは、次のディレクティブを使用して、デフォルトでhttpd.confファイルにインクルードされます。

include "ORACLE_HOME/ohs/conf/mod_oc4j.conf"

mod_oc4jの構成には、次のディレクティブを使用します。

LoadModule

mod_oc4jモジュールをロードします。

カテゴリ   

構文 

LoadModule oc4j_module mod_oc4j shared library file 

必須 

あり 

デフォルト 

  • UNIXの場合: なし

  • Windowsの場合: LoadModule oc4j_module modules¥ApacheModuleOc4j.dll

 

例 

  • UNIXの場合: LoadModule oc4j_module mod_oc4j.so

  • Windowsの場合: LoadModule oc4j_module modules¥ApacheModuleOc4j.dll

 

Oc4jCacheSize

OC4J接続キャッシュのサイズを指定します。

カテゴリ   

構文 

Oc4jCacheSize <size of connection cache>  

必須 

なし 

デフォルト 

これは、プラットフォーム(UNIX/WIN32)、Oracle HTTP Serverとプラグインのバージョン、およびその他構成の設定に応じて算出される値です。 

例 

Oc4jCacheSize 64 

使用方法 

各Oracle HTTP ServerプロセスでキャッシュできるOC4J同時接続の数を指定します。このディレクティブを0(ゼロ)に設定すると、mod_oc4jとOC4Jインスタンス間の永続的な接続が無効になります。 

Oc4jConnTimeout

使用されていない接続の最大アイドル時間(秒単位)を定義します。

カテゴリ   

構文 

Oc4jConnTimeout <timeout value for AJP13 connections> 

必須 

なし 

デフォルト 

なし 

例 

Oc4jConnTimeout 10 

使用方法 

mod_oc4jとOC4J間に接続をタイムアウトするファイアウォールがある場合に役立ちます。ファイアウォールで使用されるタイムアウト値より小さい値に設定する必要があります。 

Oc4jCookieExtension

JSESSIONID_<cookie_name_extension>をCookie内のOC4JのセッションIDとして使用するようにmod_oc4jに対して指示します。

カテゴリ   

構文 

Oc4jCookieExtension <cookie_name_extension> 

必須 

なし 

デフォルト 

なし 

例 

Oc4jCookieExtension MYEXT  

使用方法 

Cookie内のOC4JのセッションIDとして、JSESSIONIDのかわりにJSESSIONID_<cookie_name_extension>を使用するようにmod_oc4jに対して指示します。前述の例では、JSESSIONID_MYEXTがOC4JのセッションIDとして使用されます。 

Oc4jExtractSSL

SSL環境変数の受渡しを制御します。

カテゴリ   

構文 

Oc4jExtractSSL On|Off 

必須 

なし 

デフォルト 

Off 

例 

Oc4jExtractSSL On 

使用方法 

mod_oc4jに対して、3つのSSL環境変数SSL_CLIENT_CERTSSL_CIPHERおよびSSL_SESSION_IDをOC4Jに渡すかどうかを指示します。SSL環境変数をOC4Jにコピーする操作にはパフォーマンス・コストが関連するため、環境変数をOC4Jで使用可能にする必要がある場合にのみ「On」に設定してください。  


注意

mod_oc4jが構成されている場合は、mod_osslmod_ossoによって設定された一部のセキュリティ環境パラメータが、リクエスト時にOC4Jに渡されます。  


Oc4jEnvVar

mod_oc4jに対して、一部の環境変数をOracle HTTP ServerからOC4Jに渡すように指示します。

カテゴリ   

構文 

Oc4jEnvVar environment variable name [environment variable default value] 

必須 

なし 

デフォルト 

なし 

例 

Oc4jEnvVar MY_ENV1

Oc4jEnvVar MY_ENV2 myenv_value  

使用方法 

OC4jEnvVarエントリごとに、Oracle HTTP ServerディレクティブPassEnvも環境変数を使用して構成する必要があります。構成しない場合、mod_oc4jは値の取得と受渡しができません。

複数のエントリを指定できます。環境変数のデフォルト値を2番目のパラメータとして指定する方法と、何も指定しない方法があります。環境変数の値がOracle HTTP Server環境で見つかると、その値がOC4Jに渡されます。環境変数の値が見つからない場合でも、デフォルト値が設定されていれば、その値が渡されます。

この環境変数の値がOracle HTTP Server環境で見つからず、デフォルト値が設定されていない場合、OC4Jには何も渡されません。

mod_oc4jが一部の構成済環境変数を各リクエストでOC4Jに渡すと、パフォーマンスが低下します。  


注意

mod_oc4jが構成されている場合は、mod_osslmod_ossoによって設定された一部のセキュリティ環境パラメータが、リクエスト時にOC4Jに渡されます。  


Oc4jMount

Oracle Application Server 10.1.3の場合、OC4Jのマウント・ポイントはONS通知に示されます。これにより、mod_OC4Jを使用して、ルーティング対象のOC4Jのマウント・ポイントを動的に検出および更新できます。静的なマウント・ポイント構成は不要になり、mod_OC4Jを使用して、Oracle HTTP Serverの停止および再起動を行わずマウント・ポイントを更新できます。静的なマウント・ポイントを使用する場合、次の構成情報を参照してください。また、Oc4jRoutingModeをStaticに設定する必要があります。

mod_oc4jに対して、特定のパスを含むリクエストを宛先にルーティングするように指示します。宛先には、単一のOC4JプロセスまたはOC4Jインスタンスのセットを指定できます。

カテゴリ   

構文 

Oc4jMount path [destination]

pathはコンテキストのルートです。pathパラメータには、OC4J構成ファイルxxx-web-site.xmlで指定されているものと同じアプリケーション・コンテキストのルートを指定する必要があります。<web-site>要素の例では、アプリケーション・コンテキストのルートは太字で示されています。

<default-web-app application="default" name="defaultWebApp" root="/j2ee"/>

宛先のタイプは、次のいずれかです。

  • ajp13_dest

  • cluster_dest(デフォルトの宛先タイプ)

  • instance_dest

宛先を指定しない場合は、デフォルトのOC4Jインスタンス名homeが使用されます。次に例を示します。

Oc4jMount /myApp/*

このディレクティブの結果は、次のディレクティブと同じになります。

Oc4jMount /myApp/* cluster://local_ias_cluster_name:home 

必須 

なし 

デフォルト 

なし 

例 

Oc4jMount /app01/* ajp13://my-sun:8888

Oc4jMount /app01/* ajp13://my-sun:3301

Oc4jMount /app01/* ajp13://my-sun:3301,my-sun:3302

Oc4jMount /app02/*

Oc4jMount /app03/* home

Oc4jMount /app04/* ias_cluster_1:home

Oc4jMount /app05/* cluster://ias_cluster_1:home,ias_cluster_2:home

Oc4jMount /app06/* instance://ias_instance_1:home

Oc4jMount /app07/* instance://ias_instance_1:home_1,ias_instance_2:home_2

Oc4jMount /app08/* instance://my-sun:ias_instance_1:home 

使用方法 

ルーティングの宛先ごとに例を示します。

ajp13_dest

Oc4jMount <path> ajp13://my-sun:8888

pathで指定されたパターンを持つリクエストが、AJP 1.3プロトコルを使用してmy-sun、ポート8888でリスニング中のOC4Jプロセスにルーティングされます。(my-sunおよびポート8888は、OC4J構成ファイルxxx-web-site.xmlで指定されているAJP 1.3プロトコルのホストおよびポートです。)

Oc4jMount <path> ajp13://host:<ajp13 port>,host:<ajp13 port>

pathに指定したパターンを持つリクエストが、指定した1つ以上のOC4Jプロセスにロード・バランスされます。OC4Jプロセスはカンマで区切ってください。

cluster_dest

Oc4jMount <path> cluster: //ias_cluster_name:OC4J_instance_name, ias_ cluster_name:OC4J_instance_name...

pathに指定したパターンを持つリクエストが、指定した1つ以上のOC4Jインスタンスにロード・バランスされます(インスタンスはカンマで区切ってください)。

Oracle Application Server Cluster Nameはオプションです。指定する場合、宛先のOC4Jインスタンスは指定したクラスタ内にある必要があります。Oracle Application Server Cluster Nameを指定しない場合、宛先のOC4JインスタンスはローカルのOracle Application Serverクラスタ内にある必要があります。

instance_dest

Oc4jMount <path> instance: //host:ias_instance_name:OC4J_instance_name, host:ias_instance_name:OC4J_instance_name...

<path>に指定したパターンを持つリクエストが、指定した1つ以上のOC4Jインスタンスにロード・バランスされます(インスタンスはカンマで区切ってください)。

ホスト名はオプションです。ホスト名を指定する場合、宛先のOC4Jインスタンスはそのホストに存在するOracle Application Serverインスタンス内にある必要があります。ホスト名を指定しない場合、宛先のOC4Jインスタンスはどのホストにあってもかまいません。  

Oc4jMountCopy

ベース・サーバーからマウント・ポイントをコピーします。

カテゴリ   

構文 

Oc4jMountCopy On|Off  

必須 

なし 

デフォルト 

On 

例 

Oc4jMountCopy Off 

使用方法 

mod_oc4jに対して、このディレクティブを指定した仮想ホストにベース・サーバーからOc4jMountポイントをコピーするかどうかを指示します。値がOnの場合は、ベース・サーバー内に構成されたすべてのOc4jMountポイントが仮想ホストにコピーされます。値がOffの場合は、仮想ホストの有効範囲内で構成されたOc4jMountポイントのみが使用されます。  

Oc4jRoutingID

Oracle HTTP Serverでは、Oc4jRoutingIDを使用して1つ以上のルーティングIDを割り当てることができます。mod_oc4jがOc4jRoutingID内のルーティングIDを持つOC4Jから通知を受信すると、ルーティング表を更新し、そのOC4Jへのルーティングを開始します。


注意

Oracle HTTP ServerのルーティングIDは、opmn.xmlおよびmod-oc4j.confで構成可能です。両方のファイルでOracle HTTP ServerのルーティングIDが構成された場合、エラーが発生し、Oracle HTTP Serverが起動しなくなります。 


カテゴリ   

構文 

Oc4jRoutingID 

パラメータ・タイプ 

文字列 

デフォルト 

なし 

有効値 

ルーティングIDのカンマ区切りリスト 

例 

Oc4jRoutingID myroutingid1,myroutingid2, ... 

Oc4jRoutingIDCopy

仮想サーバーのルーティングIDリストを親のルーティングIDリストにオーバーライドするか、両リストを統合するかを指定します。

カテゴリ   

パラメータ名 

Oc4jRoutingIDCopy 

パラメータ・タイプ 

文字列 

有効値 

On/OffOnの場合、仮想サーバーのルーティングIDリストは親のリストと統合されます。Offの場合、仮想サーバーのルーティングIDリストが親のリストにオーバーライドされます。)  

デフォルト値 

On 

例 

Oc4jRoutingIDCopy On 

Oc4jRoutingMode

使用するルーティング・モードのタイプを指定します。ルーティング・モードは次のとおりです。

Oc4jUseOHSErrors

OC4Jから範囲内のエラーが返されたときに、ユーザーがOracle HTTP Serverのエラー・ページを使用して、エラー範囲を構成することを許可します。

カテゴリ   

構文 

Oc4jUseOHSErrors On|Off/min-max  

必須 

なし 

デフォルト 

Off 

例 

Oc4jUseOHSErrors 400-410 

使用方法 

Oc4jUseOHSErrors Off: Oc4jUseOHSErrorsを指定しない場合のデフォルト値です。すべてのエラー値について、OC4Jのエラー・ページがクライアントに戻されます。

Oc4jUseOHSErrors on: HTTPエラー400〜500のOracle HTTP Serverのエラー・ページを返します。

Oc4jUseOHSErrors min-max: HTTPエラーの最小と最大を指定します。たとえば、Oc4jUseOHSErrors 400-410と設定すると、HTTPエラー400〜410のOracle HTTP Serverのエラー・ページがOC4Jから返されます。 

6.28.1.2 mod_oc4jのサンプル構成

この項では、mod_oc4jのサンプル構成について説明します。

例6-1    mod_oc4jのサンプル構成

この構成では、URI /servlet/で始まるすべてのリクエストが、OC4Jプロセスのデフォルト・インスタンスにマウントされます。

httpd.confファイルに次のエントリを作成します。

Oc4jMount /servlet/* 

例6-2    mod_oc4jのサンプル構成

この構成では、Oc4jMountディレクティブのかわりに<Location>コンテナ・ディレクティブを使用して、例6-1の構成と同じ動作を実行します。

httpd.confファイルに次のエントリを作成します。

<Location /servlet> 
    SetHandler oc4j-handler 
</Location> 


注意

この構成では、リクエストはデフォルトのOC4Jインスタンスにのみルーティングされます。 


例6-3    mod_oc4jのサンプル構成

この構成では、URI /servlet/または/j2ee/で始まるすべてのリクエスト、およびすべてのJSPページが、OC4JプロセスのデフォルトのOC4Jインスタンスにマウントされます。

mod_oc4j.confファイルに次のエントリを作成します。

Oc4JMount /servlet/*
Oc4JMount /*.jsp
Oc4JMount /j2ee/*

例6-4    mod_oc4jのサンプル構成

この構成では、次のようにマウントが行われます。

6.28.2 mod_oc4jを使用したロード・バランシング

メトリック・ベースのロード・バランシングも含め、mod_oc4jによるロード・バランシングについては付録A「mod_oc4jを使用したロード・バランシング」で詳しく説明します。

6.28.3 mod_oc4JとOC4J間でのSSLの有効化

オプションで、mod_oc4jとOC4J間の通信に直接SSLサポートを指定できます。このためには、mod_oc4j側とOC4J側でSSLを有効化する必要があります。

6.28.3.1 mod_oc4jでのSSLの有効化

mod_oc4jに対してSSLを有効にするには、次のディレクティブをmod_oc4j.confに追加します。

Oc4jEnableSSL

mod_oc4jがOC4Jプロセスとの通信時にSSLを使用する必要があるかどうかを示します。Oc4jiASPTActiveが「On」に構成されている場合、このディレクティブは「On」に構成しないでください。

カテゴリ   

パラメータ名 

Oc4jEnableSSL 

パラメータ・タイプ 

文字列 

有効値 

OnまたはOff 

デフォルト値 

Off 

Oc4jSSLWalletFile

Oc4jEnableSSLが「On」に設定されている場合、このディレクティブはOC4JプロセスとのSSL通信に使用されるSSL証明書を含む、Oracleウォレット・ファイルの位置を指定します。

カテゴリ   

パラメータ名 

Oc4jSSLWalletFile 

パラメータ・タイプ 

文字列 

有効値 

OC4JプロセスとのSSL接続確立時に使用されるSSL証明書を含むウォレット・ディレクトリの場所へのパス 

デフォルト値 

該当なし 

Oc4jSSLWalletPassword

Oc4jEnableSSLが「On」に設定されている場合、この値はウォレット・ファイルのオープン時の認証に使用される、クリアテキストのパスワードです。この値は、Oracle Wallet Managerに含まれているユーティリティを使用して取得されます。

カテゴリ   

パラメータ名 

Oc4jSSLWalletPassword 

パラメータ・タイプ 

文字列 

有効値 

Oc4jSSLWalletFileにより指定されたウォレット・ファイルのオープン時の認証に使用されるクリアテキストのパスワード 

デフォルト値 

該当なし 

関連資料

 


注意

ウォレット・パスワードは使用されていません。このディレクティブを使用すると、Oracle HTTP Serverログに警告メッセージが生成されます。ウォレットを保護するため、かわりに自動ログインのウォレットを取得することをお薦めします。 


6.28.3.2 OC4JでのSSLの有効化

mod_oc4jとOC4Jの間でSSL通信を有効化するには、OC4J側でもSSLを有効化する必要があります。

関連資料

OC4J側でSSLを有効化する方法の詳細は、『Oracle Containers for J2EEセキュリティ・ガイド』を参照してください。 

6.29 mod_onsint

Oracle Notification Service(ONS)およびOracle Process Manager and Notification Server(OPMN)を使用した統合サポートを提供します。これはOracleモジュールです。

6.29.1 mod_onsintを使用するメリット

mod_onsintは次の機能を提供します。

6.29.2 UINXとWindowsでの実装上の差異

UNIXとWindowsではOracle HTTP Serverのアーキテクチャに違いがあるため、これらのプラットフォームではmod_onsintの実装に多少の違いがあります。

UNIXでは、mod_onsintはモジュールの初期設定時にプロセスを作成します。このプロセスでは、親プロセスの監視とONSメッセージの送受信を行います。ONS通知に関心がある他のモジュールからのコールバック・ファンクションは、このプロセス内に作成されます。この情報を他のOracle HTTP Serverの子プロセスと共有するには、メモリー・マップ・ファイルなどのプロセス間通信を使用する必要があります。UNIX上で親プロセスの障害が検出されると、すべての子プロセスにシグナルが送信され、すべての子プロセスがシャットダウンします。

Windowsでは、Oracle HTTP Serverは親プロセス、および全HTTPリクエストを処理するマルチスレッドの子プロセスという2つのプロセスのみで構成されます。このモデルでは、mod_onsintは子プロセス内のスレッドとして実行されます。このスレッドが、親プロセスの監視とONSメッセージの送受信を行います。ONS通知に関心がある他のモジュールからのコールバック・ファンクションは、この子プロセス内に作成されます。親プロセスの障害が検出された場合、mod_onsintは子プロセスを終了し、Oracle HTTP Serverを事実上シャットダウンします。

mod_onsintに対して構成できるOpmnHostPortというオプションのディレクティブがあります。このディレクティブを使用すると、mod_onsintが動作中のOracle HTTP Serverインスタンスをpingするため、OPMNが使用するホスト名とポートを指定できます。OpmnHostPortが指定されていないと、mod_onsintはHTTPポートを自動的に選択します。状況によっては、OPMNがリスナーのpingに使用するHTTPポートとホスト名に特定のものを選択する場合があります。

OpmnHostPortでOPMNに渡される値を指定するには、次のような構文を使用します。

OpmnHostPort [<http> | <https>://]<host>:<port>

たとえば、次の行は、OPMNがこのリスナーをpingするために、HTTP、localhostインタフェースおよびポート7778を使用する必要があることを指定します。

OpmnHostPort http://localhost:7778

このディレクティブは、httpd.confファイルのグローバル・セクションに指定する必要があります。ロケーション・コンテナの仮想ホストに埋め込むことはできません。インストール後、OpmnHostPortディレクティブはdms.confに置かれます。このディレクティブは、特殊なローカルホスト専用仮想ホストである、Oracle HTTP Serverの診断ポートに対するOPMNを指します。

6.30 mod_ossl

Oracle HTTP Serverに対して強度の高い暗号化を有効にします。このOracleモジュールは、サーバーがSSLを使用できるようにするOracle HTTP Serverへのプラグインです。これは、OpenSSLモジュールのmod_sslと非常によく似ています。ただし、OpenSSLモジュールとは対照的に、mod_osslはSSLをサポートするOracleのSSL実装のバージョン3を基盤とし、かつCerticomおよびRSAセキュリティ・テクノロジに基づいています。

関連資料

 

6.31 mod_osso

Oracle HTTP Serverでシングル・サインオンが有効になります。mod_ossoでは、受信リクエストを検査して、リクエストされたリソースが保護されているかどうかを判断し、保護されている場合はユーザー用のOracle HTTP Server Cookieを取得します。これはOracleモジュールです。

関連資料

『Oracle Application Server Single Sign-On管理者ガイド』 

6.32 mod_perl

Oracle HTTP ServerにPerlインタプリタが埋め込まれます。これにより、起動時のオーバーヘッドが排除され、モジュールをPerlで記述できます。Oracle Application Serverでは、Perlバージョン5.8.3を使用します。

関連資料

『Apache mod_perl Guide』 

6.32.1 データベース使用上の注意

この項では、データベースを使用するmod_perlユーザー向けに、ローカル・データベース接続をテストし、文字構成を設定する方法について説明します。

6.32.1.1 Perlを使用したデータベース・アクセス

次の項では、Perlを使用したデータベース・アクセスについて説明します。Perlスクリプトは、Oracle用のDBI/DBDドライバを使用してデータベースにアクセスします。DBI/DBDドライバはOracle Application Serverに含まれています。このドライバは、Oracle Call Interface(OCI)をコールしてデータベースにアクセスします。

DBIが機能するには、httpd.confでDBIが有効である必要があります。これには次の手順を実行します。

  1. テキスト・エディタを使用してhttpd.confを編集します。

  2. PerlModule Apache::DBI」を検索します。

  3. PerlModule Apache::DBI」という行のコメントを解除します。

  4. 次のコマンドを使用して、Oracle HTTP Serverを再起動します。

    ORACLE_HOME/opmn/bin> opmnctl [verbose] restartproc ias-component=HTTP_Server
    
    

ファイルがORACLE_HOME/ohs/cgi-binにコピーされます。

例6-5    Perlを使用したデータベース・アクセス

#!<ORACLE_HOME>/perl/bin/perl -w 
  use DBI; 
  my $dataSource = "host=<hostname.domain>;sid=<orclsid>;port=1521"; 
  my $userName = "scott"; 
  my $password = "tiger"; 
  my $dbhandle = DBI->connect("dbi:Oracle:$dataSource", $userName, $password) 
    or die "Can't connect to the Oracle Database: $DBI::errstr¥n"; 
  print "Content-type: text/plain¥n¥n"; 
  print "Database connection successful.¥n"; 
  ### Now disconnect from the database 
  $dbhandle->disconnect 
    or warn "Database disconnect failed; $DBI::errstr¥n"; 
  exit;

DBIスクリプトには次の場所からアクセスできます。

http://<hostname.domain>:<port>/cgi-bin/<scriptname>
http://<hostname.domain>:<port>/perl/<scriptname>

スクリプトにuse DBIではなくuse Apache::DBIと指定されている場合、このスクリプトを実行できるのは、http://<hostname.domain>:<port>/perl/<scriptname>からのみです。

6.32.1.2 データベース接続のテスト

ローカル・シード・データベースのデータベース接続をテストするPerlスクリプトの例を次に示します。このスクリプトを使用して別のデータベース接続をテストするには、scott/tigerをターゲット・データベースのユーザー名とパスワードに置き換える必要があります。

例6-6    ローカル・シード・データベースの接続テスト用サンプルPerlスクリプト

##### Perl script start ###### 
use DBI;
print "Content-type: text/plain¥n¥n"; 
$dbh = DBI->connect("dbi:Oracle:", "scott/tiger", "") || die $DBI::errstr; 
$stmt = $dbh->prepare("select * from emp order by empno")|| die $DBI::errstr; $rc = $stmt->execute() || die $DBI::errstr; while (($empno, $name) = $stmt->fetchrow()) { print "$empno $name¥n"; } warn $DBI::errstr if $DBI::err; die "fetch error: " . $DBI::errstr if $DBI::err; $stmt->finish() || die "can't close cursor"; $dbh->disconnect() || die "cant't log off Oracle"; ##### Perl script End ######

6.32.1.3 SQL NCHARデータ型の使用

SQL NCHARデータ型は、Oracle9i以降さらに改良され、信頼性の高いUnicodeデータ型と呼ばれています。NCHARNVARCHAR2およびNCLOBなどのSQL NCHARデータ型を使用すると、あらゆるUnicode文字をデータベースのキャラクタ・セットに関係なく格納できます。これらのデータ型のキャラクタ・セットは、各国語キャラクタ・セット、つまりAL16UTF-16またはUTF8で指定します。

関連資料

SQL NCHARデータ型の詳細は、Oracle9iのマニュアルを参照してください。 

このリリースのDBD::OracleSQL NCHARデータ型をサポートしており、データ・バインド用の文字構成を指定できるようにドライバ拡張機能が用意されています。次のスクリプトに、SQL NCHARデータへのアクセス例を示します。

例6-7    SQLNCHARデータにアクセスするためのサンプル・スクリプト

# declare to use the constants for character forms
use DBD::Oracle qw(:ora_forms);
# connect to the database and get the database handle
$dbh = DBI->connect( ... );
# prepare the statement and get the statement handle
$sth = $dbh->prepare( 'SELECT * FROM TABLE_N WHERE NCOL1 = :nchar1' );
# bind the parameter of a NCHAR type
$sth->bind_param( ':nchar1', $param_1 );
# set the character form to NCHAR
$sth->func( { ':nchar1' => ORA_NCHAR } , 'set_form' );
$sth->execute;

例6-7に示すように、set_formファンクションはプライベート・ファンクションとして提供されており、標準のDBI func()メソッドで起動できます。このファンクションは、どのプレースホルダをどの文字構成に関連付けるかを指定する匿名ハッシュを取ります。文字構成の有効値は、ORA_IMPLICITまたはORA_NCHARのいずれかです。文字構成をORA_IMPLICITに設定すると、アプリケーションのバインド・データはデータベースのキャラクタ・セットに変換され、ORA_NCHARに設定すると各国語キャラクタ・セットに変換されます。デフォルト構成はORA_IMPLICITです。

デフォルトのキャラクタ・セット構成を指定できるように、次のようにもう1つのファンクションも用意されています。

# specify the default form to be NCHAR
$dbh->func( ORA_NCHAR, 'set_default_form' );

このコールの後は、set_formのコールで特に指定しないかぎり、すべてのパラメータの構成がORA_NCHARになります。set_formファンクションとは異なり、これはデータベース・ハンドルのファンクションであるため、指定したデフォルト構成のデータベース・ハンドルの各文は、デフォルトで選択した構成であることに注意してください。

6.32.1.3.1 set_form

このファンクションでは、パラメータの文字構成を設定します。有効な構成は、ORA_IMPLICIT(デフォルト)またはORA_NCHARです。この定数は、DBD::Oracleではora_formsとして使用できます。

例6-8    set_formのサンプル

# a declaration example for the constants ORA_IMPLICIT and ORA_NCHAR
use DBD::Oracle qw(:ora_forms);
# set the character form for the placeholder :nchar1 to NCHAR
$sth->func( { ':nchar1' => ORA_NCHAR } , 'set_form' );
# set the character form using the positional index
$sth->func( { 2 => ORA_NCHAR } , 'set_form' );
# set the character form for multiple placeholders at once
$sth->func( { 1 => ORA_NCHAR, 2 => ORA_NCHAR } , 'set_form' );
6.32.1.3.2 set_default_form

このファンクションでは、データベース・ハンドルのデフォルトの文字構成を設定します。

例6-9    データベース・ハンドルのデフォルトの文字構成

$dbh->func( ORA_NCHAR , 'set_default_form' );

6.33 mod_php

PHP(PHP: Hypertext Preprocessorの略)は、オープン・ソースで広く採用されている汎用クライアント側スクリプト言語で、標準HTMLに埋め込まれます。この言語は、動的HTMLページの生成に使用されます。Oracle HTTP Serverでは、mod_phpを介してPHPサポートが提供されます。また、Oracle Databaseサポートも有効になっています。使用されるPHPはバージョン4.3.9です。


注意

phpinfo()は、PHPおよびOracle HTTP Serverの間隔の現在の状態について、機密性が非常に高い情報を出力します。PHPやphpinfo()に不慣れなユーザーは、phpinfo()というPHPスクリプトをパブリックでアクセスできる状態のままにしておかないように注意してください。

phpinfo()は、デバッグによく使用されます。デバッグの終了後には、このようなデバッグ・スクリプトが誤ってオープンの状態のままになっている可能性があります。 


関連資料

  • http://php.net/

  • 最初から構築したり、詳細情報が必要な場合は、http://www.oracle.com/technology/tech/opensource/index.htmlで「Using PHP with Oracle HTTP Server (OHS)」を参照してください。

 

6.34 mod_proxy

FTPCONNECT(SSL用)、HTTP/0.9、HTTP/1.0およびHTTP/1.1用のプロキシ機能を提供します。

関連資料

 

6.35 mod_rewrite

Oracle HTTP Serverでは、URL操作ツールとしてmod_rewriteが提供されます。mod_rewriteでは、リクエストされたURLをリライトするために正規表現パーサーに基づくリライト・エンジンが使用されます。URL操作の粒度は、サーバー変数、環境変数、HTTPヘッダーおよびタイムスタンプの書式の影響を受ける場合があります。

このモジュールは、サーバー単位のコンテキスト(httpd.conf)およびディレクトリ単位のコンテキスト(.htaccess)の両方でURL全体(path-info部を含む)に対して動作し、結果のquery-string部を生成できます。

この項の内容は、次のとおりです。

6.35.1 mod_rewriteのルール処理

ApacheではHTTPがフェーズ単位で処理されます。これらの各フェーズ用のフックは、Apache APIにより提供されます。mod_rewriteでは、このうちの2つのフックを使用します。一方はURL-to-filename変換フックで、HTTPリクエストが読み取られてから認可が開始される間に使用されます。他方はFixupフックで、認可フェーズの後、およびディレクトリ単位の構成ファイル(.htaccess)が読み取られてからコンテンツ・ハンドラが有効化される間にトリガーされます。

mod_rewriteは、構成構造から構成済ルールセットを読み取ります。サーバー・レベルのルールセットは起動時に最適であるように構成されますが、ディレクトリ・レベルのルールセットはカーネルによるディレクトリ・アクセス時に構成されます。

mod_rewriteはルールセット内でルールを1つずつループし(RewriteRuleディレクティブ)、特定のルールが一致すると、対応する条件をループします(RewriteCondディレクティブ)。最初に、URLが各ルールのPatternに対して照合されます。照合できなかった場合、mod_rewriteは対応しているルール条件を検索します。ルール条件が存在しない場合は、URLを文字列Substitutionからなる新規の値に単に置換して、ルールのループを継続します。ただし、条件が存在する場合は、内側のループを開始して各条件をリストされている順に処理します。

条件が存在する場合、変数を拡張して文字列TestStringを作成し、マップ参照を逆参照し、CondPatternを拡張されたTestStringと照合します。パターンが一致しないと、条件および対応するルールのセット全体が失敗します。パターンが一致すると、他に使用可能な条件がなくなるまで次の条件が処理されます。すべての条件が一致すると、処理が続行され、Substitutionを使用してURLが置換されます。

http://yourserver//oldpath/rqstdrsrcなど、複数のスラッシュ(/)を含むURLのリクエストの場合、RewriteCondおよびRewriteRuleが正しく記述されていない場合は、//oldpathはこの2つのディレクティブをバイパスできます。

たとえば、次のルールがあるとします。

RewriteRule ^/oldpath(.*) /newpath$1 [R]

http://yourserver/oldpath/filesのリクエストはリダイレクトされ、予想どおりのページhttp://yourserver/newpath/filesが戻されます。

ただし、http://yourserver//oldpath/filesのリクエストはこのルールをバイパスし、予想していなかったページを提供する可能性があります。ルールで複数のスラッシュ(/)が取得されることを確認することで、この問題を回避できます。前述の例を解決するには、次のように置換を使用する必要があります。

RewriteRule ^/+somepath(.*) /otherpath$1 [R]

6.35.2 mod_rewriteのディレクティブ

この項では、次のmod_rewriteのディレクティブについて説明します。

6.35.2.1 RewriteEngine

ランタイム・リライト・エンジンを有効化または無効化します。「Off」に設定すると、このモジュールではランタイム処理が実行されません。このディレクティブを使用して、すべてのRewriteRuleのディレクティブをコメント化するかわりにモジュールを無効にします。

リライト構成は、デフォルトで継承されません。つまり、ReWriteEngine Onディレクティブを使用する各仮想ホストに対して指定する必要があります。

6.35.2.2 RewriteOptions

RewriteOptions 'inherit'を指定すると、親の構成を子に継承させることができます。仮想サーバー・コンテキストでは、これはメイン・サーバーのマップ、条件およびルールが継承されることを意味します。ディレクトリ・コンテキストでは、これは親ディレクトリの.htaccess構成の条件とルールが継承されることを意味します。

6.35.2.3 RewriteLog

実行するリライト・アクションがサーバーによって記録されるファイルの名前を設定します。このファイル名の先頭にスラッシュ(/)がない場合は、Server Rootへの相対ファイル名とみなされます。ロギングを無効にするには、RewriteLogディレクティブを削除またはコメント化するか、RewriteLogLevel 0を使用します。ファイル名を/dev/nullに設定して、ロギングを禁止しないでください。このように設定すると、サーバーが低速になり、メリットはありません。

6.35.2.4 RewriteLogLevel

リライト・ログ・ファイルの詳細レベルを設定します。デフォルト・レベルである0(ゼロ)はロギングなしを意味し、9以上の値を指定すると実際には全アクションが記録されます。

6.35.2.5 RewriteBase

ディレクトリ単位のリライト用のベースURLを明示的に設定します。リライト・ルールをディレクトリ単位の構成(.htaccess)ファイルで使用できます。新規URLの置換が発生する場合は、サーバー処理にベースURLを追加する必要があります。これを可能にするには、対応するURL接頭辞またはURLベースをモジュールで認識する必要があります。デフォルトでは、この接頭辞自体が対応するファイル・パスです。ただし、ほとんどのWebサイトでは、URLは物理ファイル名のパスに直接関連付けられていません。このような場合は、RewriteBaseディレクティブを使用して正しいURL接頭辞を指定する必要があります。

WebサーバーのURLが物理ファイルのパスに直接関連付けられていない場合は、RewriteRuleディレクティブを使用する各.htaccessファイル内でRewriteBaseを使用する必要があります。

例6-10    RewriteBaseディレクティブ

次のディレクトリ単位の構成ファイルがあるとします。

## /abc/def/.htaccess - - per-dir config file for directory /abc/def
 # /abc/def is the physical path of /xyz,
RewriteEngine On
RewriteBase /xyz
RewriteRule ^oldstuff¥.html$ newstuff.html

例6-10では、/xyz/oldstuff.htmlのリクエストは物理ファイル/abc/def/newstff.htmlに正確にリライトされます。

6.35.3 リライト・ルールのヒント

表6-2に、リライト・ルールを使用するためのヒントを示します。

表6-2    リライト・ルールのヒント 
  定義 

任意の1文字 

[char] 

大カッコで囲まれた任意の文字 

b* 

任意の数の文字bからなる文字列 

.* 

任意の数の任意の文字からなる文字列 

たとえば、/demo1/demo2および/demo3からのリクエストを/alldemosにリダイレクトするには、リライト・ルールを次のどちらかとして記述します。

RewriteRule /demo. /alldemos [R]

または

RewriteRule /demo [123] /alldemos [R]

/DemoA/DemoBおよび/DemoC/alldemosにリダイレクトする場合は、次のように、前述のリライト・ルールにNC(no case)を追加します。

RewriteRule /demo [123] /alldemos [R, NC]

"."は1文字のみを処理するため、このリライト・ルールは/demonstration1から/demosへのリダイレクトには機能しません。demoで始まるURLすべてを後続の文字に関係なくリダイレクト可能にするには、次のリライト・ルールを使用します。

RewriteRule ^/demo* /alldemos [R, NC]

前述の例では、^は始まりを意味し、*はdemoの後の任意の文字を意味します。

/demo1/not_just_index.htmlに対してリクエストがある場合、前述のすべてのリライト・ルールではリクエストは/alldemos/index.htmlにリダイレクトされますが、これは意図した結果でない場合があります。表6-3に示すように、/alldemos内の対応するファイルにリダイレクトする必要があります。

表6-3    リクエストのリダイレクト 
リクエストの内容  リダイレクト先 

/demo1/happy.html 

/alldemos/happy.html 

/demo1/go.jpg 

/alldemos/go.jpg 

/demos1/lucky.jpg 

/alldemos/lucky.jpg 

次のように、リライト・ルールに置換を使用する必要があります。

RewriteRule ^/demos1(.*)$ //alldemos/$1 [R NC]

このルールの内容は、次のとおりです。

happy.htmlgo.jpgおよびlucky.jpgなど、demo1の後に指定されている式の値が変数($1)として使用され、/alldemos/の後で置換されます。

6.35.4 リダイレクションの例

リクエストをDocumentRootからnewrootディレクトリにリダイレクトする場合は、次のmod_rewriteのディレクティブを設定します。

RewriteEngine On
RewriteRule ^/(.*)$ /newroot/$1 [R]

あるディレクトリ(olddir)から別のディレクトリ(newdir)にファイル・リクエストを送信する場合は、次のディレクティブを設定します。

RewriteEngine On
RewriteRule ^/olddir(.*)$ /newdir/$1 [R] 

どちらの場合も、リクエストされたリソースがリダイレクト先で実際に使用可能かどうかを確認する必要があります。mod_rewriteモジュールは、リクエストされたリソースが新しい場所にあるかどうかを確認しません。

HTTP TRACEメソッドを使用してリクエストをすべて無効にする場合は、次のmod_rewriteのディレクティブを設定します。

RewriteEngine On
RewriteCond %{REQUEST_METHOD} ^TRACE
RewriteRule .* - [F]

関連資料

Apache Serverマニュアルの「Module mod_rewrite」 

6.36 mod_security

既知または未知の攻撃からWebアプリケーションを保護し、セキュリティの向上を図ります。

関連資料

http://modsecurity.org 

6.37 mod_setenvif

リクエストの特性に基づいて環境変数を設定できます。

関連資料

Apache Serverマニュアルの「Module mod_setenvif」 

6.38 mod_speling

スペルに誤りがあるURLや、誤って大文字で記述されたURLが訂正されます。

関連資料

Apache Serverマニュアルの「Module mod_speling」 

6.39 mod_status

サーバー・アクティビティとパフォーマンスに関するHTMLページが表示されます。

関連資料

Apache Serverマニュアルの「Module mod_status」 

6.40 mod_unique_id

リクエストごとに一意のIDが作成されます。このモジュールは、UNIXでのみ使用可能です。

関連資料

Apache Serverマニュアルの「Module mod_unique_id」 

6.41 mod_userdir

リクエストがユーザー固有のディレクトリにマップされます。

関連資料

Apache Serverマニュアルの「Module mod_userdir」 

6.42 mod_usertrack

ログが作成され、ユーザー・アクティビティが追跡されます。

関連資料

Apache Serverマニュアルの「Module mod_usertrack」 

6.43 mod_vhost_alias

動的に構成された大量の仮想ホスト設定が有効化されます。

関連資料

Apache Serverマニュアルの「Module mod_vhost_alias」 


戻る 次へ
Oracle
Copyright © 2007 Oracle Corporation.

All Rights Reserved.
目次
目次
索引
索引