Oracle HTTP Serverは、Oracle Fusion MiddlewareのWebサーバー・コンポーネントです。Oracle WebLogic Server用のリスナーと、静的および動的なページおよびアプリケーションをホストするフレームワークがWeb経由で提供されます。
この章の内容は、次のとおりです。
Oracle HTTP Server 12c (12.2.1)は、Apache HTTP Server 2.4(以降のバージョンではクリティカルなバグを修正済)のインフラストラクチャに基づいており、Oracleで特別に開発されたモジュールを含みます。シングル・サインオン、クラスタ化されたデプロイ、および高可用性の機能により、Oracle HTTP Serverの動作は拡張されます。Oracle HTTP Serverには、クライアント・リクエストを処理するための次のコンポーネントが含まれます。
HTTPリスナー: 受信リクエストを処理し、これを適切な処理ユーティリティにルーティングします。
モジュール(mod): Oracle HTTP Serverの基本機能を実装および拡張します。標準的なApache HTTP Serverモジュールの多くは、Oracle HTTP Serverに組み込まれています。また、Oracle HTTP Serverとその他のOracle Fusion Middlewareコンポーネントとの統合をサポートするために、Oracle Fusion Middlewareに固有のモジュールもいくつか組み込まれています。
Perlインタプリタ: Oracle HTTP Serverが、mod_proxy_fcgiを使用する永続的なPerlランタイム環境へのfcgiプロトコルを介するリバース・プロキシとして設定できるようにします。
Oracle HTTP ServerにPerlインタプリタは含まれていますが、それは製品内です。このインタプリタをFastCGI環境でPerlのホスティングに使用することはできません。固有のPerl環境を提供する必要があります。
Oracle WebLogic Serverプロキシ・プラグイン: Oracle HTTP ServerをWebLogic Serverおよびその他のFusion Middlewareベースのアプリケーションのフロントエンドとして機能させることができます。
Oracle HTTP Serverでは、開発者は次のような様々な言語およびテクノロジでサイトをプログラミングできます。
Perl (mod_proxy_fcgi、CGIおよびFastCGIを介して)
CおよびC++ (mod_proxy_fcgi、CGIおよびFastCGIを介して)
Java、RubyおよびPython (mod_proxy_fcgi、CGIおよびFastCGIを介して)
Oracle HTTP Serverは、フォワード・プロキシ・サーバーにも、リバース・プロキシ・サーバーにもなります。リバース・プロキシを使用すると、様々なサーバーから提供されたコンテンツを、1つのサーバーから提供されたように表示できます。
注意:
Fusion Middlewareの概念の詳細は、Oracle Fusion Middlewareの理解を参照してください。
Oracle HTTP Serverは、WebLogic Management Frameworkを活用して、Oracle HTTP Server、Oracle WebLogic Serverおよびその他のFusion Middlewareスタックを管理するための簡単で一貫性のある分散環境を提供します。これは、組込みのOracle WebLogic Serverプロキシ・プラグイン12c (12.2.1)を活用することで、静的コンテンツをホストすることによって、HTTPのフロントエンドとして機能して、動的コンテンツのリクエストをWebLogic管理対象サーバーにルーティングします。このような場合、要件によって、Oracle HTTP Serverを実装する複数の方法があります。表1-1に、主な実装またはトポロジを示します。
表1-1 Oracle HTTP Serverのトポロジ
トポロジ | 説明 | 詳細の参照先 |
---|---|---|
スタンドアロン・ドメインでのOracle HTTP Serverの標準インストール・トポロジ |
このトポロジは、Oracle WebLogic Serverドメインのトポロジに似ていますが、管理サーバーまたは管理対象サーバーを提供しません。これは、Oracle HTTP Server実装がFusion Middlewareドメインの前面になることを望まない場合で、Fusion Middleware Controlが提供する管理機能を必要としない場合に便利です。このトポロジについては、図1-1に示します。 このトポロジを取得するには、Oracle HTTP Serverをスタンドアロン・モードでインストールします。PackまたはUnPackコマンドを使用して、Oracle HTTP Serverのコロケート・モードと組み合せることができます。 |
詳細は、『Oracle HTTP Serverのインストールと構成』のスタンドアロン・ドメインでのOracle HTTP Serverの標準インストール・トポロジに関する項を参照してください。 |
WebLogic ServerドメインでのOracle HTTP Serverの標準インストール・トポロジ(Restricted-JRF) |
このトポロジは、バックアップ用データベースを必要としない点を除き、Full-JRFトポロジと似ています。Restricted-JRFモードは、コンポーネント間ワイヤリングができない点を除き、Full-JRFモードのすべての機能を提供します。 このトポロジを取得するには、コロケート・モードでOracle HTTP Serverをインストールしてから、このドメインをプロビジョニングするためのOracle HTTP Server Restricted-JRFドメイン・テンプレートを選択します。このトポロジは、コンポーネント間ワイヤリングを除くほとんどのユースケースを処理します。 |
詳細は、『Oracle HTTP Serverのインストールと構成』のWebLogic ServerドメインでのOracle HTTP Serverの標準インストール・トポロジに関する項を参照してください |
WebLogic ServerドメインでのOracle HTTP Serverの標準インストール・トポロジ(Full-JRF) |
このトポロジは、Fusion Middleware ControlおよびWebLogic Management Frameworkを使用して拡張された管理機能を提供します。複数の物理マシンにWebLogic Serverドメインをスケールアウトすることができ、管理サーバーによる一元管理が可能になります。図1-2に、このトポロジを示します。 このトポロジを取得するには、コロケート・モードでOracle HTTP Serverをインストールしてから、このドメインをプロビジョニングするためのOracle HTTP Server Full-JRFドメイン・テンプレートを選択します。このトポロジは、バックエンドにデータベースを必要とし、コンポーネント間ワイヤリングをサポートできることに注意してください。 |
詳細は、『Oracle HTTP Serverのインストールと構成』のWebLogic ServerドメインでのOracle HTTP Serverの標準インストール・トポロジに関する項を参照してください。 |
次の項では、Oracle HTTP Serverの主要機能の一部について説明します。
Oracle HTTP Server12c (12.2.1)ではRestricted-JRFモードが導入されています。Oracle HTTP ServerをOracle WebLogic Serverドメインにこのモードでインストールすることを選択した場合、外部データベースへの接続は必要ありません。コンポーネント間ワイヤリングを除き、このドキュメントで説明しているFusion MiddleWare ControlおよびWLSTを介するOracle HTTP Server機能のすべては引き続き使用可能です。
コンポーネント間ワイヤリングのサポートがないということは次のような意味です。
Fusion MiddleWare Controlのメニュー・オプションに変更があります。コンポーネント間ワイヤリングをサポートする一部のメニュー・オプションが削除または無効化されます。
データベースの依存関係は完全に削除されます。
関連項目:
olink:JISEC『Oracle Fusion Middlewareの管理』の連携するコンポーネントのワイヤリングに関する項。
Restricted-JRFドメイン内のOracle HTTP Serverインスタンスのキーおよび証明書の管理は、引き続きキーストア・サービス(KSS)です。Restricted-JRFドメインでは、KSSのデータベースの永続性はファイルの永続性に置き換わります。エンド・ユーザーにとっては、キーまたは証明書を管理する基本KSS APIに視覚的変更はありません。
Oracle HTTP Serverは、Restricted-JRFおよびFull-JRFモードの両方の複雑な仮想サーバー構成用の複数のOracleウォレットを引き続きサポートします。
Oracle WebLogic Serverプロキシ・プラグイン(mod_wl_ohs)により、Oracle HTTP Server12c (12.2.1)からOracle WebLogic Serverへのリクエストをプロキシ処理できます。このプラグインによって、Oracle WebLogic Serverが動的機能を必要とするリクエストを処理可能となり、Oracle HTTPサーバーのインストールが拡張されます。すなわち、通常、HTTPサーバーがHTMLページのような静的なページを提供する場合にはプラグインを使用しますが、Oracle WebLogic ServerはHTTP ServletsやJavaサーバー・ページ(JSP)のような動的なページを提供します。
Oracle WebLogic Server Proxyプロキシ・プラグインの詳細は、『Oracle WebLogic Serverプロキシ・プラグイン12.2.1の使用』のOracle HTTP Serverのプラグインの構成に関する項を参照してください
CGIプログラムは、通常、Webアプリケーションのプログラミングに使用されます。Oracle HTTP Serverは、mod_proxy_fcgiモジュールを使用して、リクエストのライフサイクルよりも長くアクティブに保つメカニズムを提供することでプログラムを強化します。
mod_proxy_fcgiモジュールは非推奨のmod_fastcgiモジュールを置き換えるものです。mod_proxy_fcgiモジュールはmod_proxyモジュールのサービスを必要とし、FastCGIプロトコルのサポートを提供します。
mod_proxy_fcgiモジュールの構成の詳細は、mod_proxy_fcgiの構成についてを参照してください。mod_fastcgiモジュールからmod_proxy_fcgiモジュールへの移行の詳細は、mod_proxy_fcgiおよびmod_authnz_fcgiモジュールへの移行を参照してください。
Oracle HTTP Serverは数々のセキュリティ機能を備えています。その中で主な機能は次のものです。
mod_osslモジュール(Oracle Databaseで使用されるOracle Secure Sockets Layer (SSL)の実装)によって、Oracle HTTP Serverでの強力な暗号化が可能になります。これは、サーバーでのSSLの使用を可能にするOracle HTTP Serverへのプラグインで、OpenSSLモジュール(mod_ssl)によく似ています。mod_osslモジュールはTLSバージョン1.0、1.1および1.2をサポートしています。
Webサイトを安全に運用するには、Secure Sockets Layer (SSL)が必要です。Oracle HTTP Serverでは、業界標準の特許アルゴリズムに基づいたSSL暗号化をサポートしています。SSLは、一般的にサポートされるインターネット・ブラウザとシームレスに連動します。セキュリティ機能は次のとおりです。
SSLハードウェア・アクセラレーション・サポートでは、SSL用に専用ハードウェアを使用します。ハードウェア暗号化は、ソフトウェア暗号化より高速です。
ディレクトリ別変数セキュリティでは、ディレクトリをそれぞれ異なる暗号化強度で保護できます。
Oracle HTTP ServerとOracle WebLogic Serverは、暗号化と認証の両方を提供するためにHTTPプロトコルを使用して通信します。また、クライアントがブラウザを使用せずにWebLogic Serverサービスにアクセスできるように、T3またはIIOPプロトコルに対してHTTPトンネリングを有効化することもできます。
関連項目:
Oracle Platform Security Servicesによるアプリケーションの保護
WebGateによって、Oracle HTTP Serverのシングル・サインオン(SSO)が可能になります。WebGateは受信リクエストを調べて、リクエストされたリソースが保護されているかどうかを判断し、保護されている場合は、ユーザーのセッション情報を取得します。WebGateを使用すると、Oracle HTTP ServerはSSO対応のパートナ・アプリケーションとなり、SSOを使用してユーザーを認証することが可能になり、Oracleシングル・サインオンを使用してユーザーのアイデンティティの取得ができるようになり、また、Oracle HTTP ServerからアクセスされるWebアプリケーションはユーザーのアイデンティティを使用することが可能になります。
関連項目:
Oracle Platform Security Servicesによるアプリケーションの保護
Oracle HTTP Serverは、Oracle WebLogic Serverと同じ場所に(WebLogic Serverドメインと呼ばれる)インストールすることも、Full-JRFまたはRestricted-JRFモードでインストールすることもできます。サーバーはスタンドアロン・ドメインとしてインストールすることもできます。どちらの環境を使用するかはサーバーの構成時に選択できます。スタンドアロン・ドメインでは一部の機能が使用できない点に注意してください。
Full-JRFモードのWebLogic Serverドメインには、WebLogic管理サーバー、0台以上のWebLogic管理対象サーバーおよび0個以上のシステム・コンポーネント・インスタンス(Oracle HTTP Serverインスタンスなど)が含まれます。このタイプのドメインは、システム全体に存在するFusion Middleware ControlおよびWebLogic Management Frameworkを介して拡張管理機能を提供します。WebLogic Serverドメインは、複数の物理マシンにまたがって設定でき、管理サーバーによって一元管理されます。これらのプロパティのために、WebLogic Serverドメインは、使用しているシステムのコンポーネントとJava EEコンポーネント間の最高の統合を提供します。
WebLogic ServerドメインではすべてのWebLogic Management Frameworkツールがサポートされています。
Fusion Middleware Controlは高度な管理機能を備えていますので、WebLogic Server Domainの使用をお薦めしますが、そのためには、Oracle HTTP Serverのインストール前に、Fusion Middlewareインフラストラクチャを完全にインストールする必要があります。
WebLogic Server Domainのインストールの詳細は、『Oracle Fusion Middleware Infrastructureのインストールと構成』を参照してください。
Fusion Middlewareインフラストラクチャの一部、あるいはスタンドアロン・コンポーネントとしてのOracle HTTP Serverのインストールの詳細は、『Oracle HTTP Serverのインストールと構成』を参照してください。
Restricted-JRFモードのWebLogic Serverドメインは、外部データベースへの接続を定義しない点を除き、FullモードのWeblogic Serverドメインとアーキテクチャおよび機能が似ています。Restricted-JRFモードではデータベースの依存関係はありません。
バックアップ用のデータベースがないということは、コンポーネント間ワイヤリングがRestricted-JRFドメインのOracle HTTP Serverによりサポートされないことを意味します。これはFull-JRFとRestricted-JRFベース・ドメインの大きな違いです。
Full-JRFドメインと同様、Restricted-JRFドメイン内のOracle HTTP Serverインスタンスのキーおよび証明書の管理は、引き続きキーストア・サービス(KSS)です。Restricted-JRFドメインでは、KSSのデータベースの永続性はファイルの永続性に置き換わりましたが、エンド・ユーザーにとっては、キーおよび証明書を管理する基本KSS APIに視覚的変更はありません。
Full-JRFドメインと同様、Restricted-JRFドメインのOracle HTTP Serverは、複雑な仮想サーバー構成用の複数のOracleウォレットをサポートします。
スタンドアロン・ドメインはOracle HTTP Serverなどのシステム・コンポーネント用のコンテナです。これはOracle WebLogic Serverドメインと似たディレクトリ構造を持ちますが、管理サーバーまたは管理対象サーバーが含まれません。スタンドアロン・ドメインには、同一タイプのシステム・コンポーネント(Oracle HTTP Serverなど)、またはタイプの混在したシステム・コンポーネントの1つ以上のインスタンスが含まれます。
スタンドアロン・ドメインの場合、WebLogic Management Frameworkでは次のツールがサポートされています。
ノード・マネージャ
WebLogic Scripting Tool (WLST)コマンド(次を含む):
Oracle HTTP Serverインスタンスを起動および停止する、nmStart()
、nmKill()
、nmSoftRestart()
およびnmKill()
。
nmConnect()
: ノード・マネージャへの接続
nmLog()
: ノード・マネージャのログ情報の取得
サポートされているWLSTノード・マネージャ・コマンドの完全なリストは、『WebLogic Server WLSTコマンド・リファレンス』のノード・マネージャ・コマンドに関する項を参照してください。
注意:
リモートのOracle HTTP Serverの1台が管理モードにあり、別の1台がリモート管理モードを有効化したスタンドアロンの場合、WLSTを使用してSSL構成などの管理タスクを実行できます。スタンドアロン・ドメインにおける通常のOracle HTTP Serverは、WebLogic Serverのノード・マネージャとしてのみ、そしてOracle HTTP Serverの起動/停止目的でのみ使用できます。これは、コマンドライン・スクリプトでも実行できます。
構成ウィザード
圧縮/解凍
一般的に、Oracle HTTP Server実装がWebLogic Serverドメインと一緒にインストールされることを望まない場合で、Fusion Middleware Controlが提供する管理機能を必要としない場合には、スタンドアロン・ドメインを使用します。Oracle HTTP ServerをDMZ(非武装地帯のことで内部ファイアウォールと外部ファイアウォールの間のゾーン)内で保持する場合で、ノード・マネージャで使用される管理ポートを開くことを望まない場合には、スタンドアロン・ドメインを使用しません。
Oracle HTTP ServerドメインはWebLogic Serverまたはスタンドアロンのいずれかです。インストールされている場合、各ドメインには、そのドメイン・タイプを実装するために必要なファイルが含まれている、それぞれ独自のディレクトリ構造があります。完全なファイル構造トポロジについては、『Oracle HTTP Serverのインストールと構成』のディレクトリ構造の理解に関する項を参照してください。
Oracle HTTP Serverの構成は、Apache HTTP Serverで使用されるものと同じようないくつかのタイプ(.confのような)の構成ファイルによって指定されます。この項では、構成ファイル・ディレクトリのレイアウト、ファイルの編集メカニズムおよびファイルそのものについての詳細を説明します。
この項の内容は次のとおりです。
ステージング・ディレクトリとランタイム・ディレクトリの2つの構成ディレクトリが各Oracle HTTP Serverインスタンスに関連します。
ステージング・ディレクトリ
DOMAIN_HOME/config/fmwconfig/components/OHS/componentName
ランタイム・ディレクトリ
DOMAIN_HOME/config/fmwconfig/components/OHS/instances/componentName
それぞれの構成ディレクトリには、完全なOracle HTTP Server構成(httpd.conf、admin.conf、auditconfig.xmlなど)が含まれます。
構成への変更はステージング・ディレクトリで行われます。これらの変更内容は、次の操作の間にランタイム・ディレクトリに自動的に伝搬されます。
注意:
ステージング・ディレクトリのファイルを手動で(Fusion Middleware ControlやWLSTを使用せずに)変更する前に管理サーバーを停止します。
WebLogic Serverドメインの一部であるOracle HTTP Serverインスタンス
変更がFusion Middleware Control内からアクティブ化された後、または管理サーバーが初期化して、以前の変更をレプリケートする必要がある場合に、変更は管理対象Oracle HTTP Serverインスタンスを使用して、ノード上のランタイム・ディレクトリにレプリケートされます。動作時に、ノード・マネージャとの通信が切断されている場合、通信が復元された後でレプリケーションが実行されます。
スタンドアロンOracle HTTP Serverインスタンス
起動、再起動または停止動作が開始されると、変更がランタイム・ディレクトリに同期されます。一部の変更は、ドメインの更新時にランタイム・ディレクトリに書き込まれることがありますが、それらの変更は同期時に最終的に決定されます。
ランタイム・ディレクトリ内の構成に対する変更は、レプリケーション時または同期時に失われます。
注意:
スタンドアロン・インスタンスが作成されると、デモ用のウォレットを含むキーストア・ディレクトリがランタイム・ディレクトリのみに作成されます。
インスタンス用に最初の新しいウォレットを作成する前に、ステージング・ディレクトリ内にキーストア・ディレクトリを作成する必要があります。
DOMAIN_HOME/config/fmwconfig/components/OHS/componentName/keystores
次に、そのキーストア・ディレクトリ内にウォレットを作成する必要があります。
デフォルトのOracle HTTP Server構成には、構成ファイルで説明されているファイルが含まれます。
この構成にファイルを追加することができ、Include
ディレクティブを使用してトップレベルの.confファイル(httpd.conf)に含めることができます。このディレクティブの使用方法の詳細は次のドキュメントにあるIncludeディレクティブに関する項を参照してください。
http://httpd.apache.org/docs/2.4/mod/core.html#include
デフォルトの構成にはIncludeディレクティブが存在し、構成内のmoduleconf/ディレクトリにすべての.confファイルが含まれます。
moduleconf/ディレクトリに格納されていない.confファイルについては、Includeディレクティブを既存の.confファイル(通常はhttpd.conf)に追加する必要があります。これは、新しい.confファイルを異なる構成スコープ(既存の仮想ホスト定義内など)に含める必要がある場合に必要になることがあります。
WebLogic Serverドメインの一部であるインスタンスの場合、Fusion Middleware Controlおよび管理インフラストラクチャはOracle HTTP Server構成を管理します。ステージング・ディレクトリ内での構成に対する直接編集は、Fusion Middleware Controlでの構成の変更などの後続の管理操作の後で上書きされる可能性があります。このようなインスタンスでは、直接編集は管理サーバーが停止時にのみ実行できます。管理サーバーがその後に起動されると、(起動または再起動によって)手動編集の結果が、管理対象インスタンスのノード上のランタイム・ディレクトリにレプリケートされます。詳細は、構成ファイルの編集についてを参照してください。
注意:
Oracle HTTP Server構成を管理するFusion Middleware Controlおよびその他のOracleソフトウェアは、同等の異なる形式でこれらのファイルを保存する可能性があります。ソフトウェアを使用して構成を変更した後に、複数の構成ファイルがリライトされる可能性があります。
「アップグレード・アシスタントを使用したアップグレード」の指示に従い、Fusion MiddlewareおよびOracle HTTP Serverを前のリリースから12c (12.2.1)にアップグレードします。
コロケートされたOracle HTTP Server (スタンドアロン・インストールではない)をアップグレードしている場合、アップグレード・アシスタントを完了した後で次の手動の手順を実行する必要があります。
オラクル社では、次に示すOracle HTTP Serverの機能および状態について、テクニカル・サポートを提供しています。
Oracle製品に組み込まれているモジュール。Apache Software Foundationなどの他のソースから入手したモジュールはサポートされません。ただし、Oracle以外で提供されるモジュールが組み込まれている場合でも、Oracle HTTP Serverはサポートされます。報告された問題に、Oracle以外で提供されたモジュールが関係している疑いがある場合は、それらのモジュールを組み込まない状態で問題を再現するように依頼されることがあります。
サポート対象のOracle HTTP Serverモジュールのみで構成されているOracle HTTP Server構成内で再現できる問題。