1 Oracle HTTP Serverの概要

Oracle HTTP ServerはOracle Fusion MiddlewareのWebサーバー・コンポーネントで、Oracle WebLogic Serverのリスナーを提供し、Webを介して静的ページ、動的ページおよびアプリケーションをホストする際のフレームワークを提供します。

この章では、Oracle HTTP Server (OHS)を紹介します。ここでは、Oracle HTTP Serverの主な機能とOracle Fusion Middleware Web Tier内でのその場所を説明し、Oracle HTTP Serverのディレクトリ構造、Oracle HTTP Serverの構成ファイル、およびOracle HTTP Serverのサポートの取得方法についても示します。

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

Oracle HTTP Serverとは

Oracle HTTP Serverは、Apache HTTP ServerインフラストラクチャをベースとしたWebサーバーで、Oracleが専用に開発した追加モジュールが含まれています。Oracle HTTP Serverは、プロキシ・サーバーとすることもできます。シングル・サインオン、クラスタ化されたデプロイ、および高可用性の機能により、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つのサーバーから提供されたように表示できます。

ノート:

Oracle Fusion Middlewareの概念の詳細は、Oracle Fusion Middlewareの理解を参照してください。

Oracle HTTP Serverのアクセシビリティに関するヒント

Oracle HTTP Serverは、コロケート・モードでOracle Fusion Middlware Controlを使用して管理できます。Oracle HTTP Serverでは、Fusion Middleware Controlがグラフィカル・ユーザー・インタフェースとして使用されます。

『アクセシビリティ・ガイド』Fusion Middleware Controlのアクセシビリティ機能とヒントに関する項を参照してください。

Oracle HTTP Serverのトポロジ

Oracle HTTP Serverは、WebLogic Management Frameworkを活用して、Oracle HTTP Server、Oracle WebLogic Serverおよびその他のFusion Middlewareコンポーネントを管理するための簡単で一貫性のある分散環境を提供します。これは、静的コンテンツを内部からホストし、組込みのOracle WebLogic Serverプロキシ・プラグインを活用することで、HTTPのフロント・エンドとして機能して、動的コンテンツのリクエストを管理対象サーバー・インスタンスにルーティングします。

要件に応じて、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 (Java Required Files)トポロジと似ています。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の標準インストール・トポロジを参照してください。

図1-1に、スタンドアロン・ドメインにおけるOracle HTTP Serverの標準的なインストールのトポロジを示します。

図1-1 スタンドアロン・ドメインにおけるOracle HTTP Serverの標準的なインストールのトポロジ

図1-1の説明が続きます
「図1-1 スタンドアロン・ドメインにおけるOracle HTTP Serverの標準的なインストールのトポロジ」の説明

図1-2に、WebLogic ServerドメインにおけるOracle HTTP Serverの標準的なインストールのトポロジを示します。

図1-2 WebLogic ServerドメインにおけるOracle HTTP Serverの標準的なインストールのトポロジ

図1-2の説明が続きます
「図1-2 WebLogic ServerドメインにおけるOracle HTTP Serverの標準的なインストールのトポロジ」の説明

Oracle HTTP Serverの主要機能

Oracle HTTP Serverには、Oracle WebLogic Server用のWebサーバー・プロキシ・プラグイン、Webアプリケーションのパフォーマンスを強化するコンポーネント、データベース接続を必要としないインストール・モード、複数のセキュリティ構成オプションなどがあります。

次の項では、Oracle HTTP Serverの主要機能の一部について説明します。

Restricted-JRFモード

Oracle HTTP ServerをOracle WebLogic Serverドメインに制限付きJRFモードでインストールする場合、外部データベースへの接続は必要ありません。コンポーネント間ワイヤリングを除き、このドキュメントで説明しているFusion MiddleWare ControlおよびWLSTを介するOracle HTTP Server機能のすべては引き続き使用可能です。

コンポーネント間ワイヤリングのサポートがないということは次のような意味です。

  • Oracle Fusion Middleware Controlのメニュー・オプションには変更があります。クロス・コンポーネント・ワイヤリングをサポートしているメニュー・オプションの一部が削除または無効化されています。

  • データベースの依存関係は完全に削除されます。

関連項目:

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 WebLogic Serverプロキシ・プラグイン(mod_wl_ohs)では、Oracle HTTP Server からOracle WebLogic Serverへのリクエストをプロキシ処理できます。このプラグインによって、Oracle WebLogic Serverが動的機能を必要とするリクエストを処理可能となり、Oracle HTTPサーバーのインストールが拡張されます。つまり、通常、HTTPサーバーがHTMLページのような静的なページを提供し、Oracle WebLogic ServerがServletsやJava Server Pages (JSP)およびEnterprise Java Bean (EJB)のようなJ2EEの動的なページを提供するプラグインを使用します。

「Oracle HTTP Server用プラグインの構成」を参照してください。

CGIおよびFast CGIプロトコル(mod_proxy_fcgi)

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は数々のセキュリティ機能を備えています。その中で主な機能は次のものです。

Oracle Secure Sockets Layer (mod_ossl)

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をサポートしています。

セキュリティ: Secure Sockets Layerによる暗号化

Webサイトを安全に運用するには、Secure Sockets Layer (SSL)が必要です。Oracle HTTP Serverでは、業界標準の特許アルゴリズムに基づいたSSL暗号化をサポートしています。SSLは、一般的にサポートされるインターネット・ブラウザとシームレスに連動します。セキュリティ機能は次のとおりです。

  • SSLハードウェア・アクセラレーション・サポートでは、SSL用に専用ハードウェアを使用します。ハードウェア暗号化は、ソフトウェア暗号化より高速です。

  • ディレクトリ別変数セキュリティでは、ディレクトリをそれぞれ異なる暗号化強度で保護できます。

  • Oracle HTTP ServerとOracle WebLogic Serverは、暗号化と認証の両方を提供するためにHTTPプロトコルを使用して通信します。また、クライアントがブラウザを使用せずにWebLogic Serverサービスにアクセスできるように、T3またはIIOPプロトコルに対してHTTPトンネリングを有効化することもできます。

セキュリティ: WebGateを使用したシングル・サインオン

WebGateによって、Oracle HTTP Serverのシングル・サインオン(SSO)が可能になります。WebGateは受信リクエストを調べて、リクエストされたリソースが保護されているかどうかを判断し、保護されている場合は、ユーザーのセッション情報を取得します。WebGateを使用すると、Oracle HTTP ServerはSSO対応のパートナ・アプリケーションとなり、SSOを使用してユーザーを認証することが可能になり、Oracleシングル・サインオンを使用してユーザーのアイデンティティの取得ができるようになり、また、Oracle HTTP ServerからアクセスされるWebアプリケーションはユーザーのアイデンティティを使用することが可能になります。

URLリライティングとプロキシ・サーバーの機能

アクティブなWebサイトでは、Webページが更新されるのは普通のことで、ディレクトリの内容は頻繁に入れ替わり、URLも変更される可能性があります。Oracle HTTP Serverでは、URLリライティングをサポートする組込みのエンジンによりこのような変化に容易に対応できるため、エンド・ユーザーはブックマークを変更せずに済みます。

また、Oracle HTTP Serverではリバース・プロキシ機能もサポートされるため、様々なサーバーにより提供されるコンテンツを1つのサーバーから簡単に表示できます。

ドメイン・タイプ

Oracle HTTP Serverは、WebLogic Serverドメインスタンドアロン・ドメインの2つのタイプのドメインにインストールできます。WebLogic Serverドメインでは、Oracle HTTP ServerはFullまたはRestricted-JRFモードでOracle WebLogic Serverとコロケートできます。スタンドアロン・ドメインには制限された機能があります。

どちらの環境を使用するかはサーバーの構成時に選択できます。

WebLogic Serverドメイン(Full-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のインストール前に、Oracle Fusion Middlewareインフラストラクチャを完全にインストールする必要があります。

WebLogic Serverドメイン(Restricted-JRFモード)

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)コマンド(次を含む):

    • nmStart()nmKill()nmSoftRestart()およびnmStop(): Oracle HTTP Serverインスタンスの起動および停止。

    • nmConnect(): ノード・マネージャへの接続。

    • nmLog(): ノード・マネージャのログ情報の取得。

    サポートされているWLSTノード・マネージャ・コマンドの完全なリストは、WebLogic Server WLSTコマンド・リファレンスノード・マネージャ・コマンド を参照してください。

    ノート:

    リモートのOracle HTTP Serverの1台が管理モードにあり、別の1台がリモート管理モードを有効化したスタンドアロンの場合、WLSTを使用してSSL構成などの管理タスクを実行できます。

  • 構成ウィザード

  • 圧縮または解凍

一般的に、Oracle HTTP Server実装がWebLogic Serverドメインと一緒にインストールされることを望まない場合で、Oracle Fusion Middleware Controlが提供する管理機能を必要としない場合には、スタンドアロン・ドメインを使用します。Oracle HTTP ServerをDMZ(非武装地帯のことで内部ファイアウォールと外部ファイアウォールの間のゾーン)内で保持する場合で、ノード・マネージャで使用される管理ポートを開くことを望まない場合には、スタンドアロン・ドメインを使用しません。

Oracle HTTP Serverのディレクトリ構造の理解

Oracle HTTP Serverがドメインにインストールされると、Oracle HTTPサーバーがそのドメイン・タイプをサポートするために必要とするファイルが含まれたディレクトリ・ツリーが作成されます。 

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構成ファイル

デフォルトの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ファイルを異なる構成スコープ(既存の仮想ホスト定義内など)に含める必要がある場合に必要になることがあります。

Oracle HTTP Server構成ファイルの変更

WebLogic Serverドメインの一部であるインスタンスの場合、Fusion Middleware Controlおよび管理インフラストラクチャはOracle HTTP Server構成を管理します。ステージング・ディレクトリ内での構成に対する直接編集は、Fusion Middleware Controlでの構成の変更などの後続の管理操作の後で上書きされる可能性があります。このようなインスタンスでは、直接編集は管理サーバーが停止時にのみ実行できます。管理サーバーがその後に起動されると、(起動または再起動によって)手動編集の結果が、管理対象インスタンスのノード上のランタイム・ディレクトリにレプリケートされます。「構成ファイルの編集について」を参照してください。

ノート:

Oracle HTTP Server構成を管理するFusion Middleware Controlおよびその他のOracleソフトウェアは、同等の異なる形式でこれらのファイルを保存する可能性があります。ソフトウェアを使用して構成を変更した後に、複数の構成ファイルがリライトされる可能性があります。

Oracle HTTP Serverの以前のリリースからのアップグレード

Upgrade Assistantを使用すると、サポートされているFusion MiddlewareおよびOracle HTTP Serverのドメインを以前のリリースから12c (12.2.1.4.0)にアップグレードおよび構成でき、アップグレードの前に準備状況チェックを実行できます。

Oracle HTTP Serverをアップグレードするには、『Upgrade Assistantによるアップグレード』を参照してください。

Oracle HTTP Serverのサポート

オラクル社は、Oracle HTTP Serverの機能について、テクニカル・サポートを提供しています。

サポートされるOracle HTTP Server機能および状態は次のとおりです。

  • Oracle製品に組み込まれているモジュール。Apache Software Foundationなどの他のソースから入手したモジュールはサポートされません。ただし、Oracle以外で提供されるモジュールが組み込まれている場合でも、Oracle HTTP Serverはサポートされます。報告された問題に、Oracle以外で提供されたモジュールが関係している疑いがある場合は、それらのモジュールを組み込まない状態で問題を再現するように依頼されることがあります。

  • サポート対象のOracle HTTP Serverモジュールのみで構成されているOracle HTTP Server構成内で再現できる問題。