faq ORACLE FUSION MODDLEWARE Oracle Application Server 10g Oracle HTTP Server Frequently Asked Questions 2006 年 2 月 この FAQ では Oracle Application Server 10g Release 3(10.1.3) に関してよくある質問を取り上げます この FAQ は mod_oc4j も対象にしており 次の 2 つの項で構成されます Oracle HTTP Server (OHS) Mod_oc4j 1.0 Oracle HTTP Server (OHS) 1.1 Oracle HTTP Server は Apache のどのバージョンに基づいていますか 2 つあります Apache 1.3 ベースの OHS は Apache 1.3.34 に基づき Apache 2.0 ベースの OHS は Apache バージ ョン 2.0.55 に基づいています 1.2 オラクル社以外が提供する Apache モジュールでも OHS と統合する場合サポートされますか? オラクル社は Oracle ディストリビューションに含まれるモジュールに対してのみサポートを提供します Apache Software Foundation など 他のソースから取得されたモジュールはサポートしません ただし OHS は オラクル社以外が提供するモジュールを含む場合 サポートされます オラクル サポート センターでは 報告された問題とオラクル社以外が提供するモジュールとの関連を明確にするために そのモジュールを使用しなくてもその問題が再現されるか 顧客に対し確認してもらう場合があります 1.3 OHS で検出されたセキュリティ バグの修正に関する Oracle のポリシーを教えてください セキュリティの脆弱性の修正に関するオラクル社のポリシーとプロセスは OTNにあるOracleのセキュリティアラートページを参照してください 1.4 Oracle HTTP Server は スタンドアロン製品としても使用できますか? はい 新しい Web Server and Process Management インストール オプションでは Apache 1.3 ベースの Oracle HTTP Server(Oracle Process Manager and Notification Server を含みます ) のみをインストールできます また Apache 2.0 ベースの Oracle HTTP Server は Oracle Application Server 10g (10.1.3) Companion CD から スタンドアロン製品としてインストールできます 1.5 OHS の Apache v2.0 バージョンは このリリースでサポートされますか はい ただし Apache 2.0 ベースの OHS は スタンドアロン配置バージョンのみでサポートされます 次の点を除き OHS の Apache 1.3 バージョンと同じ機能を持っています IPv6 は 2.0 バージョンではサポートされますが 1.3 バージョンではサポートされません mod_oradav は 2.0 バージョンではサポートされません mod_dms は 2.0 バージョンではサポートされません mod_plsql は 2.0 バージョンではサポートされません 1
1.6 OHS は root として実行する必要がありますか OHS は ユーザーが 1024 以下のポートに切り替える場合のみ root として実行する必要があります それ以外 は root としてではなく Oracle Application Server をインストールしたユーザーとして OHS を実行できます こ れを行うには 次の手順を実行します 1 OHS を停止します 2 root になります 3 cd $ORACLE_HOME/Apache/Apache/bin 4 chown root.apachectl 5 chmod 6750.apachectl 6 cd $ORACLE_HOME/Apache/Apache/logs 7 rm -f * 8 mod_osso を使用する場合は mod_osso を再登録します 9 root を終了します 10 OHS を再起動します 1.7 OHS からの出力を (gzip などで ) 圧縮できますか 一般に この目的のためには Web Cache の使用をお薦めします このためにプラグインできるフリーウェア モ ジュール (mod_gzip など ) もありますが その使用はサポートされていません 1.8 オラクル社以外が提供するモジュールを含む OHS を起動する場合 EAPI を使用しようとすると警告が表示されるのはなぜですか Oracle HTTP Server は EAPI( 拡張 API) サポートでコンパイルされています EAPI は mod_ssl (http://www.modssl.org を参照してください ) で提供される Apache モジュール API の拡張機能です オラクル社 以外が提供するモジュールを含む OHS を起動するときに次のようなメッセージが表示される場合は ロードさ れるモジュールが EAPI でコンパイルされていません [Mon Oct 31 12:11:37 2005] [warn] Loaded DSO libexec/mod_python.so uses plain Apache 1.3 API, this module might crash under EAPI!(please recompile it with -DEAPI) ほとんどの場合 この警告メッセージは無視しても問題ありません エラー メッセージを表示させないために モジュールは -DEAPI コンパイル タイム オプション $ORACLE_HOME/Apache/Apache/include の OHS で提供される Apache ヘッダー ファイルか modssl 対応する EAPI 追加機能を含む汎用 Apache インスタンスからのヘッダー ファイルのいずれかを使用して再コンパイルできます 1.9 Apache 2.0 ベースのスタンドアロン OHS は 既存の Oracle Application Server 10g Release 3(10.1.3) インスタンスと通信できますか はい Apache 2.0 ベースのスタンドアロン OHS は 既存の Oracle Application Server 10g Release 3(10.1.3) インスタンスと通信するように構成できます 構成方法の詳細は Oracle HTTP Server スタンドアロン管理者ガイド の第 2 章 スタンドアロン Oracle HTTP Server と Oracle Application Server の構成 を参照してください 1.10 Oracle Application Server 10g Release 2(10.1.2) の OHS は リクエストを Oracle Application Server 10g Release 3(10.1.3) インスタンスにルーティングするために使用できますか はい Oracle Application Server 10g Release 2(10.1.2) の中間層インスタンスの OHS は Oracle Application Server 10g Release 3(10.1.3) インスタンスと通信するように構成できます 構成方法の詳細は Oracle Application Server 管理者ガイド 10g Release 3(10.1.3) の第 6 章 Application Server インスタンスの再構成 を参照してください 2
2.0 Mod_oc4j 2.1 mod_oc4j について説明してください Mod_oc4j は Oracle Application Server 内の Oracle Application Server Container for J2EE(OC4J) インスタンスに向 かうリクエストのためのロード バランサです OHS と OC4J 間でルーティングを行う OHS モジュールです Oracle Application Server の Oracle Process Manager and Notification Server(OPMN) コンポーネントは mod_oc4j が各種 OC4J プロセスのステータスを常時認識するようにします したがって mod_oc4j は 稼動中のプロセス に対してのみルーティングします Mod_oc4j は Oracle Application Server Cluster と OC4J グループの概念も理解 するため 可能なかぎり透過的フェイルオーバーを提供するようルーティングします 2.2 mod_oc4j は OHS 以外の Web サーバーで機能しますか はい Mod_oc4j は OC4J Plug-in というプラグインでも使用可能なうえ IIS iplanet 標準 Apache を含む Oracle 以外の Web サーバーが Mod_oc4j でサポートされています 2.3 他にどのようなルーティングやロード バランシング アルゴリズムがありますか Mod_oc4j は (a) ラウンド ロビン (b) ランダム (c) メトリックベースという 3 種類のルーティングを提供しま す ラウンド ロビン アルゴリズムとランダム アルゴリズムの実効パフォーマンスは同じです 最後の測定ベース ルーティングは 内部リソース可用性 ( 接続プールなど ) に基づく測定について mod_oc4j に通知する OC4J プロセスに基づきます Mod_oc4j は この測定を使用してルーティングを決定します ロード バランシング アルゴリズムとルーティング アルゴリズムには 類似性とも言えるモードもあります このモードはデフォルトで これらのアルゴリズムは ローカル ノードに利用できるプロセスがない場合を除き 常にローカル ノードにルーティングします ランダム アルゴリズムとラウンド ロビン アルゴリズムには ウェイト ベースの特別なモードがあります ウェイト ベースの場合 mod_oc4j は各ホストに対して構成されたルーティング ウェイトに基づき 要求を分散します ロード バランシング アルゴリズムの詳細は Oracle HTTP Server 管理者ガイド を参照してください 2.4 mod_oc4j は SSL を使用して OC4J と通信できますか はい mod_oc4j と OC4J プロセス間の AJP 通信は 現在 AJP/SSL を介して行うことができます 以前 これは暗号化されていませんでした また SSL ネゴシエーションは この 2 つが通信を必要とするたびに行われるわけではないため パフォーマンスへの影響が抑えられます 2.5 mod_oc4j.conf ファイルに Oc4jMount ディレクティブがありません mod_oc4j は リクエストのルーティング先をどのように検出するのですか Oracle Application Server の以前のリリース ( バージョン 10.1.2 以前 ) では OC4J マウント ポイントは mod_oc4j.conf ファイルで静的に構成されました このため アプリケーションをデプロイしたりアンデプロイしたりする場合 mod_oc4j.conf ファイルが更新され OHS が再起動しました Oracle Application Server 10g Release 3(10.1.3) では OC4J は 送信した通知内のマウント ポイントをアナウンスし この情報を使って mod_oc4j が そのルーティング表を動的に調整します これにより 静的なマウント ポイント構成が不要になり mod_oc4j で マウント ポイント構成を動的に (OHS を再起動せずに ) 更新できます 3
2.6 古い静的マウント ポイント構成を引き続き使用できますか はい 動的マウント ポイントはデフォルトで作成できますが 静的に構成されたマウント ポイントを使用するオプションが用意されています この構成を実行するには mod_oc4j.conf ファイル内の Oc4jRoutingMode という新しいディレクティブを Static に設定します ディレクティブ Oc4jRoutingMode は ルーティング動作を指定し 次の値の 1 つになります 動的 新しい動的ルーティング機能を使用し 古いスタイルのルーティング構成を無視するよう指定します 静的 mod_oc4j に対して 9.0.4/10.1.2 スタイルのルーティング構成 ( マウント ポイントが明示的にリストされている場所 ) を使用するよう通知します 動的ルーティングは使用されません DynamicOverride 動的と 9.0.4/10.1.2 スタイル ルーティングの両方が mod_oc4j で使用されます 競合する場合 OHS は動的に指定されたマウント ポイントにルーティングします StaticOverride 動的と 9.0.4/10.1.2 スタイル ルーティングの両方が mod_oc4j で使用されます 競合する場合 OHS は静的に指定されたマウント ポイントにルーティングします 2.7 mod_oc4j が使用している現在のマウント ポイント リストをダンプまたは表示できますか はい 次の URL で メモリー内にある mod_oc4j ルーティング表の内容をダンプまたは表示できます http://localhost:<dms_port>/oc4j-status ここには 構成済のロード バランシング アルゴリズム ルーティング モード ルーティング ID アプリケーション名 コンテキスト アプリケーション リクエストのルーティング先である OC4J プロセスなどが表示されます このページの URL は構成可能です デフォルトでは $ORACLE_HOME/Apache/Apache/conf ディレクトリの dms.conf ファイルに置かれています デフォルト構成では localhost(127.0.0.1)virtual Host からのアクセスのみ可能です 構成は次のようになります <IfModule mod_oc4j.c> Oc4jSet StatusUri /oc4j-status </IfModule> localhost Virtual Host からアクセスするだけでなく この状態をデフォルト サーバーの下に表示する場合 この構成は httpd.conf の任意の場所にデプロイできます このようにデプロイすると ルーティング表をダンプまたは表示する URL は次のようになります http://<host.domain>:<http_port>/oc4j-status 2.8 ルーティング ID について説明してください ルーティング ID は OC4J と OHS のルーティング関係を指定します つまり OHS は ルーティング ID を共有するすべての OC4J にルーティングされます 各 OC4J に ルーティング ID が割り当てられ 同様に各 OHS に ルーティング先となる 1 つ以上のルーティング ID が割り当てられます OPMN は ルーティング ID を システム プロパティとして OC4J に渡し 起動時には環境変数として OHS に渡します OC4J は このルーティング ID を公開する ONS 通知に追加します OHS は OC4J から通知をリスニングします OHS は リストに OC4J からのルーティング ID を含む最初の通知を確認すると ルーティングを開始します ルーティング ID とマウント ポイント検出を OHS の Oracle Application Server 10g Release 3(10.1.3) バージョンに追加すると mod_oc4j で OC4J ルーティングの全要素を動的に検出できます 4
2.9 mod_oc4j.conf と opmn.xml ファイル両方の OHS に ルーティング ID を構成する必要がありますか いいえ デフォルトでは OHS はルーティング ID を opmn.xml ファイルから検出する構成になっています ルー ティング ID を opmn.xml と mod_oc4j.conf 両方のファイルの OHS に構成できますが ルーティング ID を使用し て両方のファイルで OHS を構成すると エラーと判断され起動しません したがって OHS の ID は 両方のフ ァイルにではなく opmn.xml(ohs の <ias-instance> 要素または <ias-component> 要素の下にあるモジュール デ ータとして指定 ) または mod_oc4j.conf に構成する必要があります 5
Oracle Application Server 10g R3: Oracle HTTP Server FAQ 2006 年 2 月著者 : Shail Goel Oracle Corporation World Headquarters 500 Oracle Parkway Redwood Shores, CA 94065 U.S.A. 海外からのお問合せ窓口 : 電話 : +1.650.506.7000 ファックス : +1.650.506.7200 http://www.oracle.com/ Copyright Oracle Corporation 2006. 無断転載を禁ず この文書はあくまで参考資料であり 掲載されている情報は予告なしに変更されることがあります オラクル社は 本ドキュメントの無謬性を保証しません また 本ドキュメントは 法律で明示的または暗黙的に記載されているかどうかに関係なく 商品性または特定の目的に対する適合性に関する暗黙の保証や条件を含む一切の保証または条件に制約されません オラクル社は 本書の内容に関していかなる保証もいたしません また 本書により 契約上の直接的および間接的義務も発生しません 本書は 事前の書面による承諾を得ることなく 電子的または物理的に いかなる形式や方法によっても再生または伝送することはできません Oracle はオラクル社またはオラクル社の関連会社 ( あるいはその両方 ) の登録商標です その他の名前は 各社の商標です