ヘッダーをスキップ

Oracle Access Manager インストレーション・ガイド
10g(10.1.4.2.0)

E05811-01
目次
目次
索引
索引

戻る 次へ

16 Apache v1.3 WebサーバーおよびOracle HTTP Server Webサーバーの構成

この章では、Oracle Access ManagerのためにApache v1.3 Webサーバーを構成する方法について説明します。10g(10.1.4.0.1) Webコンポーネント(WebPass、ポリシー・マネージャ、WebGate)は、Oracle HTTP Server(OHS)10g R2(10.1.2)もサポートしています。


注意

Oracle HTTP Server(OHS)の実装は、オープン・ソースのApache v1.3に基づいています。 


次の項目について説明します。

OHSとOracle Access Managerについて

OHSは、Oracle HTTP Server(OHS)Webサーバーと通信するWebコンポーネント(WebPass、ポリシー・マネージャ、WebGate)の識別にOracle Access Managerで使用される、インターネットWebサーバーの拡張機能です。たとえば、OHSに対応するWebGateをインストールするには、次のパッケージが必要です。

Oracle_Access_Manager10_1_4_0_1_Win32_OHS_WebGate

OHS 10g R2(10.1.2)はApache v1.3に基づいています。Oracle Access Manager 10g(10.1.4.0.1)では、LinuxおよびWindowsのプラットフォームのスタンドアロンOracle HTTP Serverにインストールできる、Webコンポーネントが提供されます。ただし、特別な要件に注意する必要があります。

次のようなOHSの詳細は、『Oracle HTTP Server管理者ガイド』を参照してください。

この後で説明するOHS Webコンポーネントの注意事項をよく理解してください。「OHSクライアント証明書の設定」も参照してください。

LinuxでのOHS Webコンポーネントの注意事項

Oracle Access Manager 10g(10.1.4.0.1) WebコンポーネントをOHSに対して使用する場合、Linuxでは次の点に注意してください。

LinuxおよびWindowsプラットフォームでのOHS Webコンポーネントの注意事項

WindowsおよびLinuxプラットフォームでOHSに対してOracle Access Manager 10g(10.1.4.0.1) Webコンポーネントを使用する場合、httpd.confでWindowsとLinux両方のプラットフォームについてPerlモジュールをコメント化する必要があります。

Apache v1.3とOracle Access Managerについて

ここでは、Apacheのプロセスに基づくアーキテクチャが様々なOracle Access Manager Webコンポーネントにどのように影響するかを説明します。

WebPassからアイデンティティ・サーバーへのアクセス

Apache v1でのアイデンティティ・サーバーとWebPassの通信:

ポリシー・マネージャ

Apache v1でのポリシー・マネージャ:

WebGate

Apache v1でのWebGate:

例: UNIXシステムでのApache v1.3の構成

Apache v1.3はプロセスベースのWebサーバーです。Apache Webサーバーは、各リクエストを処理するように構成されたフィルタを含むクライアント・プロセスを作成します。結果として、各クライアント・プロセスにはWebGateが組み込まれます。

Apache Webサーバーが250のMaxClientsを使用する(ピーク負荷時)ように構成されている場合、これらすべてのプロセスが実行すると250のWebGateが実行時に生成されます。各WebGateは、WebGate定義で指定された接続構成を使用します。たとえば、WebGate構成で1つのアクセス・サーバーに対して4つの接続がある場合、各クライアント・プロセスは構成されているアクセス・サーバーに対して4つの接続を生成します。このため、ピーク負荷時には、アクセス・サーバーに対して1000(250 * 4)の接続が生成されます。

アクセス・サーバーでは、各接続がメッセージ・スレッドに対応し、メッセージ・スレッドがソケットからクライアント・リクエストを読み取ります。ここで説明した構成では、ピーク負荷時には1つのWebGateのリクエストを処理するためだけに1000個のスレッドが生成されます。複数のApache v1.3 Webサーバーが1つのアクセス・サーバーにアクセスするように構成されている場合、この数は各Webサーバーからの接続の合計数になります。このようにアクセス・サーバーのスレッド数は膨大になることがあります。

プロセスのスレッド数が増加すると、CPU使用率やメモリー使用率に関するオーバーヘッドが大きくなります。一部のオペレーティング・システムでは、スレッド数が一定を超えるとスラッシングが開始されるため、アクセス・サーバーのパフォーマンスに悪影響を与えます。

Apache v1.3 Webサーバーは、リクエストの負荷に基づいてクライアント・プロセスを作成および廃棄します。また、子プロセス間のリクエストのロード・バランスを行います。結果として各子プロセスは最大でも1リクエストを処理します。この場合、必要な接続は1つのアクセス・サーバーに対して1つのみになります。

1つのWebGateに2〜3のアクセス・サーバーを構成して、このWebGateからアクセス・サーバーに対する負荷をロード・バランスすることもできます。次に例を示します。

WebGate1で、アクセス・サーバー1に対して1つの接続
アクセス・サーバー2に対して1つの接続
アクセス・サーバー3に対して1つの接続
MaxConnections=3

この場合は次の処理が行われます。

WebGate1に対するWebサーバーの最初のリクエストはアクセス・サーバー1に送られます。
WebGate1に対するWebサーバーの2番目のリクエストはアクセス・サーバー2に送られます。
WebGate1に対するWebサーバーの3番目のリクエストはアクセス・サーバー3に送られます。
WebGate1に対するWebサーバーの4番目のリクエストはアクセス・サーバーに送られます。
このようになります。

ただし、子プロセスの存続期間内に1リクエストがWebサーバーからWebGate1に送信される場合は、AccessServer2とAccessServer3の接続1は使用されないことがあります。

まとめると、Apache v1.3のような複数プロセスWebサーバーでは、1つのアクセス・サーバーに対して1つの接続しか必要ありません。

Apache v2の場合、2つのmpmモード(worker_mpmおよびpre-fork_mpm)で作動するようにWebサーバーを構成できます。worker_mpmでは、リクエストのロード・バランスのためにWebサーバーにスレッドが作成されます。この場合、生成されるプロセス数を決定するためにThreadsPerChildとMaxClientsが使用されます。アクティブな子プロセスの最大数は、MaxClientsディレクティブをThreadsPerChildディレクティブで割った数値です。各プロセスにはWebGateが含まれます。pre-fork mpmの場合、Apache v1.3と同様の動作になり、リクエスト当たりに1つの子プロセスが作成されます。詳細は、第17章「Oracle Access ManagerのためのApache v2、IHSおよびOHS Webサーバーの構成」を参照してください。

Apache v1.3、Oracle HTTP Server(OHS)およびStrongholdの要件

Oracle Access Manager Webコンポーネントのインストール時には、Webサーバー構成ファイルを更新する必要があります。Oracle Access Manager Webコンポーネントをインストールする際には、Webサーバー構成ファイルの自動更新を選択することをお薦めします。

Oracle Access Manager 10g(10.1.4.0.1)のHTMLページではUTF-8エンコーディングが使用されます。ApacheベースのWebサーバーでは、管理者がAddDefaultCharsetディレクティブを使用して、送出されるすべてのHTMLページのデフォルト・キャラクタ・セットを指定できます。このディレクティブは、HTMLページを生成するアプリケーションで指定されるすべてのキャラクタ・セットよりも優先されます。AddDefaultCharsetディレクティブでUTF-8以外のキャラクタ・セットを有効にすると、Oracle Access ManagerのHTMLページが文字化けします。

Oracle Access Manager 10g(10.1.4.0.1)のHTMLページを正しく表示するには、AddDefaultCharsetディレクティブをWebサーバー構成ファイル(httpd.conf)に次のように指定することをお薦めします。

     AddDefaultCharset Off

このディレクティブの詳細は、Webサーバーのドキュメントを参照してください。

また、Apache v1.3、OHSまたはStronghold Webサーバーを実装するには、システムが次の要件を満たすことも必要です。

Apache v1.3、OHSおよびIHS Webサーバーのサポート

Apache v1.3の最新バージョンには重要なセキュリティの修正が含まれています。最新リリースのApache 1.3の使用を強くお薦めします。詳細は、次を参照してください。

http://apache.org

ベースApache 1.3 Webサーバーは、ブラウザ接続でSSL(https://リクエストへの応答)を使用しません。SSLサポートのためのアドオン・モジュールmod_sslは、次のWebサイトで入手できます。

http://www.modssl.org

ベースApacheサーバーに対するOracle Access Managerプラグインは、mod_sslを含むApache(EAPI使用とも呼ばれる)のプラグインとは次の点で異なります。

OHSの詳細は、『Oracle HTTP Server管理者ガイド』を参照してください。Oracle Access Manager 10g(10.1.4.0.1)のサポートの詳細は、「互換性とプラットフォームのサポート」を参照してください。

IHS(IBM HTTP Server powered by Apache)はApache 1.3の一種です。IHSでは異なる実装のSSLが使用されます。Oracle Access Managerでは、ベースIHS(非SSL)とIHS SSLプラグイン・インタフェースの両方をサポートしています。

詳細は、第2章「インストールの準備」および「ベースApache Webサーバーのダウンロードとコンパイル」を参照してください。

Apache v1、OHSおよびIHSに対応するOracle Access Manager Webコンポーネントは、インストール内の1つのWebGateとすることも、他のWebGateと混在させることも可能です。詳細は、「アクセス・システムのガイドライン」を参照してください。

互換性とプラットフォームのサポート

最新のサポート情報は、次のサイトの「Certify」タブを参照してください。

MetaLinkの使用手順
  1. https://metalink.oracle.comに移動します。

  2. 指示に従ってMetaLinkにログインします。

  3. 「Certify」タブをクリックします。

  4. 「View Certifications by Product」をクリックします。

  5. 「Application Server」オプションを選択し、「Submit」をクリックします。

  6. 「Oracle Application Server」を選択し、「Submit」をクリックします。

ベースApache Webサーバーのダウンロードとコンパイル

この説明はApacheオープン・ソースv1.3のみに適用されます。Apache 1.3の最新バージョンは次のApache Webサイトからダウンロードできます。

http://apache.org

SSLプラグインmod_sslは次のWebサイトで入手できます。

http://www.modssl.org

これらのサイトには、Apacheまたはmod_sslで必要なその他のソフトウェア(opensslなど)のサイトが示されています。Apache Webサーバーのコンパイル方法は、ソフトウェア・ディストリビューションに含まれています。

Apache WebサーバーでOracle Access Managerプラグインをサポートするには、モジュールmod-soをサーバー・バイナリにコンパイルする必要があります。

Apacheまたはmod_sslを含むApacheをmod-soと一緒にコンパイルする手順
  1. コンパイルの前に次の構成オプションを含めます。

    --enable-module=so
    
    
  2. 構成がOracle Access Managerのその他の要件を満たすことを確認し、コンパイルします。

Apacheリリース・ノート

次のURLには、最新バージョンのApacheの情報とApacheサーバーのバイナリ・ファイルを入手できるリンクがあります。

http://www.apache.org/dist/httpd/Announcement.html

その他の役立つリンク

次のリンクでは、Apacheリリースの構築やソース・コードに関する情報が提供されます。

プラットフォーム固有のコンパイル・オプション

一部のオペレーティング・システムでは構成時に追加のオプションが必要です。ここに示すオプションの一部は、Apache 1.3の一部のリリースでは重複する可能性がありますが、それ以外のリリースで必要です。

次に、プラットフォームごとのオペレーティング・システム構成コマンドの環境設定を示します。

Solaris:
CFLAGS=-D_REENTRANT
LDFLAGS=-lpthreads
AIX:
CFLAGS=-D_REENTRANT
LDFLAGS=-lpthreads
HP-UX:
CFLAGS=-D_REENTRANT
LDFLAGS="-lcl -lpthreads"

HP-UXでは、PA-RISC1コンパイル・オプション(デフォルト)を使用する必要があります。PA-RISC2(64ビット)オプションは使用しないでください。PA-RISC2を使用すると、「missing symbol」、「bad magic number」、「share object is garbled」のようなロード・エラーを受け取ります。Apache EAPI(mod_ssl)コンパイル済モジュールをプレーンなApacheサーバーにロードすると、どのオペレーティング・システムでも同様のエラーが表示されます。

AIXのためのプラットフォーム固有の実行時設定

AIXでは、環境変数AIXTHREAD_SCOPEを値S(大文字)に設定する必要があります。そうしないと、ワーカー・プロセスの終了時にセグメント・エラーが発生することがあります。ただし、WebGateによるコンテンツ配信、認証または認可決定には影響しません。

また、AIXでは、次のディレクティブをhttpd.confファイルに指定することをお薦めします。

     AcceptMutex fcntl

このディレクティブがサポートされているのはApache 1.3.24以上のみです。WebGateによるコンテンツ配信、認証または認可決定には影響しません。ただし、(/server-status URLを介して)他のプラットフォームでのApacheの動作がよくわかっている場合は、この設定の使用をお薦めします。

Oracle Access Manager Webコンポーネントのインストール順序

Oracle Access Manager Webコンポーネント(WebPass、ポリシー・マネージャおよびWebGate)は特定の順序でインストールする必要があります。次に例を示します。

WebPass
ポリシー・マネージャ
WebGate

詳細は、「インストール・タスクの概要」を参照してください。

Oracle Access Manager WebコンポーネントのためのWebサーバー構成の更新

Oracle Access Manager Webコンポーネント(WebPass、ポリシー・マネージャおよびWebGate)のインストール時には、Apache Webサーバー構成ファイル(httpd.conf)の手動または自動更新を選択できます。Webサーバー構成ファイルは自動で更新することをお薦めします。httpd.confの手動更新を選択すると手順が指示されます。

Oracle Access Manager Webコンポーネントをインストールするとき、Webサーバー構成ファイルの場所を指定するように求められます。Apacheではhttpd.confのフルパスを入力します。たとえば、httpd.confファイルはApache_install_dir/confディレクトリにあります。

Oracle Access Manager WebコンポーネントをインストールしてWebサーバー構成を最初に更新した後で、httpd.confファイルを再更新する必要がある場合、Component_install_dir/oblix/apps/common/docs/config.htmのconfig.htmファイルを参照してください。または、Component_install_dir/oblix/tools/setup/InstallTools/ManageHttpConfにあるManageHttpConfプログラムを使用してください。オプションを指定せずにManageHttpConfを実行すると、使用方法が表示されます。

Oracle Access Manager WebコンポーネントのためのApache 1.3のチューニング

Apache 1.3は、複数のhttpリクエストを一度に処理するためのプロセス・モデルを使用します。これは、他のWebサーバーで採用されている、複数のリクエストを同時に1プロセスで管理するシングル・プロセス(スレッド)モデルとは異なります。Apacheの各下位ワーカー・プロセスが、その他の各ワーカー・プロセスの受信httpリクエストに個別に応答します。

Apacheサーバー構成ファイル(httpd.conf)のいくつかのパラメータが、Apacheサーバーによるワーカー・プロセスの作成または廃棄の決定に影響します。次のパラメータはサーバーのパフォーマンスに影響します。

ここで説明したパラメータの適切な値は、予期される負荷や関連するシステム(アクセス・サーバーやLDAPサーバーなど)のパフォーマンス・クラスによって異なります。

非常に高いパフォーマンスのシステムで高負荷が予想される場合は、ワーカー・プロセス数の制限を高くしてApacheサーバーを再コンパイルできます。このようなシステムでは、瞬間的な負荷の急上昇に対処する際に、StartServersパラメータやMinSpareServersパラメータによるパフォーマンスへの大きな影響を確認できます。

場合によっては、アクセス・サーバーを適切に運用できるようにオペレーティング・システムの制限を調整する必要があります。特に、1つのアクセス・サーバーで使用できるファイル記述子の最大数はデフォルト値よりも増やすことをお薦めします。各ApacheベースWebGateと1つのアクセス・サーバーの間に複数の接続を構成すると、すぐにデフォルト制限を上回ります。

ポリシー・マネージャのチューニング・ファクタ

ポリシー・マネージャのパフォーマンスは、Apacheとポリシー・マネージャ両方の構成パラメータの影響を受けることがあります。Apacheに対してポリシー・マネージャをチューニングする際には次のファクタを考慮する必要があります。

各ユーザーが1つのブラウザを使用すると仮定すると、イメージ、js、HTMLに対する4〜5個の同時リクエストがブラウザからWebサーバーに送られます。同時ユーザーが4名と仮定すると、Webサーバーに対する同時リクエストの合計数は20(4 * 5)になります。

このようなファクタがある場合、新しいユーザーを処理する速さとディレクトリ・サーバーの接続数のバランスを取るためには、次の設定をお薦めします。

ポリシー・マネージャが接続を作成するときの遅延を埋め合せるために、すべてのディレクトリ・サーバー・プロファイルですべてのディレクトリ・サーバー接続を1に設定するようにポリシー・マネージャを構成できます。この場合、次のようにApacheを構成できます。

このように設定すると、ポリシー・マネージャは、最初のリクエストでの遅延があったとしても適切な速さで応答します。

OHSクライアント証明書の設定

cert_decodeおよびcredential_mappingプラグインを使用するときは、+EarlierEnvVars+ExportCertDataをOHS Webサーバー構成ファイルの既存のSSLオプションに追加して、アクセス・システム・クライアント証明書の認証スキームが、SSL対応OHSで適切に作動することを確認する必要があります。次に例を示します。

credential_mapping:

     obMappingBase="o=company,c=us",obMappingFilter=
     "(&(objectclass=InetOrgPerson)(mail=%certSubject.E%))"

ssl.confに次のオプションを指定する必要があります。

   SSLOptions +StdEnvVars +ExportCertData +EarlierEnvVars
sslオプションを追加する手順
  1. OHS Webサーバーの構成ファイルを探して、テキスト・エディタで開きます。次に例を示します。

    $ORACLE_HOME/Apache/Apache/conf/ssl.conf

  2. ssl.confファイルの既存のSSLオプションに次の情報を追加します。次に例を示します。

       SSLOptions +StdEnvVars +ExportCertData +EarlierEnvVars
    
    
  3. ファイルを保存してWebサーバーを再起動します。

Oracle Access Manager WebコンポーネントのためのOHSのチューニング

OHSに対してOracle Access Manager Webコンポーネントをインストールした後で、次の手順を実行する必要があります。


注意

前に説明したように、OHSに対してOracle Access Manager Webコンポーネントをインストールする前に、コンポーネントをインストールするユーザーと一致するようにhttpd.confファイルでユーザーとグループを変更してください。 


Oracle Access Manager WebコンポーネントのためにOHSをチューニングする手順
  1. 通常どおりにopmnを停止します。

  2. opmn.xmlファイルを探して、編集するために開きます。次に例を示します。

    $oracle_home/opmn/bin/opmn.xml

  3. opmn.xmlファイルで項目を次のように調整します。

    <ias-component id="HTTP_Server">
    <process-type id="HTTP_Server" module-id="OHS2">
             <environment>
                    <variable id="TMP" value="/tmp"/>
                    <variable id="LD_ASSUME_KERNEL" value="2.4.19"/>
             </environment>
              <module-data>
                <category id="start-parameters">
                  <data id="start-mode" value="ssl-disabled"/>
                </category>
              </module-data>
              <process-set id="HTTP_Server" numprocs="1"/>
            </process-type>
          </ias-component>
    
    
  4. 次のスクリプトを実行してOPMN構成をリフレッシュします。

    #oracle_home/opmn/bin/opmnctl reload
    
    
  5. ポリシー・マネージャのhttpd.confファイルで、次の行をコメントにします。

    #LoadModule perl_module modules/mod_perl.so
    #LoadModule php4_module modules/mod_php4.so
    
    
  6. 「OHS Webサーバーの起動と停止」の説明に従ってOHS Webサーバーを起動します。

Webサーバーの起動と停止

次の項では、UNIXおよびWindowsでのApacheサーバーの実行に関する情報を説明します。

OHS Webサーバーの起動と停止

OHS Webサーバーの起動と停止は、v1.3とv2の両方ともすべてのプラットフォームで同じ手順です。

OHS Webサーバーを起動する手順
  1. 次のディレクトリを探して移動します。

    $ORACLE_HOME\opmn\bin\

  2. コマンドラインで次のコマンドを入力します。

      opmnctl/startproc process-type=HTTP_Server
    
OHS Webサーバーを停止する手順
  1. 次のディレクトリを探して移動します。

    $ORACLE_HOME\opmn\bin\

  2. コマンドラインで次のコマンドを入力します。

      opmnctl/stopproc process-type=HTTP_Server
    

UNIXでのApacheの起動と停止

次に示すように、通常、Apache Webサーバーの起動または停止には1つの手順を実行します。

UNIXでのApache Webサーバーの停止

UNIXでApache Webサーバーを停止するには、次のようにします。

  1. Apache_install_dir/binディレクトリに移動します。

  2. コマンドラインで次のようにapachectl stopコマンドを使用してサーバーを停止します。

    ./apachectl stop
    

UNIXでのApache Webサーバーの起動と停止

UNIXでApache Webサーバーを起動および停止するには、次のようにします。

  1. Apache_install_dir/binディレクトリに移動します。

  2. コマンドラインで次のようにapachectlコマンドを使用して、サーバーを停止して再起動します。

    ./apachectl start
    

SSLモードでのサーバーの起動

SSLモードでサーバーを起動するには、次のようにします。

  1. Apache_install_dir/binディレクトリに移動します。

  2. コマンドラインで次のようにapachectl startsslコマンドを使用して、SSLモードでサーバーを起動します。

    ./apachectl startssl
    

WindowsでのApacheの起動と停止

Apache Webサーバーを起動する方法は、Windowsサービスとして実行するか、アプリケーションとして実行するかによって異なります。次の手順を参照してください。

アプリケーションとして実行すWebサーバーを停止する手順
  1. Windowsのコマンドラインで、[Ctrl]キーを押しながら文字[c]を入力します。

Windowsサービスとして実行するWebサーバーを停止する手順
  1. Windowsの「サービス」ウィンドウで、Webサーバーのサービス名を探します。

  2. 「サービスの停止」アイコンをクリックします。

Windowsサービスとして実行するWebサーバーを起動する手順
  1. Apache_install_dir/binディレクトリに移動します。

  2. コマンドラインに次のコマンドを入力します。

    apache.exe -k start
    
アプリケーションとして実行するWebサーバーを起動する手順
  1. Windowsの「サービス」ウィンドウで、Webサーバーのサービス名を探します。

  2. 「サービスの開始」アイコンをクリックします。

アンインストール後のWebサーバー構成変更の削除

インストール中に行ったWebサーバー構成の変更は、Oracle Access Managerコンポーネント(WebPass、ポリシー・マネージャ、WebGate)をアンインストールしてから手動で削除する必要があります。このような情報は手動で削除する必要があります。

さらに、Oracle Access Managerコンポーネント(WebPass、ポリシー・マネージャ、WebGate)についてWebサーバー構成ファイルに手動で行ったすべての変更を削除する必要があります。各コンポーネントに追加される内容の詳細は、この章の他の項を参照してください。

トラブルシューティング

詳細は、付録E「インストールの問題のトラブルシューティング」を参照してください。


戻る 次へ
Oracle
Copyright © 2000, 2007 Oracle Corporation.

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