Oracleは、Apache v2で稼動するWebサーバー用のWebgateを提供しています。これにはApache、Oracle HTTP ServerおよびIBM HTTP Server (IHS)が含まれています。
この章では3つのWebサーバー・タイプの構成に関して次を含む詳細を説明します。
Oracle HTTP Server用のAccess Manager Webコンポーネント・パッケージ名は、OHSで次のように指定されています。
Oracle HTTP Server 11gはApache v2.2に基づいており、パッケージ名には次のようにOHS11gが含まれています。
Oracle HTTP Server 10g R2 (10.1.2)および10g (10.1.3.1.0)は、Apache v1.3およびApache v2.0に基づくパッケージを提供しています。
次のOracle HTTP ServerリリースがAccess Managerで動作します。
Oracle HTTP Server 11g: Access Manager Webgate Oracle HTTP Server 11gは、他のWebサーバー用のWebgateのように使用できます。さらに、このOracle HTTP Server 11g用Webgateは、Oracle Fusion Middleware 11g用にエンタープライズレベルのシングル・サインオンを構成する際の主要コンポーネントです。詳細は、『Oracle Fusion Middlewareセキュリティ・ガイド』を参照してください。『Oracle Fusion Middleware HTTP Server管理者ガイド 11gリリース1 (11.1.1)』も参照してください。
Oracle HTTP Server 10g (10.1.3.1.0): 2つのパッケージを提供しています(Apache v1.3ベースとApache v2.0ベース)。WebgateはスタンドアロンのOracle HTTP Serverにインストールできます。Oracleのシングル・サインオンへの統合を可能にするには、OHS2 WebgateをOracle Application Server上にインストールする必要があります。インストール中に、WebgateがOHS2上のモジュールとしてインストールされます。
「Webサーバーの準備」に記載されたOracle HTTP Server Webコンポーネント要件を必ず把握しておいてください。
Access Managerには、Oracle HTTP Server以外に、Apache v2 WebサーバーとIBM HTTP Server用のコンポーネントが用意されています。IBM HTTP Server (IHS2)はApache v2のバリエーションです。特段の記載がないかぎり、次の情報は3つすべてに該当します。
Apache v2.0.5.2 Webgate
リバース・プロキシをアクティブにした場合は、この機能を含むApache v2.0.48 Webgate。
リバース・プロキシをアクティブにした場合は、この機能を含む、IBM HTTP Server (IHS2) powered by Apache用Apache v2.0.47 Webgate。
注意: 最新のAccess Manager証明書の情報は次を参照してください。
|
各プラットフォームに固有のインストール・パッケージは、プレーンおよびSSL対応の両方のApacheモードをサポートしています。ファイル名の2という番号は、このコンポーネントがApache v2に基づいていることを示しています。例:
AIX: Oracle_Access_Manager10_1_4_3_0_power-aix_IHS2_Webgate
Linux: Oracle_Access_Manager10_1_4_3_0_ linux_Apache2_Webgate
Solaris: Oracle_Access_Manager10_1_4_3_0_sparc-s2_Apache2_Webgate
Windows: Oracle_Access_Manager10_1_4_3_0_Win32_APACHE2_Webgate
Access Managerの以前のリリースには、プレーン・モードとSSL対応モード用に別なプラットフォーム固有のインストール・パッケージが含まれていました。たとえば各プラットフォームに対して、APACHE_WebgateおよびAPACHESSL_Webgateという2つのWebgateファイルが提供されていました。
これらのWebサーバーをサポートするために、Access Managerコンポーネントには機能的な変更はありません。Access Managerの認証は、HTTP基本認証、フォーム、またはSSLクライアント証明書を使用して、Webgateを介して行われます。認証済ユーザーによるWebリソースの許可、他のWebサーバーやアプリケーションとの簡易およびマルチドメインSSOもWebgateを介して行われます。
Apache HTTP Serverは、Apache Software Foundationのオープン・ソースHTTP Webサーバー・プロジェクトです。プロジェクトの目的は、現在のHTTP標準に合った安全で効率のよい、拡張性のあるサーバーおよびHTTPサービスを提供することです。
詳細は、「Apache v2アーキテクチャとAccess Managerについて」を参照してください。
IBM HTTP Server (IHS)はApache v2のバリエーションです。IBM HTTP ServerはThe Apache Groupの開発したソフトウェアに基づいています。IBM HTTP Serverコンポーネントには、OpenSSL Projectが開発したソフトウェアおよびEric Youngが開発したソフトウェアも含まれています。
ApacheアーキテクチャとAccess Managerに関する「Apache v2アーキテクチャとAccess Managerについて」での説明は、次の点を除きIHSに適用されます。
IHSの旧バージョンでは、mod_ibm_ldapモジュールを使用するために別なIDSクライアントが必要でした。Apache v2.0.47稼動によるIHSではこれは不要になりました。
IHS v2.0.47はFIPS 140-2をサポートしています。デフォルト設定ではFIPSサポートは無効になっています。FIPSサポートを有効にするには、SSLFIPSEnableディレクティブをhttpd.confファイルに追加してください。同様に、SSLFIPSDisableディレクティブを使用してFIPSサポートを無効にします。
AIXでは、IHS v2.0.47をインストールする前に、適切なランタイム・ライブラリがインストールされていることを確認してください。
たとえばAIX 5.1では、IHS v2.0.47のインストール前に、xlC.rte 6.0ランタイム・ライブラリ(例: xlC.rte.6.0.0.0)がインストールされている必要があります。このライブラリは、AIX上でSSLをインストールして、IHS v2と使用するために必要です。次のWebサイトからこのライブラリをダウンロードできます。
http://www-912.ibm.com/eserver/support/fixes/fcgui.jsp
インターネット・ユーザーに対して、ファイアウォールの裏側にあるサーバーへのアクセスを提供するため
複数のバックエンド・ユーザー間のロード・バランシングのため、または低速バックエンド・サーバーにキャッシングを提供するため
同じURL領域に複数のサーバーを導入するため
proxy_moduleにより、ApacheおよびIHS powered by Apacheのためにプロキシ/ゲートウェイが実装されます。クライアントに特別な構成は必要なく、リバース・プロキシは通常のWebサーバーのように見えます。クライアントでは、リバース・プロキシのネームスペース内のコンテンツに対して、通常どおりリクエストが作成されます。それらのリクエストの送信先を決定するのはリバース・プロキシです。リバース・プロキシがオリジンであるかのようにコンテンツが返されます。
重要: proxy_moduleを使用してFTP、CONNECT (SSL用)、HTTP/0.9、HTTP/1.0、およびHTTP/1.1用のプロキシ機能を実装できます。ただし、Webgateではリバース・プロキシ機能のみがサポートされています。 |
詳細は、「Apache v2 Webサーバーの要件」を参照してください。
Apache v2 Webサーバーは、スレッドセーフのAccess Managerライブラリと互換性のある、ハイブリッドのマルチスレッド、マルチプロセス・アーキテクチャを提供します。
重要: 特に明記しないかぎり、ここに示す詳細な説明は、10g Webgate用のApache v2とIHS v2 Webサーバーに同様に適用されます。 |
標準モジュール・セット以外に、Apache v2 Webサーバーにはコンピュータ上のネットワーク・ポートをバインドし、プロセス・リクエストの受付けと処理を行うマルチプロセス・モジュール(MPM)が含まれています。ApacheまたはIHS v2のWebgateをインストールする前に、適切なMPMをサーバーにコンパイルして起動しておく必要があります。
Windows: Windowsプラットフォームではmpm_winntがデフォルトのMPMです。mpm_winntはApache 1.3で使用されているPOSIXレイヤーではなく、ネイティブ・ネットワーキング機能を使用できます。
UNIX: UNIXプラットフォームでは、prefork MPMがApache v2 Webサーバー用のデフォルトMPMです。prefork MPMは、Apache v1.3に類似の方法でリクエストを処理する、非スレッドのプレフォークWebサーバーを実装します。
注意: Webgate用のmpm_worker_moduleを使用してUNIX上でApacheをコンパイルする場合、「Webgate用のmpm_worker_moduleを使用したUNIX上のApache v2」で説明しているとおり、マルチスレッド・サーバー実装中に最適なパフォーマンスを確保するために、Webgateのデフォルトpthreadスタックサイズを最適化する必要があります。 |
AIX: AIXプラットフォームでは、worker MPMがIHS v2用のデフォルトMPMです。ワーカーMPMはハイブリッド・マルチプロセス、マルチスレッド・サーバーを実装します。このMPMをを制御するために最も重要なディレクティブは、ThreadsPerChildおよびMaxClientsです。詳細は、「Access Manager用のApache/IHS v2 Webgateのチューニング」を参照してください。
Apache v2 WebサーバーにはApache Portable Runtime (APR)ライブラリが含まれており、プラットフォーム固有の実装へのインタフェースを提供し、プラットフォームに関係なく同一の動作が行われない場合はAPI開発者に事前に通知し、条件付きコンパイルの#lfdefsの必要性をなくします。include/apu_compat.hファイルでは下位互換性がサポートされていますが、Apache v2 APRの使用をお薦めします。
詳細はご使用のApache v2のドキュメントを参照してください。「Access Manager用のApache/IHS v2 Webgateのチューニング」も参照してください。
Apacheアーキテクチャは次の項で説明しているように、様々な方法でAccess Managerコンポーネントに影響を及ぼします。
IHSおよびApache v2にインストールされているWebgateの場合
プロセス間で共有するキャッシュはありません。
各プロセスがアクセス・サーバーと個別に接続します。したがって、Webgate接続数を制限する必要があります。この問題は、Webサーバーとアクセス・サーバーを実行しているシステムのパフォーマンスにある程度影響を受けます。
注意: 他のWebサーバー用のWebgateを含むインストールで、Apache v2 (および派生製品)用のWebgateを使用できます。 Webgate用のmpm_worker_moduleを使用してUNIX上でApacheをコンパイルする場合、「Webgate用のmpm_worker_moduleを使用したUNIX上のApache v2」で説明しているとおり、マルチスレッド・サーバー実装中に最適なパフォーマンスを確保するために、Webgateのデフォルトpthreadスタックサイズを最適化する必要があります。 |
Apache v2 Webサーバーの制限により、Access Managerのフォームベースの認証スキーム用に構成されたプラグインは次の場合に変数を渡しません。
後処理プログラムによってログイン資格証明を渡すために、オプションのチャレンジ・パラメータ、passthrough:Yesが認証スキームに含まれています。
フォーム・アクションは受領したすべてのヘッダーと変数のダンプを作成するCGIスクリプトで、この方法はHTTP POSTメソッドを使用して呼び出されます。
例:
<html> <form name="myloginform" action="/access/...cgi" method="post">
Access Manager HTMLページではUTF-8エンコーディングを使用します。Apache、Oracle HTTP ServerおよびIBM HTTP Server (IHS)を含むApacheベースのWebサーバーでは、管理者はAddDefaultCharset
ディレクティブを使用して、送信されたすべてのHTMLページのデフォルト文字セットを指定できます。このディレクティブは、HTMLページを生成するアプリケーションによって指定された任意の文字を無効にします。AddDefaultCharset
ディレクティブがUTF-8以外の文字セットを有効にした場合、Access Manager HTMLページで文字化けが発生します。
OracleはWebサーバー構成ファイル(httpd.conf)でAddDefaultCharset
ディレクティブを次のように指定し、Access Manager HTMLページが正しく表示されるようにすることをお薦めします。
AddDefaultCharset Off
このディレクティブの詳細は、ご使用のWebサーバーのドキュメントを参照してください。
次のトピックでは注意が必要な追加の詳細情報を提供します。
ここでは、Access Managerで使用するIHS v2の特定の要件を説明します。IHS v2では、バイナリを入手するためにソース・コードをコンパイルする必要はありません。ただし、IHS v2 Webサーバーには次の要件が適用されます。
AIX上でのSSL対応の構成には、xLC.rte.6.0ランタイム・ライブラリが必要です。
SSL対応の構成には、GSKit7が必要で、これはhttps://techsupport.services.ibm.com/server/aix.fdc
からダウンロードできます。
前に説明したproxy_moduleによって、プロキシ/ゲートウェイが実装されます。クライアントは特殊な構成を行う必要はありません。proxy_moduleを使用してFTP、CONNECT (SSL用)、HTTP/0.9、HTTP/1.0、およびHTTP/1.1用のプロキシ機能を実装できますが、特定のAccess Manager ApacheおよびIHS v2 Webgateではリバース・プロキシ機能のみがサポートされています。
Apache Webサーバーの場合: Access Managerでリバース・プロキシ機能を使用するには、configureコマンドにプロキシ・モジュールを含む必要があります。例:
--enable-proxy: Apacheプロキシ・モジュール --enable-proxy-connect: ApacheプロキシCONNECTモジュール
--enable-proxy-ftp: ApacheプロキシFTPモジュール
--enable-proxy-http: ApacheプロキシHTTPモジュール
mod_proxyおよびmod_proxy_httpモジュールを、サーバーに動的にロードする必要もあります。リバース・プロキシは、ProxyPassディレクティブを使用して、またはRewriteRuleディレクティブに[P]フラグを使用して起動します。
IHS Webサーバーの場合: IHS Webサーバーのインストール後、次のディレクトリ内のhttpd.confファイルでリバース・プロキシ構成を完了する必要があります。
IHS_install_dir/confディレクトリ
詳細は、「Apache v2およびIHS v2のリバース・プロキシの起動」を参照してください。
ここでは、Access Managerで使用するApache v2の特定の要件を説明します。追加の情報はご使用のApacheのドキュメントを参照してください。
PATH変数: UNIXシステムでは、Apache v2のコンパイル前に、PATH変数にgccの場所が含まれている必要があります。ただしSunのCコンパイラの場所は、PATH変数に含まないでください。Windowsシステムでは、コマンドラインツールまたはVisual Studio IDE Workbenchを使用してApacheを構築できます。コマンドラインでの構築では、PATH、INCLUDE、LIB、およびvcvars32バッチ・ファイルで構成可能なその他の変数を環境に反映しておく必要があります。
マルチプロセス・モジュール(MPM): Apache v2では、コンピュータ上のネットワーク・ポートをバインドして、リクエストの受付けと処理のために、デフォルトMPMが各プラットフォーム用に提供されています。Apacheでは同時に複数のMPMを使用することはできません。コンパイル中にMPMが選択されていない場合は、デフォルトがWebサーバーにロードされます。コンパイル中にMPMを起動できます。
mod_ssl: Access ManagerはSSL対応または非対応の通信機能を備えたApacheをサポートしています。基本のApache Webサーバーはブラウザ接続にSSLを使用せず、HTTPSリクエストに応答しません。SSL対応の通信用に、Access Managerはmod_ssl付きのApacheのみをサポートしています。SSL固有のAccess Manager機能は、Apache-SSLでは使用できません。
mod_sslは暗号化エンジンの提供をOpenSSLに依存しており、mod_sslがOpenSSLライブラリへのインタフェースを提供します。OpenSSLライブラリは、セキュア・ソケット・レイヤーおよびトランスポート・レイヤー・セキュリティ・プロトコルを使用した強力な暗号化を提供しています。
Apacheの旧バージョンでは、mod_sslモジュールを別途ダウンロードして、サーバーにコンパイルする必要がありました。Apache HTTP Server v2モジュールでは、mod_sslがロード可能なモジュールとして提供されており、構成中に有効化できます。
マルチスレッド化: Apache v1.3.27以降でのインストールではマルチスレッド化が必要です。
Dynamic Shared Object (DSO): WebgateにはDSOサポートが必要です。基本のコア・サーバー機能を拡張するApacheモジュールは、Apacheバイナリに固定的に含むために静的にコンパイルするか、再コンパイルなしで実行時にロードするために動的にコンパイルおよび格納できます。Apache v1.3ではmod_soのコンパイルが必要です。Windowsシステム上のApache v2では、mod_soは基本モジュールで常に含まれています。UNIX上のApache v2では、ロードされたコードは通常、共有オブジェクト・ファイルからのものです。
注意: 動的にロードされたApache 1.3モジュールは、Apache v2では直接使用できません。Apache v1.3モジュールを変更して動的にロードするか、Apache v2にコンパイルする必要があります。 |
mod_perl: mod_perlはPerlプログラミング言語をApache Webサーバーに組み込みます。Perlがなくても、Apache v2の構築とインストールは行えますが、Perlで書かれた一部のサポート・スクリプトが使用できません。
注意: Apache v.1.3.2xでは、構成中に一部のオペレーティング・システムが追加のオプションを必要としていました。しかしApache v2の構築では、追加の変数を設定する必要はありません。 |
Access Manager Webコンポーネントのインストール用にホスト・コンピュータを準備する方法と手順は、次のタスクの概要で説明しているように具体的なWebサーバーとプラットフォームによって異なります。
Access Managerでリバース・プロキシ機能を使用するには、「ApacheおよびIBM HTTPリバース・プロキシ・サーバーについて」で説明しているように、configureコマンドにプロキシ・モジュールを含む必要があります。「Apache v2およびIHS v2のリバース・プロキシの起動」も参照してください。
タスクの概要: Webサーバーの準備とAccess Managerのインストール
次で説明しているように、IHS v2 Webサーバーをインストールまたはコンパイルして、Apache v2 Webサーバーをインストールします。
必要に応じて、「Apache v2およびIHS v2のリバース・プロキシの起動」の説明に従って、リバース・プロキシ機能を起動します。
『Oracle Fusion Middleware Oracle Identity and Access Managementインストレーション・ガイド』の説明に従って、Oracle Access Managementをインストールします。
「Webgate用のhttpd.conf更新の検証」の説明に従って、Webサーバーの構成を終了します。
必要に応じて次のトピックを参照してください。
注意: 次のすべての手順では、パス名変数、モジュール、およびオプションは手順を説明するためだけに提供されている例です。お使いの環境とは異なります。詳細は、お使いのWebサーバーのドキュメントを参照してください。 |
IHS v2 WebサーバーでIHS v2用のWebgateを受け入れて使用できるようにするには、環境や要件に応じて、次の手順の1つ以上を完了する必要があります。
該当する手順を完了すると、IHS v2用のWebgateをインストールする準備が整います。
IHS Webサーバーのインストール前に、この手順を完了してホスト・コンピュータを設定しておく必要があります。詳細は、「IHS2 Webサーバーの要件」および「Apache v2 Webサーバーの要件」を参照してください。
この例ではAIX 5.1へのインストールを示します。お使いの環境とは異なることがあります。
IHS v2のインストールの準備手順
ホスト・コンピュータに、次のサイトからIBM Developer Kit、Java Technology Edition version 1.4をダウンロードしてインストールします。
http://www.ibm.com/java/jdk
IBM Developer KitはWebSphere Application Serverに同梱されており、このサイトからもダウンロードできます。
ホスト・コンピュータに、GSKit7ランタイム実行可能ファイルで必要なAIX 5.1用のxlC.rte 6.0ランタイム・ファイルを次のサイトからダウンロードしてインストールします。
https://techsupport.services.ibm.com/server/aix.fdc
ホスト・コンピュータで新しいディレクトリを作成し、そこにIBM HTTP Serverのインストール・イメージを解凍します。
ホスト・コンピュータに、次のWebサイトからIBM HTTP Serverのインストール・イメージをダウンロードします。
ホスト・コンピュータ上の新規ディレクトリに、インストール・イメージを解凍します。
例:
tar -xf IHS.tar
ご使用のオペレーティング・システムに基づき、次のファイルのリストが表示されます。
gskit.sh setup.jar gskta.rte (a GSKit runtime executable for AIX)
これで次に説明するインストール手順の準備ができました。
次の手順は一般的なIBM HTTP Webサーバーのインストールを紹介するものです。かわりにサイレント・インストールの実行を選ぶこともできます。その場合は、java -jar setup.jar
-silent -options silent.resコマンドで、silent.resファイルを使用します。silent.resテキスト・ファイルを編集することで、サイレント・インストール・オプションをカスタマイズできます。デフォルト設定では、すべてのオプションがTrueに設定されています。オプションを無効にするには、値をFalseに設定します。
Apache v2によって稼動されるIBM HTTP Webサーバーのインストール手順
前の例でコンピュータ上にインストールされたJava Technology Edition version 1.4を指すようにパスを設定します。例:
export PATH=$PATH:/usr/java14/java/bin
インストール・イメージの圧縮先ディレクトリから、次のコマンドを入力します。
java -jar setup.jar
インストールを実行する言語を選択します。
IBM HTTP ServerのInstallShieldウィザードへようこそが表示されます。
次へをクリックしてようこそ画面を閉じます。
ディレクトリ名を指定します。例:
AIX: /usr/IBMIHS/
次へをクリックして続行します。
一般、カスタム、または開発者向けのインストール・オプションが表示されます。一般的なインストールを選択すると、すべてが含まれたリストとイメージ・サイズが表示されます。カスタム・インストールを選択すると、コンポーネント・リストが表示され、インストールが不要な任意のコンポーネントの横のボックスをクリアできます。
実行するインストール・タイプを選択し、次に次へをクリックします。例:
Typical
次のメッセージが表示されます。取消をクリックして、インストールを停止できます。
Installing IBM HTTP Server. Please wait.
次のメッセージも表示されます。取消をクリックして、インベントリの更新を停止できます。
Updating the inventory.
終了をクリックして、インストールを終了します。
次のようにapachectlコマンドを使用して、IHSサーバーを停止し、その後起動します。
例:
IHS2_install_dir/bin
./apachectl stop
./apachectl start
ここで、IHS2_install_dirはIHS v2 Webサーバーをインストールしたディレクトリです。
IHS v2用のWebgateのインストール前または後に、複数のモードでIHS v2 Webサーバーを構成できます。
SSL機能を設定する必要がある場合は、IHS v2用のWebgateのインストール前または後に次の手順を使用してください。
デフォルト構成ファイルを使用したIHS v2用のSSLの設定手順
次のファイルを検索して開きます。
IHS2_install_dir/conf/httpd.conf
SSLEnableディレクティブを指定してSSLを有効にします。
Keyfileディレクティブと有効にする任意のSSLディレクティブを指定します。
次のようにIHSサーバーを停止し、その後起動します。例:
IHS2_install_dir/bin
./apachectl stop
./apachectl start
ここで、IHS2_install_dirはIHS v2 Webサーバーをインストールしたディレクトリです。
次の手順に進みます。
セキュアな仮想ホストを起動する必要がある場合は、IHS v2用のWebgateのインストール前または後に次の手順を使用してください。
IHS v2のセキュアな仮想ホストの起動手順
次のファイルを検索して開きます。
IHS2_install_dir/conf/httpd.conf
ここで、IHS2_install_dirはIHS v2 Webサーバーをインストールしたディレクトリです。
構成ファイルの仮想ホスト・スタンザでSSLEnableディレクティブを指定し、仮想ホストのSSLを有効にします。
キャッシュ・ディレクティブ以外の任意のディレクティブを、仮想ホスト内で指定できます。
Keyfileディレクティブと、その仮想ホストに対して有効にする任意のSSLディレクティブを指定します。
confファイル内でLoadModuleディレクティブを使用して、mod_ibm_ssl.soをロードします。
次のようにIHS仮想ホストを停止し、その後起動します。例:
IHS2_install_dir/bin
./apachectl stop
./apachectl start
注意: SSL実装の開始と停止指示は、SSL非対応の実装と同じです。 |
Apache v2およびIHS v2のリバース・プロキシの起動に進んでください。
Linux上のApacheまたはOracle HTTP ServerにWebgateをインストールする場合、Webサーバーを実行しているユーザーとしてインストールするように促されます。httpd.confファイルのUserおよびGroupディレクティブを参照してください。
ベンダーがバンドルしたRed Hat Enterprise Linux 4上のApache v2用にAccess Manager Webgateをインストールする場合は、すべてのWebgateがWebサーバーのユーザーおよびグループ(デフォルト: apache)用にインストールされていることを確認してください。「Access Manager用のApache/IHS v2 Webgateのチューニング」も参照してください。
注意: Linux上では、Oracle HTTP Server 11g用のWebgateではNPTLのみが使用され、LinuxThreadsライブラリは使用できません。この場合は、環境変数LD_ASSUME_KERNELを2.4.19に設定しないでください。 |
WindowsおよびLinuxプラットフォーム上のOracle HTTP Server v2用にWebgateを使用する場合、PerlモジュールとPHPモジュールの両方を、httpd.conf内でコメント・アウトしておく必要があります。
注意: Oracle HTTP Server 11gでは、どのプラットフォームでもWebgate用のモジュールをコメント・アウトする必要はありません。 |
cert_decodeおよびcredential_mapping認証モジュールを使用する場合、Oracle HTTP Server Webサーバーの構成ファイル内の既存のSSLオプションに、+EarlierEnvVars
および+ExportCertData
を追加して、SSL対応のOracle HTTP Serverでクライアント証明書認証スキームが正しく機能することを確認する必要があります。例:
credential_mapping:
obMappingBase="o=company,c=us",obMappingFilter= "(&(objectclass=InetOrgPerson)(mail=%certSubject.E%))"
ssl.confには次を含む必要があります。
SSLOptions +StdEnvVars +ExportCertData +EarlierEnvVars
Oracle HTTP Serverにsslオプションを追加する手順
Oracle HTTP Server Webサーバーの構成ファイルを検索し、テキスト・エディタで開きます。例:
$ORACLE_INSTANCE/ohs/conf/ssl.conf
ssl.confファイル内の既存のSSLオプションに次の情報を追加します。例:
SSLOptions +StdEnvVars +ExportCertData +EarlierEnvVars
ファイルを保存してWebサーバーを再起動します。
ここでは、Solaris、UNIX、LinuxおよびAIXを含むUNIXプラットフォーム上のでAccess Manager用のApache v2 HTTP Webサーバーの準備の概要と手順を説明します。「AIX上でのApache v2 SSL Webサーバーの準備」も参照してください。
Apache v2はプレーンまたはSSL対応で構成、構築、およびインストールできます。Apacheソース・ファイルのダウンロードおよび解凍後、スクリプト(UNIX上のconfigureスクリプト、およびWindows用のmakefile.win makeスクリプト)を使用して、ご使用の環境に合ったソース・ツリーをコンパイルします。
注意: プラットフォームに関係なく、基本的な要件は同じです。ただし、ここでの以降の説明や手順はUNIXプラットフォームを中心としています。詳細は、「AIX上でのApache v2 SSL Webサーバーの準備」も参照してください。 |
UNIXプラットフォーム上でApache v2を構成する場合、-prefix=
オプションを./configure
コマンドに使用して、インストール・ディレクトリ・パスを指定します。構成中に、環境に適したモジュールを有効にできます。たとえば、コンパイルに動的モジュールが含まれている場合は、サーバーに自動的にmod_soが含まれます。ただし、-enable-so
オプションをconfigureコマンドに含んで、サーバーがDSOのロードが行えることを確認できます。複数のPerlインタプリタをインストールしている場合は、構成中に正しいインタプリタが選択されるように、-with-perlオプションを含むことができます。
configureコマンドには、mod_sslを有効にして、MPMを起動するためのオプションも含むことができます。構成後、./httpd -l
を使用してサーバーにコンパイルされた各モジュールをリストし、選択したMPMを検証できます。
Apacheの構成が終了すると、makeコマンドを使用してApacheパッケージを構成する各種の部品を構築し、構成中に-prefix=
オプションで指定したインストール・ディレクトリにパッケージをインストールします。
手順や例については、次の手順とご使用のApacheのドキュメントを参照してください。
次の手順では、パス名変数、モジュール、およびオプションは手順を説明するためだけに提供されている例です。お使いの環境とは異なります。詳細は、お使いのWebサーバーのドキュメントを参照してください。Apache v2.0.48とv2.0.52では構築手順に違いはありません。
UNIX用のプレーンApache v2の準備手順
ご使用の環境が、次の場所にあるApacheのドキュメントに記載された、該当するコンパイラと構築ツールのApache要件を満たしていることを確認してください。
http://httpd.apache.org/docs-2.0/install.html#requirements
注意: Apache v2およびAccess Managerプラグイン用にサポートされているコンパイラ・バージョンについては、既知の制約はありません。Apacheのドキュメントを参照してください。 |
Apacheのドキュメントに記載された、完全な、未修正版のApache HTTP Server v2をダウンロードしてください。例:
http://httpd.apache.org/download.cgi
注意: 必要な場合は、必ずPerlをダウンロードしてください。 |
Apacheのドキュメントに記載されているように、tarballからソース・ファイルを解凍(解凍後、untar)します。例:
gzip -d httpd-2_0_48.tar.gz tar -xvf httpd-2_0_48.tar
次の手順をApacheソース・ツリーの構成例として使用できます。Webgate用のmpm_worker_moduleを使用してUNIX上でApacheをコンパイルする場合は、「Webgate用のmpm_worker_moduleを使用したUNIX上のApache v2」を参照してください。
注意: Access Managerでリバース・プロキシ機能を使用するには、「ApacheおよびIBM HTTPリバース・プロキシ・サーバーについて」で説明しているように、configureコマンドにプロキシ・モジュールを含む必要があります。 |
Apacheソースを構築するためには、正しいパスに正しいバージョンのGNU gccライブラリがあることを確認してください。gccライブラリは次のPATHにある必要があります。
export PATH=/usr/local/packages/gcc-3.4.6/bin:$PATH
Apacheのドキュメントを使用して、Apacheソース・ツリーを構成し、該当するモジュールを有効化または起動します。例:
cd apache_source_dir
./configure --with-mpm=prefork --prefix=apache_install_dir --with-included-apr
./configure --with-mpm=worker --prefix=apache_install_dir --with-included-apr
ここで、apache_source_dirはApacheを解凍したディレクトリで、apache_install_dirはApacheのインストール・ディレクトリです。
makeコマンドを使用して構成したApacheパッケージをコンパイルします。例:
make
--prefix=オプションを使用して、先ほど指定した構成ディレクトリ・パスにApacheパッケージをインストールします。例:
make install
Apacheのドキュメントの指示を使用してインストールをカスタマイズします。
たとえば、次の基本値を設定するためにhttpd.confのチューニングが必要になる場合があります。
ServerName User/owner of the WebServer Group
注意: 全値のリストを表示するには、コマンド./configure --helpを使用します。 |
apache_install_dir/binディレクトリ内のコマンドを使用して、Apache Webサーバーを停止して再起動し、インストールをテストします。例:
./apachect1 stop ./apachectl start
ご使用の環境に合った次のようなタスクに進みます。
次の手順では、SSL対応のApache v2 WebサーバーをUNIX上で準備する方法を説明します。Apacheのmod_sslはロード可能ですが、このインストールではSSL/TLS用のOpen Sourceツールキットが必要です。また、必要な場合は、必ずPerlをダウンロードしてください。使用しているプラットフォームがAIXの場合は、「AIX上でのApache v2 SSL Webサーバーの準備」で必ず詳細を確認してください。
UNIX上のSSL対応Apache v2の準備手順
ご使用の環境が、次の場所にあるApacheのドキュメントに記載された、該当するコンパイラと構築ツールのApache要件を満たしていることを確認してください。
http://httpd.apache.org/docs-2.0/install.html
Apacheのドキュメントに記載された、完全な、未修正版のApache HTTP Server v2とOpen Sourceをダウンロードしてください。
http://httpd.apache.org/download.cgi
http://www.openssl.org/
Apacheのドキュメントに記載されているように、tarballからソース・ファイルを解凍(解凍後、untar)します。例:
gzip -d httpd-2_0_48.tar.gz tar -xvf httpd-2_0_48.tar gzip -d openssl-0_9_6f.tar.gz tar -xvf openssl-0_9_6f.tar
Apacheのドキュメントに記載されているように、OpenSSLソース・ツリーを構成します。例:
cd openssl_source_dir ./config -fPIC --prefix=openssl_install_dir
ここで、openssl_source_dirはOpenSSLを解凍したディレクトリで、openssl_install_dirは構成済のOpenSSLパッケージのインストール・ディレクトリです。
--prefix=オプションを使用して、先ほどmakeコマンドで構成したインストール・ディレクトリにOpenSSLパッケージをコンパイルします。例:
make
make testコマンドを発行してOpenSSLのサニティ・テストを実行し、必要なツールの正しいバージョンをチェックします。例:
make test
--prefix=オプションを使用して、先ほど指定した構成ディレクトリ・パスにOpenSSLパッケージをインストールします。例:
make install
Apacheのドキュメントに記載されているように、Apacheソース・ツリーを構成し、該当するモジュールを有効化または起動します。例:
cd apache_source_dir ./configure --prefix=apache_install_dir --enable-so \ --with-mpm='prefork' --with-perl=perl_interpreter_path \ --with-port=non_ssl_port --enable-ssl \ --with-ssl=openssl_install_dir
ここで、apache_source_dirはApacheを解凍したディレクトリで、apache_install_dirはApacheのインストール・ディレクトリです。そしてopenssl_install_dirは構成済のOpenSSLパッケージをインストールしたディレクトリです。
makeコマンドを使用してApache SSL対応パッケージを、--prefix=オプションを使用して構成したインストール・ディレクトリでコンパイルします。例:
make install
--prefix=オプションを使用して、先ほど指定した構成ディレクトリ・パスにApache SSL対応パッケージをインストールします。例:
make install
SSLを有効にするには、openssl_install_dir/bin/にあるopensslツールを使用して、Apache v2サーバー用の証明書を明示的に作成する必要があります。証明書作成コマンドは、Apache v2では機能しません。
ご使用のOpenSSLのドキュメントに記載されているように、openssl_install_dir/binディレクトリ内のOpenSSLツールを使用して証明書を作成しますが、その際、共通名は完全に就職されたホスト名である点を忘れないでください。
Apacheのドキュメントの指示を使用してインストールをカスタマイズします。
次の基本値を設定するために、httpd.confをチューニングします。
ServerName User/owner of the WebServer `Group
次の基本値を設定するために、ssl.confをチューニングします。
Listen 7000 <VirtualHost _default_:7000> ServerName ps0733.persistent.co.in:7000 SSLCertificateFile /home/qa/software/ws/apache/ apache-2.0.48_ssl_7000/conf/ssl.crt/server.crt SSLCertificateKeyFile /home/qa/software/ws/apache/ apache-2.0.48_ssl_7000/conf/ssl.key/server.key
apache_install_dir/binディレクトリ内のコマンドを使用して、Apache Webサーバーを停止して再起動し、インストールをテストします。例:
./apachectl stop ./apachectl startssl
必要に応じて、Apache v2およびIHS v2のリバース・プロキシの起動に進んでください。
Apache v2 SSL Webサーバーの構築中に、OpenSSLライブラリlibssl.aからの記号がApacheのhttpd実行可能ファイルにエクスポートされます。Access ManagerがOpenSSLライブラリから必要な記号は次のとおりです。
SSL_get_peer_certificate( )
i2d_X509( )
AIXプラットフォーム上でのリンクとバインド中に、未使用または参照されていない記号は削除されます。したがってAccess Managerが必要とする2つの記号が、httpd実行可能ファイルには含まれません。
AIX上でのコンパイルにはopenssl-0.9.7dを使用する必要があります(AIX上ではopenssl-0.9.7eはコンパイルしません)。以降の手順はUNIXopenssl-0.9.7dの場合と同じです。
クライアント証明書認証: AIXプラットフォームでクライアント証明書認証を使用している場合は、AIX上でのdlsymの問題に対する次のホット・フィックスが適用されたAIX 5.2 Maintenance Level 4を必ず使用してください。
http://www-1.ibm.com/support/docview.wss?uid=isg1IY63366
Apache v2用のAIXプラットフォームの準備手順
ご使用のAIXプラットフォームが、Access Managerのシステム要件を満たしていることを確認してください。
「 UNIX上でのApache v2 Webサーバーの準備」の詳細を参照し、Apache v2 Webサーバーの構築時には次を行います。
openssl-0.9.7dを使用してAIX用にWebサーバーをコンパイルします。
makeコマンドを次のように使用します。
make MFLAGS=EXTRA_LDFLAGS='-Wl,-bE:OpenSSL_Symbols.exp'
ここで、OpenSSL_Symbols.expは必要な2つの記号が含まれたファイルです。記号は次のように、エクスポート・ファイルだけを使用してエクスポートする必要があります。
注意: 次の方法でAIX上に記号をエクスポートしないでください。-bnog: 記号のガベージ・コレクションを抑制 -bexpal: すべての記号のエクスポート -uSymbolName: 特定の記号のエクスポート。 |
以降では、Windows上のApache v2とUNIX上のApache v2のインストールと構成の違いについて、詳細に説明しています。詳細はご使用のApacheのドキュメントを参照してください。
インストール中: 選択したインストール・ディレクトリを反映するように、Apacheが\confサブディレクトリ内のファイルを構成します。このディレクトリ内のいずれかの構成ファイルが既存の場合、対応するファイルの新規コピーが.ORIGの拡張子で書き込まれます。たとえば、\conf\httpd.conf.ORIGです。
インストール後: \confサブディレクトリ内のファイルを使用して、Apacheが構成されます。これらはUNIXバージョンの構成に使用するものと同じファイルです。ただしいくつかの違いがあります。
\confサブディレクトリの構成ファイルを編集して、環境に合わせてApacheをカスタマイズする必要があります。これらのファイルはインストール中に構成され、htdocsサブディレクトリのドキュメント・サーバーとともに、インストール・ディレクトリのApacheを実行する準備が整います。Apacheの使用開始前に設定する必要があるオプションが多数あります。たとえば、構成ファイルでListenディレクティブを変更するか、現在のユーザー専用にApacheをインストールしないかぎり、Apacheはポート80をリッスンします。
マルチスレッド化: Windows用のApacheはマルチスレッド化されており、これはUNIX上でのApacheの各リクエストに個別のプロセスは使用しないことを意味しています。かわりに、通常は親プロセスとリクエストを処理する子プロセスという、2つのApacheプロセスだけが実行しています。子プロセス内では、各リクエストが個別のスレッドとして処理されます。
UNIX形式の名前: Apacheは内部でUNIX形式の名前を使用します。引数としてファイル名を受け付けるディレクティブは、UNIXファイル名ではなくWindowsファイル名を使用する必要があります。ただし、バック・スラッシュではなく、フォワード・スラッシュを使用する必要があります。ドライブ文字は使用できます。ただし、ドライブ文字を省略する場合は、Apacheの実行可能ファイルのドライブが適用されます。
LoadModuleディレクティブ: Windows用のApacheには、サーバーの再コンパイルを行わなくても、実行時にモジュールをロードする機能が含まれています。Apacheが正しくコンパイルされれば、\Apache2\modulesディレクトリ内にオプションのモジュールがいくつかインストールされます。これらのモジュールやその他のモジュールを起動するには、LoadModuleディレクティブを使用する必要があります。たとえば、statusモジュールを起動するには、次を使用します(access.conf内のステータス起動ディレクティブに加え)。
LoadModule status_moduleモジュール/mod_status.so
UNIXでは、ロードされたコードは通常、共有オブジェクト・ファイル(.soの拡張子)からのもので、Windowsでは.soまたは.dllの拡張子が付いています。
プロセス管理ディレクティブ: これらのディレクティブもWindows上のApacheでは異なります。
エラー・ロギング: Apacheの起動中に、エラーがWindowsイベント・ログに記録され、これがerror.logファイルのバックアップを提供します。詳細はご使用のApacheのドキュメントを参照してください。
Apacheサービス・モニター: ApacheにはApache Service Monitorユーティリティが含まれています。これによって、ネットワーク上の任意のコンピュータ上にあるインストール済のすべてのApacheサービスの状態を表示および管理できます。モニターでApacheサービスを管理するには、最初にサービスをインストール必要があります。ApacheはWindows上のサービスとして実行できます。詳細はご使用のApacheのドキュメントを参照してください。
起動、再起動、シャットダウン: Apacheをサービスとして実行する方法をお薦めします。Apacheサービスは通常、Apache Service MonitorやNET START Apache2およびNET STOP Apache2などのコマンドを使用して起動、再起動、およびシャットダウンします。標準のWindowsサービス管理も使用できます。
apacheコマンドを使用して、コマンドラインからApacheを使用できます。Control-Cを押して停止するまで、Apacheは実行を継続します。インストール中に開始メニューからApacheを実行することもできます。
注意: Control-Cを押しても、Apacheは現在実行中の操作の終了と正常なクリーンアップを行えません。 |
Apacheサービス・アカウント: デフォルト設定では、すべてのApacheサービスはシステム・ユーザー(LocalSystemアカウント)として実行するように登録されています。LocalSystemアカウントには、Windowsセキュアなメカニズムによって、ネットワーク権限がありません。ただしLocalSystemアカウントは、ローカルでは広範な特権があります。1つ以上のApacheサービスを実行するための個別アカウント作成の詳細は、ご使用のApacheのドキュメントを参照してください。
Windows用のApache v2の準備手順
ご使用の環境が、次の場所にあるApacheのドキュメントに記載されたApache要件を満たしていることを確認してください。
http://httpd.apache.org/docs-2.0/install.html
Windowsでのインストール用に、Apache v2をダウンロード可能なHTTPおよびFTPミラーのリストがオンラインで提供されています。
次の手順を終えたら、.msiの拡張子が付いた、Windows用のApacheバージョンを必ずダウンロードしてください。
Apacheのドキュメントに記載された、完全な、未修正版のApache HTTP Server v2(およびOpenSSL)をダウンロードしてください。例:
http://httpd.apache.org/download.cgi
http://www.openssl.org/
Apacheのドキュメントを参照して、Apache v2をインストールします(ダウンロードした.msiファイルを実行し、要求された情報を提供)。
.default.confファイルを検索し、新しい設定を検証し、次に必要に応じて既存の構成を更新します。
Apacheをコンソールウィンドウ内で、またはサービスとして起動します。
ブラウザを起動し、次のURLを入力してサーバーに接続詞、デフォルト・ページにアクセスします。例:
http://localhost/
ようこそページと、Apacheマニュアルへのリンクが表示されるはずです。そうでない場合は、logsサブディレクトリ内のerror.logファイルを確認してください。
基本的なインストールが機能したら、\confサブディレクトリ内のファイルを編集して正しく構成する必要があります。
Apacheのドキュメントを参照して、ご使用の環境に合わせてApacheを構成します。
カスタマイズされた環境をテストします。
必要に応じて、Apache v2およびIHS v2のリバース・プロキシの起動に進んでください。
Apache v2およびIHS v2 powered by Apache用のWebgateは、リバース・プロキシ機能を起動している場合に、この機能をサポートします。リバース・プロキシ機能の実装手順は、ご使用の環境によって異なります。
Access Managerでリバース・プロキシ機能を使用するには、Webサーバーに対するconfigureコマンドにApacheプロキシ・モジュールを含む必要があります。mod_proxyおよびmod_proxy_httpモジュールを、サーバーに動的にロードする必要もあります。リバース・プロキシは、ProxyPassディレクティブを使用して、またはRewriteRuleディレクティブに[P]フラグを使用して起動します。
リバース・プロキシ機能は、ProxyPassディレクティブを使用して、またはRewriteRuleディレクティブに[P]フラグを使用してアクティブにします。リバース・プロキシを構成するためにProxyRequestsを有効にする必要はありません。リバース・プロキシ(ProxyRequests Offを使用したProxyPassディレクティブ)を使用する場合、アクセス制御はそれほど問題になりません。これは、クライアントがコンタクトできるのは具体的に構成したホストのみであるためです。<Proxy>制御ブロックを使用して、プロキシへのアクセスを制御できます。
Apache v2 Webサーバーのリバース・プロキシ機能の起動手順
「ApacheおよびIBM HTTPリバース・プロキシ・サーバーについて」を確認してください。
必要に応じて、Webサーバー用のconfigureコマンドにApacheプロキシ・モジュールを含みます。
例:
--enable-proxy --enable-proxy-connect --enable-proxy-ftp --enable-proxy-http
詳細は、Apacheのドキュメントを参照してください。
次のようにProxyPassディレクティブを使用して、またはRewriteRuleディレクティブに[P]フラグを使用して、リバース・プロキシを起動します。
Reverse Proxy ProxyRequests Off <Proxy *> Order deny,allow Allow from all </Proxy> ProxyPass /foo http://foo.example.com/bar ProxyPassReverse /foo http://foo.example.com/bar
次のように<Proxy>コントロール・ブロックを使用して、各自のプロキシへのアクセスを制御します。
<Proxy *> Order Deny,Allow Deny from all Allow from 192.168.0 </Proxy>
第22章「Access Manager 11gを使用する10g Webgateの登録および管理」の手順を実行します(実行していない場合)。
Webサーバーのインストール後に次の手順を使用します。
Apache v2 Webサーバーのリバース・プロキシ機能の起動手順
「ApacheおよびIBM HTTPリバース・プロキシ・サーバーについて」を確認してください。
「IHS v2 Webサーバーの準備」で説明しているように、IHS v2 Webサーバーをインストールします。
これらの行を(コメントなしで)次の場所にあるhttpd.confファイルのDynamic Shared Objectセクションに含んで、モジュールをロードします。
IHS_install_dir/conf/httpd.conf
LoadModule access_module modules/mod_access.so LoadModule auth_module modules/mod_auth.so LoadModule auth_dbm_module modules/mod_auth_dbm.so LoadModule include_module modules/mod_include.so LoadModule log_config_module modules/mod_log_config.so LoadModule env_module modules/mod_env.so LoadModule unique_id_module modules/mod_unique_id.so LoadModule setenvif_module modules/mod_setenvif.so LoadModule proxy_module modules/mod_proxy.so LoadModule proxy_connect_module modules/mod_proxy_connect.so LoadModule proxy_ftp_module modules/mod_proxy_ftp.so LoadModule proxy_http_module modules/mod_proxy_http.so LoadModule mime_module modules/mod_mime.so LoadModule dav_module modules/mod_dav.so LoadModule autoindex_module modules/mod_autoindex.so LoadModule asis_module modules/mod_asis.so LoadModule info_module modules/mod_info.so LoadModule cgid_module modules/mod_cgid.so LoadModule dav_fs_module modules/mod_dav_fs.so LoadModule vhost_alias_module modules/mod_vhost_alias.so LoadModule dir_module modules/mod_dir.so LoadModule imap_module modules/mod_imap.so LoadModule actions_module modules/mod_actions.so LoadModule userdir_module modules/mod_userdir.so LoadModule alias_module modules/mod_alias.so LoadModule rewrite_module modules/mod_rewrite.so
IfModule mod_proxy.cタグの下のディレクティブ--次の情報と例を使用して、次の点を確認してください。
AllowまたはDeny条件が適切にコメント・アウトされていること。
例:
<Proxy *> Order deny, allow # Deny from all Allow from all # Allow from .domain.com </Proxy>
保護するURLが、ProxyPassおよびProxyPassReverseディレクティブの両方に記述されていること。
例:
<IfModule mod_proxy.c> ProxyRequests Off ProxyPass /testproxy http://bedford: 8809/testrev/ ProxyPassReverse /testproxy http://bedford: 8809/testrev/ ProxyPass /test2 http://bedford: 8809/testrev/ ProxyPassReverse /test2 http://bedford: 8809/testrev/
httpd.confファイルを変更した後で、Webサーバーを再起動します。
テスト: プロキシURLにアクセスするには、http://<proxy_host>:80/testproxy/
にアクセスします。
注意: テスト中は、URLの最後にフォワード・スラッシュがあることを確認してください。最後にフォワード・スラッシュがないとリソースにアクセスできないことがあります。 |
リバース・プロキシ・サーバー上でSSLを有効にします。IHSデフォルト・ページのドキュメントを使用します。
たとえば、httpd.confファイルのDSOセクションのサンプルSSL設定は、ibm_ssl_moduleを次のようにロードします。
LoadModule ibm_ssl_module modules/mod_ibm_ssl.so
次のディレクティブをhttpd.confファイルに含みます。
SSLEnable Keyfile /opt/IBMIHS/bin/key.kdb SSLClientAuth none SSLProxyEngine on
サーバーを再起動します。
WebサーバーのURLにアクセスし、ブラウザに証明書が提示されることを確認します。
注意: 前のディレクティブをコメント・アウトしてサーバーを再起動するだけで、Webサーバーをオープン・モードに切り戻せます。 |
key.kdb: key.kdbを生成するには、IHS_install_dir/binディレクトリに提供されているikeymanユーティリティを使用します(できればGUIモードで) 。
注意: ikeymanユーティリティはgsk7basユーティリティを使用します。ただし、gsk7basにフィックス・パックPQ83048を適用する必要があります。 |
次の手順を実行します。
第22章「Access Manager 11gを使用する10g Webgateの登録および管理」で説明するように、Access Manager 11gを使用して10g Webgateのインストールを完了します(完了していない場合)。
必要に応じて、この章に戻って、残りのタスクを実行します。
次の手順を完了して、ApacheまたはIHS v2のhttpd.confファイルに、Access Manager用のWebサーバー構成の更新が含まれていることを確認するようお薦めします。詳細は次を参照してください。
IHS Webサーバー上のリバース・プロキシ用httpd.confを更新するには、「IHS v2 Webサーバーのリバース・プロキシの起動」を参照してください。Webサーバー用にhttpd.confをカスタマイズするには、ご使用のWebサーバーのドキュメントを参照してください。
次の例は、httpd.confファイルのWebgateセクションを示します。環境によって詳細は異なります。この例は、httpd.confでの各種変更を示すためだけに提供されています。
httpd.confのWebgateセクションの検証手順
Webgateをホスティングしているコンピュータ上の更新済httpd.confファイルを検索します。
httpd.confファイルを開き、使用しているプラットフォームのWebgateをロードするセクションがあることを確認します。
例:
Windowsの場合
#*** BEGIN Oblix NetPoint Webgate Specific **** <IfModule mod_ssl.c> LoadModule obWebgateModule "WebGate_install_dir\access\oblix\apps\webgate\bin\webgatessl.d ll" WebGateInstalldir "WebGate_install_dir" WebGateMode PEER </IfModule> <IfModule !mod_ssl.c> LoadModule obWebgateModule "WebGate_install_dir\access\oblix\apps\webgate\bin\webgate.dll" WebGateInstalldir "WebGate_install_dir" WebGateMode PEER </IfModule> <Location "\oberr.cgi"> SetHandler obwebgateerr </Location> <LocationMatch "/*"> AuthType Oblix require valid-user </LocationMatch> #*** END Oblix NetPoint Webgate Specific ****
UNIXの場合
#*** BEGIN Oblix NetPoint Webgate Specific **** LoadFile "/home/qa/netpoint/703/c1-copy/wg/access/oblix/lib/libgcc_s.so.1" LoadFile "/home/qa/netpoint/703/c1-copy/wg/access/oblix/lib/libstdc++.so.5" <IfModule mod_ssl.c> LoadModule obWebgateModule "/home/qa/netpoint/703/c1-copy/wg/access/oblix/ apps/webgate/bin/webgatessl.so" </IfModule> <IfModule !mod_ssl.c> LoadModule obWebgateModule "/home/qa/netpoint/703/c1-copy/wg/access/oblix/ apps/webgate/bin/webgate.so" </IfModule> WebGateInstalldir "/home/qa/netpoint/703/c1-copy/wg/access" WebGateMode PEER <Location /access/oblix/apps/webgate/bin/webgate.cgi> SetHandler obwebgateerr </Location> <Location "/oberr.cgi"> SetHandler obwebgateerr </Location> <LocationMatch "/*"> AuthType Oblix require valid-user </LocationMatch> #*** END Oblix NetPoint Webgate Specific ****
UNIXの場合の注意点
HP-UX上でApache v2を実行する場合、共有メモリーが機能しない可能性があるので、UserまたはGroupにはnobodyを使用しないでください。かわりにご使用のログイン名をユーザー名に使用し、グループのグループを"Oblix"とします(またはユーザー名を"www"で、グループ名を"others")。HP-UX上の"www"はSolaris上の"nobody"と同じです。
HPUX 11.11上でApache v2を実行する場合、Apache httpd.confファイル内のAcceptMutexディレクティブが"fcntl"に設定されていることを確認してください。このディレクティブがない場合は、httpd.confファイル(AcceptMutex fcntl)に追加します。詳細は、http://issues.apache.org/bugzilla/show_bug.cgi?id=22484)を参照してください。
AIX上のIHSの注意点
#*** BEGIN Oblix NetPoint Webgate Specific **** LoadModule obWebgateModule DR/oblix/apps/webgate/bin/webgate.so WebGateInstalldir DR WebGateMode PEER <Location "/oberr.cgi"> SetHandler obwebgateerr </Location> <LocationMatch "/*"> AuthType Oblix require valid-user </LocationMatch> #*** END Oblix NetPoint Webgate Specific ****
chmod -r username:groupnameディレクトリ/ファイルを使用してディレクトリまたはファイルのユーザー名およびグループ名を変更します。
この場合は、httpd.confファイル内のUserおよびGroupパラメータも変更する必要があります。
詳細は、「Access Manager用のApache/IHS v2 Webgateのチューニング」を参照して、Apache v2用のAccess Managerの実装を終了するために必要な手順を完了してください。
重要: httpd.confファイルからWebgate関連の変更をクリアする必要がある場合にかぎり、次の手順を使用し、改めてWebgate用のApache v2 Webサーバー構成を完了する必要があります。 |
httpd.conf更新を新規に開始する手順
元のhttpd.confファイルをリストアして、既存のAccess Managerエントリを削除します。
次の方法を使用して、Access Manager用のhttpd.confファイルを更新します。
第22章「Access Manager 11gを使用する10g Webgateの登録および管理」で説明するように、ファイルcomponent_install_dir/access/oblix/lang/LangTag/docs/config.htmを開いて、手動で構成を実行します。
または、component_install_dir/access/oblix/tools/setup/InstallTools/ManageHttpConf内のManageHttpConfプログラムをオプションなしで実行して、使用方法に関する指示を出力します。
注意: httpd.confファイル内にWebgateエントリがある状態でManageHttpConfプログラムを実行すると、エラー・メッセージが表示され、httpd.confファイルは更新されません。 |
「Access Manager用のApache/IHS v2 Webgateのチューニング」の作業を完了してください。
前述のように、Access Manager HTMLページではUTF-8エンコーディングを使用します。ApacheベースのWebサーバーでは、管理者はHTMLページを生成しているアプリケーションが指定する文字を無効にするAddDefaultCharset
ディレクティブを使用して、送信されるすべてのHTMLページにデフォルトの文字セットを指定できます。AddDefaultCharset
ディレクティブがUTF-8以外の文字セットを有効にした場合、Access Manager HTMLページで文字化けが発生します。
正しい言語エンコーディングの確認手順
httpd.confファイルを開きます。
AddDefaultCharset
ディレクティブを探します。
次のいずれかの作業を完了し、Access Manager HTMLページのエンコーディングが正しいことを確認します。
AddDefaultCharset
ディレクティブをオフにします。
または、AddDefaultCharset
ディレクティブをコメント・アウトします。
httpd.confファイルを保存してWebサーバーを再起動します。
Oracle HTTP Server用のAccess Manager Webコンポーネントをインストールしたら、次の手順を実行する必要があります。
前述のように、Oracle HTTP Server用のWebgateをインストールする前に、コンポーネントのインストールを行うユーザーに合わせて、httpd.confファイル内のユーザーとグループを変更する必要があります。
注意: Linux上では、Oracle HTTP Server 11g用のWebgateではNPTLのみが使用され、LinuxThreadsライブラリは使用できません。この場合は、環境変数LD_ASSUME_KERNELを2.4.19に設定しないでください。 |
Webgate用のOracle HTTP Serverのチューニング手順
通常通り、opmnをシャットダウンします。
opmn.xmlを探して、編集用に開きます。例:
$oracle_home/opmn/bin/opmn.xml
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>
次のスクリプトを実行して、OPMNの構成をリフレッシュします。
#oracle_home/opmn/bin/opmnctl reload
「Oracle HTTP Server Webサーバーの起動と停止」に従って、Oracle HTTP Server Webを起動します。
これらのWebサーバー用に、Webgateの特定のチューニング・パラメータを設定することをお薦めします。
この項で説明しているチューニング・パラメータは、Apache v2.0およびOHS11gのhttpd.confファイルで構成されています。
ただしApache v2.2の場合は、次のファイルでチューニングが構成されています。
apache_install_dir/conf/extra/httpd-mpm.conf
apache_install_dir/conf/extra/httpd-default.conf
またApache v2.2では、httpd-mpm.confとhttpd-default.confのエントリは次のようにコメント・アウトは行わないでください。
前:
#Include conf/extra/httpd-mpm.conf #Include conf/extra/httpd-default.conf
後:
Include conf/extra/httpd-mpm.conf Include conf/extra/httpd-default.conf
それぞれの環境で必要に応じて次に進んでください。
次の説明は、Oracle HTTP ServerまたはApache PreforkモジュールでAccess Managerを使用する場合の大まかなガイドラインとして使用することをお薦めします。
Timeout 300
KeepAlive On
MaxKeepAliveRequests 500
KeepAliveTimeout 10
StartServers: 5 (最初に起動するプロセスの数; 起動時のみ使用。)
MaxClients: 500 (ピーク時の負荷を処理するための合計プロセス数。ピーク時のリクエスト処理用に作成する子プロセス数を決定します。
ServerLimit: 500 (プロセス存続期間中のMaxClientsの最大構成値。MaxClientsがデフォルトよりも高い値に設定されている場合、ServerLimit値には残りのパラメータより高い値を設定する必要があります。
MinSpareServers、MaxSpareServers: デフォルト値で過度の負荷を処理するための要件を満足できるはずです。操作中は、これらの値によって、親プロセスはリクエスト処理用の子プロセス作成を規制します。
MaxRequestsPerChild: 0 - 各子プロセスに送信するリクエスト数。0はプロセスが失効しないことを示します。
次の説明は、Oracle HTTP ServerまたはApache PreforkモジュールでAccess Managerを使用する場合の大まかなガイドラインとして使用することをお薦めします。
Timeout 300
KeepAlive On
MaxKeepAliveRequests 500
KeepAliveTimeout 10
StartServers: 2 (最初に起動するプロセスの数; 起動時のみ使用。)
MaxClients: 500 (ピーク時の負荷を処理するための合計プロセス数。ピーク時のリクエスト処理用に作成する子プロセス数を決定します。
ServerLimit: 25 (プロセス存続期間中のMaxClientsの最大構成値。MaxClientsがデフォルトよりも高い値に設定されている場合、ServerLimit値には残りのパラメータより高い値を設定する必要があります。
MinSpareServers、MaxSpareServers: 25、75。操作中は、これらの値によって、親プロセスはリクエスト処理用の子プロセス作成を規制します。
ThreadsPerChild: 25 (単一のhttpdプロセス内のワーカー・スレッド数。)
MaxRequestsPerChild: 0 (このディレクティブは、各子サーバー・プロセスが処理するリクエスト数の制限を設定します。0の値はプロセスが失効しないことを示します。)
ファイル記述子のソフトおよびハード・リミットのカーネル・パラメータが、高い値に設定されていることを確認することをお薦めします。例:
ハード・リミット(rlim_fd_max): 65535
ソフト・リミット(rlim_fd_cur): 65535
リクエスト用にソケットの開閉を行うApacheサーバーでは、ファイル記述子の値を高く設定しておくことを強くお薦めします。
Oracle HTTP Server Webサーバーの起動と停止は、すべてのプラットフォーム上のv1.3とv2の両方に共通です。
Oracle HTTP Server Webサーバーの起動手順
次のディレクトリを探して移動します。
$ORACLE_HOME\opmn\bin\
コマンドラインから、次のコマンドを入力します。
opmnctl/startproc process-type=HTTP_Server
Oracle HTTP Server Webサーバーの停止手順
次のディレクトリを探して移動します。
$ORACLE_HOME\opmn\bin\
コマンドラインから、次のコマンドを入力します。
opmnctl/stopproc process-type=HTTP_Server
特に明記しないかぎり、ここに記載された情報はApacheおよびIHS v2 Webgate(プラグインとも呼ばれている)の両方に適用されます。Oracle HTTP Serverの詳細は、『Oracle HTTP Server管理者ガイド10gリリース2 (10.1.2)』を参照してください。
セキュリティ拡張LinuxにバンドルされたApache v2: SELinuxでは、Access Manager Webgateのインストール後に、より厳格なSELinuxポリシーが設定されたLinuxディストリビューションで、Webサーバーを起動する際に、WebServerログ/コンソールにエラーが報告されます。Webサーバーを再起動する前に、インストールされたWebコンポーネント用の適切なchcon
コマンドを実行することにより、これらのエラーを防止できます。
Apache v2がバンドルされたSELinux対応のLinuxディストリビューション: セキュリティ強化されたLinux(SELinux)は、アクセス・コントロール・メカニズムの強制自動的に実装します。ご使用のLinuxのドキュメントにも記載されているように、SELinuxポリシーはシステム・デーモン用に、/etc/httpd/conf、/usr/sbin/apachect、および/var/log/(これはほんの一例)などの特定の事前定義済システム・ディレクトリへのアクセスを提供します。
バンドルされたApache Webサーバーを使用してWebgateをインストールした場合、Apacheのプロセスがインストール・ファイルにアクセスできるように、特定のポリシーを追加する必要があります。
バンドルされたApache Webサーバーは、context=user_u:system_r:unconfined_t
として定義されたセキュリティ・コンテキストで、ユーザー"apache"として実行されます。その結果、Webgateをいずれかのユーザー・フォルダにインストールすると、Apache Webサーバーは起動しません。
$SELINUX_SRC変数は、SELinuxポリシー・ソース・ディレクトリを示します。デフォルト値は/etc/selinux/targeted/src/policyです。ただし、お使いの環境とは異なることがあります。ご使用のシステムの実際の値については、必ずシステム管理者にご相談ください。
Access ManagerのポリシーをRed Hat Enterprise Linux 4にバンドルされたApacheに追加する手順
各Access Manager Webgateのインストール後、「root」ユーザーとしてログインします。
Webサーバーのユーザーおよびグループ(デフォルト: apache)に対して、すべてのWebgateがインストールされていることを確認します。
oracle_access_manager.teポリシー・ファイルを$SELINUX_SRC/domains/programs/directoryに作成し、次のルールを追加します。
type oracle_access_manager_t, file_type, sysadmfile; allow httpd_t oracle_access_manager_t:file { rw_file_perms create rename link unlink setattr execute }; allow httpd_t oracle_access_manager_t:dir { rw_dir_perms create append rename link unlink setattr };
oracle_access_manager.fcファイル・コンテキストを$SELINUX_SRC/file_contexts/programに作成し、Webgateのインストール・ディレクトリを登録します(アイデンティティやアクセスの接尾辞なしで)。例:
Oracle_Access_Manager_install_dir(/.*)? system_u:object_r:oracle_access_
manager_t
注意: WebgateをAccess Managerとは別のディレクトリにインストールする場合、必ずWebgateインストール・ディレクトリを別に登録してください。 |
ポリシー・ファイルを次のようにコンパイルおよびデプロイします。
cd $SELINUX_SRC
make load
Label Oracle Access Manager files
run restorecon -R Oracle_Access_Manager_install_dir (without the identity or access suffix)
Apache v2ディレクティブ: Apache 1.3は複数のHTTPリクエストに同時に対応するために、プロセス・モデルを使用します。これはWebサーバーが採用している、1つのプロセスで同時に複数のリクエストを管理するシングル・プロセス(スレッド)モデルとは異なります。
注意: Apache v2内のprefork MPMだけがApache v1.3と同様のHTTPリクエスト処理プロセス・モデルを使用しています。その他すべてのMPMでは、Apache v2はハイブリッドのプロセス・スレッド・モデルを使用しています。 |
Apache v2 Webサーバー構成ファイル(httpd.conf)内のいくつかのディレクティブは、Apache Webサーバーによるワーカー・プロセスの作成や破壊の決定方法に影響を及ぼします。次のパラメータはApache v2 Webサーバーのパフォーマンスに影響を及ぼします。
ThreadsPerChild: このディレクティブは、各子プロセスが作成するスレッド数を設定します。子プロセスは起動時にこれらのスレッドを作成し、追加作成は行いません。
MinSpareThreads: この値はmpm_workerだけで使用されます。Access Managerプラグインの初期化は初回リクエスト時まで延期されるので、このディレクティブを高い値で維持してもわずかな効果しか得られません。それでも、このパラメータをできるだけ高く維持しておくと便利です。
MaxSpareThreads: この値はmpm_workerだけで使用されます。MaxSpareThreadsの値は、MinSpareThreadsとThreadsPerChildの合計と同じか、それより多い必要があり、そうなっていなければApache HTTP Serverが自動的に修正します。
推奨: 高い値を維持してください。専用サーバーの場合は、これは問題にはなりません。
MaxSpareServers: Apache v2では、prefork MPMモデルだけで使用されます。サーバーにできるだけ多くの状態を保存するには、MaxSpareServersを高い値に設定してください。この値を最大の255に設定すると、使用可能なすべてのApacheワーカー・プロセスを維持しますが、負荷が低い期間にワーカー・プロセスのリサイクル機会が提供されません。
MinSpareServers: Apache v2では、prefork MPMモデルのみで使用されます。Access Managerプラグインの初期化は初回リクエスト時まで延期されるので、MinSpareServersパラメータに高い値を使用してもわずかな効果しか得られません。それでも、このパラメータをできるだけ高く維持しておくと便利です。専用Webサーバー・システムの場合は、これによる負荷はそれほど多くないはずです。
MaxClients: IHS v2とワーカーMPMでは、MaxClientsによってクライアントを処理するために利用可能なスレッドの合計数が制限されます。ハイブリッドMPMの場合、デフォルト値は16 (ServerLimit)に25(ThreadsPerChild)の値を乗算したものです。16プロセス以上を必要とする値にMaxClientsを増やすには、ServerLimitも増やす必要があります。
前述のパラメータに適した値は、Access ServerおよびLDAPサーバーを含む、関係しているシステムでの予想負荷とパフォーマンス・クラスによって異なります。
予想負荷が高く、非常に高いパフォーマンスのシステム上では、ワーカー・プロセス数の制限を増やして、Apacheサーバーを再コンパイルできます。これらのシステムは、突然の負荷増加に対応するために、StartServersおよびMinSpareServersパラメータへのパフォーマンスの影響が高くなることがあります。
正しく機能させるために、Access Serverのオペレーティング・システム制限を調整する必要があります。特に、いずれかのAccess Server用に提供されているファイル記述子の最大数をデフォルト値より増やす必要があります。Apacheベースの各WebgateとAccess Serverとの間に複数の接続を構成すると、この制限を即座に超える可能性があります。
詳細はご使用のApacheのドキュメントを参照してください。
インストール中に生じたWebサーバーの構成変更は、Webgateのアンインストール後に手動で削除する必要があります。このタイプの情報は手動で削除する必要があります。
さらに、Webgate用にWebサーバー構成ファイルに対して手動で行った変更もすべて削除する必要があります。各コンポーネントに追加した内容の詳細は、この章の別な場所で調べてください。
Oracle HTTP Serverの詳細は、次のマニュアルを参照してください。
『Oracle HTTP Server管理者ガイド10gリリース2 (10.1.2)』
次のURLには、Apacheリリースとソース・コードの構築の詳細が提供されています。
Apache v2のドキュメント:
http://httpd.apache.org/docs-2.0/
Apache v2のソース・コード:
http://httpd.apache.org/download.cgi
Mod-SSLのドキュメント:
http://httpd.apache.org/docs-2.0/mod/mod_ssl.html
OpenSSLのドキュメント:
OpenSSLのソース・コード:
http://www.openssl.org/source/
Apache v2のコンパイルとインストール:
http://httpd.apache.org/docs-2.0/install.html#test
IHS:
http://www-306.ibm.com/software/webservers/httpservers/doc/v2047/manual/readme.html