Oracle® Fusion Middleware

Oracle HTTP Serverの管理

12c (12.1.2)

E48019-03(原本部品番号:E37888-03)

2014年2月

このドキュメントでは、静的なページ、動的なページおよびアプリケーションをWeb経由でホストするフレームワークとして、Oracle HTTP Serverを構成および使用する方法について説明します。

Oracle Fusion Middleware Oracle HTTP Serverの管理, 12c (12.1.2)

E48019-03

Copyright © 2002, 2014, Oracle and/or its affiliates. All rights reserved.

原本著者: Srinivas Sudhindra

原本協力者: Jeff Trawick、Leonard Bottleman、Ken Vincent、Maria Choudhary、Edwin Spear

このソフトウェアおよび関連ドキュメントの使用と開示は、ライセンス契約の制約条件に従うものとし、知的財産に関する法律により保護されています。ライセンス契約で明示的に許諾されている場合もしくは法律によって認められている場合を除き、形式、手段に関係なく、いかなる部分も使用、複写、複製、翻訳、放送、修正、ライセンス供与、送信、配布、発表、実行、公開または表示することはできません。このソフトウェアのリバース・エンジニアリング、逆アセンブル、逆コンパイルは互換性のために法律によって規定されている場合を除き、禁止されています。

ここに記載された情報は予告なしに変更される場合があります。また、誤りが無いことの保証はいたしかねます。誤りを見つけた場合は、オラクル社までご連絡ください。

このソフトウェアまたは関連ドキュメントを、米国政府機関もしくは米国政府機関に代わってこのソフトウェアまたは関連ドキュメントをライセンスされた者に提供する場合は、次の通知が適用されます。

U.S. GOVERNMENT RIGHTS Programs, software, databases, and related documentation and technical data delivered to U.S. Government customers are "commercial computer software" or "commercial technical data" pursuant to the applicable Federal Acquisition Regulation and agency-specific supplemental regulations. As such, the use, duplication, disclosure, modification, and adaptation shall be subject to the restrictions and license terms set forth in the applicable Government contract, and, to the extent applicable by the terms of the Government contract, the additional rights set forth in FAR 52.227-19, Commercial Computer Software License (December 2007). Oracle USA, Inc., 500 Oracle Parkway, Redwood City, CA 94065.

このソフトウェアもしくはハードウェアは様々な情報管理アプリケーションでの一般的な使用のために開発されたものです。このソフトウェアもしくはハードウェアは、危険が伴うアプリケーション(人的傷害を発生させる可能性があるアプリケーションを含む)への用途を目的として開発されていません。このソフトウェアもしくはハードウェアを危険が伴うアプリケーションで使用する際、安全に使用するために、適切な安全装置、バックアップ、冗長性(redundancy)、その他の対策を講じることは使用者の責任となります。このソフトウェアもしくはハードウェアを危険が伴うアプリケーションで使用したことに起因して損害が発生しても、オラクル社およびその関連会社は一切の責任を負いかねます。

OracleはOracle Corporationおよびその関連企業の登録商標です。その他の名称は、それぞれの所有者の商標または登録商標です。

このソフトウェアおよびドキュメントは、第三者のコンテンツ、製品、サービスへのアクセス、あるいはそれらに関する情報を提供することがあります。オラクル社およびその関連会社は、第三者のコンテンツ、製品、サービスに関して一切の責任を負わず、いかなる保証もいたしません。オラクル社およびその関連会社は、第三者のコンテンツ、製品、サービスへのアクセスまたは使用によって損失、費用、あるいは損害が発生しても一切の責任を負いかねます。

目次

タイトルおよび著作権情報

はじめに

- 対象読者

- ドキュメントのアクセシビリティについて

- 関連ドキュメント

- 表記規則

Oracle HTTP Server 12c (12.1.2)の新機能

- 12c (12.1.2)での新機能と変更された機能

- 12c (12.1.2)で削除された機能

第I部 Oracle HTTP Serverの理解

1 Oracle HTTP Serverの概要

- 1.1 Oracle HTTP Serverについて

- 1.2 Oracle HTTP Server 12c (12.1.2)のトポロジ

- 1.3 Oracle HTTP Serverの主要機能

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

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

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

- 1.3.4 PL/SQLサーバー・ページ

- 1.3.5 サーバー側インクルード

- 1.3.6 Perl

- 1.3.7 動的スクリプト言語

- 1.3.8 C/C++(CGIおよびFastCGI)

- 1.3.9 ロード・バランシング

- 1.4 ドメイン・タイプ

- 1.4.1 WebLogic Serverドメイン

- 1.4.2 スタンドアロン・ドメイン

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

- 1.6 構成ファイルの理解

- 1.6.1 ステージングおよびランタイムの構成ディレクトリ

- 1.6.2 構成の編集

- 1.6.3 構成ファイル

- 1.7 Oracle HTTP Serverのサポート

2 Oracle HTTP Serverモジュールの理解

- 2.1 含まれるモジュールのリスト

- 2.2 mod_certheaders

- 2.3 mod_context

- 2.4 mod_dms

- 2.5 mod_ossl

- 2.6 mod_perl

- 2.6.1 データベースでのmod_perlの使用

- 2.6.1.1 Perlを使用したデータベース・アクセス

- 2.6.1.2 データベース接続のテスト

- 2.6.1.3 SQL NCHARデータ型の使用

- 2.7 mod_plsql

- 2.7.1 DADの作成

- 2.7.2 mod_plsqlの構成ファイル

- 2.7.2.1 plsql.conf

- 2.7.2.2 dads.conf

- 2.7.2.3 cache.conf

- 2.7.3 構成ファイルとパラメータの使用

- 2.7.4 その他のドキュメント

- 2.8 mod_wl_ohs

3 Oracle HTTP Server管理ツールの理解

- 3.1 Oracle HTTP Serverの管理の概要

- 3.2 Oracle HTTP Server Mbeansに関する特別な注意事項

- 3.3 Fusion Middleware Controlへのアクセス

- 3.4 Oracle HTTP Serverのホームページへのアクセス

- 3.4.1 Fusion Middleware Control内のナビゲーション

- 3.5 Fusion Middleware Controlを使用した構成ファイルの編集

- 3.6 WebLogic Scripting Toolの使用

- 3.6.1 スタンドアロン環境でのWLSTの使用方法

- 3.6.2 その他の情報

第II部 Oracle HTTP Serverの管理

4 Oracle HTTP Serverの操作

- 4.1 始める前に

- 4.2 OHSインスタンスの作成

- 4.2.1 WebLogic Serverドメインでの管理対象インスタンスの作成

- 4.2.1.1 WLSTを使用したインスタンスの作成

- 4.2.1.2 Fusion Middleware Controlを使用したインスタンスの作成

- 4.2.1.3 インスタンスのプロビジョニング

- 4.2.2 スタンドアロン・ドメイン・インスタンスの作成

- 4.2.2.1 スタンドアロン・ドメインでのWLSTの使用

- 4.3 基本的なOHSタスクの実行

- 4.3.1 PIDファイルの理解

- 4.3.2 Oracle HTTP Serverインスタンスの起動

- 4.3.2.1 Fusion Middleware Controlを使用したOracle HTTP Serverインスタンスの起動

- 4.3.2.2 WLSTを使用したOracle HTTP Serverインスタンスの起動

- 4.3.2.3 コマンド・ラインを使用したOracle HTTP Serverインスタンスの起動

- 4.3.2.4 特権ポートでのOracle HTTP Serverインスタンスの起動(Unixのみ)

- 4.3.3 Oracle HTTP Serverインスタンスの停止

- 4.3.3.1 Fusion Middleware Controlを使用したOracle HTTP Serverインスタンスの停止

- 4.3.3.2 WLSTを使用したOracle HTTP Serverインスタンスの停止

- 4.3.3.3 コマンド・ラインからのOracle HTTP Serverインスタンスの停止

- 4.3.4 Oracle HTTP Serverインスタンスの再起動

- 4.3.4.1 Fusion Middleware Controlを使用したOracle HTTP Serverインスタンスの再起動

- 4.3.4.2 WLSTを使用したOracle HTTP Serverインスタンスの再起動

- 4.3.5 実行中のOracle HTTP Serverインスタンスのステータスの確認

- 4.3.5.1 Fusion Middleware Controlを使用したサーバー・ステータスの確認

- 4.3.5.2 WLSTを使用したサーバー・ステータスの確認

- 4.3.6 Oracle HTTP Serverインスタンスの削除

- 4.3.6.1 WebLogic ServerドメインでのOracle HTTP Serverインスタンスの削除

- 4.3.6.2 スタンドアロン・ドメインからのOracle HTTP Serverインスタンスの削除

- 4.4 Oracle HTTP Serverのリモート管理

- 4.4.1 リモート環境の設定

- 4.4.1.1 ホストの要件

- 4.4.1.2 タスク1: ホスト1での拡張ドメインの設定

- 4.4.1.3 タスク2: ホスト1でのドメインの圧縮

- 4.4.1.4 タスク3: ホスト2でのドメインの解凍

- 4.4.2 Oracle HTTP Serverのリモート実行

- 4.5 サーバー・プロパティの指定

- 4.5.1 Fusion Middleware Controlを使用したサーバー・プロパティの指定

- 4.5.2 httpd.confファイルの編集によるサーバー・プロパティの指定

- 4.6 Oracle HTTP Serverの構成

- 4.6.1 Secure Sockets Layerの構成

- 4.6.2 MIME設定の構成

- 4.6.2.1 MIMEタイプの構成

- 4.6.2.2 MIMEエンコーディングの構成

- 4.6.2.3 MIME言語の構成

- 4.6.3 mod_perlの構成

- 4.6.4 WebLogicプロキシ・プラグイン(mod_wl_ohs)の構成

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

- 4.6.6 apxsコマンドを使用した拡張モジュールのインストール

- 4.6.7 Optionsメソッドの無効化

- 4.6.8 共有ファイルシステムにおけるOracle HTTP Serverインスタンスの構成の更新

5 サーバー・プロセスの管理および監視

- 5.1 Oracle HTTP Serverの処理モデル

- 5.1.1 リクエスト処理モデル

- 5.1.2 単一ユニットの処理モデル

- 5.2 Oracle HTTP Serverのパフォーマンスの監視

- 5.2.1 Oracle HTTP Serverのパフォーマンス・メトリックの表示

- 5.2.2 Oracle HTTP Serverパフォーマンス・メトリックの理解

- 5.3 Oracle HTTP Serverのパフォーマンス・ディレクティブの構成

- 5.3.1 Fusion Middleware Controlを使用したリクエスト構成の設定

- 5.3.2 Fusion Middleware Controlを使用した接続構成の設定

- 5.3.3 Fusion Middleware Controlを使用したプロセス構成の設定

- 5.4 プロセス・セキュリティの理解

6 接続の管理

- 6.1 デフォルトのリスニング・ポート

- 6.2 管理ポートの定義

- 6.3 ポート番号の使用状況の表示

- 6.3.1 Fusion Middleware Controlを使用したポート番号の使用状況の表示

- 6.4 ポートの管理

- 6.4.1 Fusion Middleware Controlを使用したポートの作成

- 6.4.2 Fusion Middleware Controlを使用したポートの編集

- 6.4.3 スタンドアロン環境でのリスニング・ポートの無効化

- 6.5 仮想ホストの構成

- 6.5.1 Fusion Middleware Controlを使用した仮想ホストの作成

- 6.5.2 Fusion Middleware Controlを使用した仮想ホストの構成

7 Oracle HTTP Serverログの管理

- 7.1 サーバー・ログの概要

- 7.1.1 エラー・ログについて

- 7.1.2 アクセス・ログについて

- 7.1.3 ログ・ローテーション

- 7.2 Oracle HTTP Serverログの構成

- 7.2.1 Fusion Middleware Controlを使用したエラー・ログの構成

- 7.2.1.1 エラー・ログの形式および場所の構成

- 7.2.1.2 エラー・ログ・レベルの構成

- 7.2.1.3 エラー・ログのローテーション・ポリシーの構成

- 7.2.2 Fusion Middleware Controlを使用したアクセス・ログの構成

- 7.2.2.1 アクセス・ログ形式の構成

- 7.2.2.2 アクセス・ログ・ファイルの構成

- 7.3 Oracle HTTP Serverのログ・ディレクティブ

- 7.3.1 Oracle Diagnostic Loggingディレクティブ

- 7.3.1.1 OraLogMode

- 7.3.1.2 OraLogDir

- 7.3.1.3 OraLogSeverity

- 7.3.1.4 OraLogRotationParams

- 7.3.2 Apache HTTP Serverログ・ディレクティブ

- 7.3.2.1 ErrorLog

- 7.3.2.2 LogLevel

- 7.3.2.3 LogFormat

- 7.3.2.4 CustomLog

- 7.4 Oracle HTTP Serverログの表示

8 アプリケーション・セキュリティの管理

- 8.1 Oracle HTTP Serverのセキュリティについて

- 8.2 ユーザーおよびその権限のクラス

- 8.3 保護対象のリソース

- 8.4 認証、認可およびアクセス制御

- 8.4.1 アクセス制御

- 8.4.2 ユーザーの認証および認可

- 8.4.2.1 ユーザーを認証するためのApache HTTP Serverモジュールの使用

- 8.4.2.2 WebGateを使用したユーザーの認証

- 8.4.3 FMW監査フレームワークのサポート

第III部 付録および用語集

A OVAB用のOHSイントロスペクタのプラグイン

- A.1 サポートされるバージョン

- A.2 Oracle HTTP Serverのイントロスペクション・パラメータ

- A.3 結果のアーティファクト・タイプ

- A.4 要件

- A.5 接続

- A.6 接続プロパティ

- A.7 Oracle HTTP Serverアプライアンスのプロパティ

- A.8 プラグインの拡張機能

- A.9 サポートされるテンプレート・タイプ

- A.10 プラグインの制限事項

- A.11 関連ドキュメント

B よくある質問

- B.1 アプリケーション固有のエラー・ページはどのように作成しますか

- B.2 HTTPおよびHTTPSでは、どのタイプの仮想ホストがサポートされますか

- B.3 異なる言語および文字セット・バージョンのドキュメントを使用できますか

- B.4 Oracle HTTP ServerにApache HTTP Serverセキュリティ・パッチを適用できますか

- B.5 Oracle HTTP ServerのApache HTTP Serverバージョンをアップグレードできますか

- B.6 Oracle HTTP Serverからの出力を圧縮できますか

- B.7 ファイアウォールおよびクラスタを介して機能するネームスペースはどのように作成しますか

- B.8 Webサイトをハッカーからどのように保護しますか

- B.9 SSLの有効化と無効化を切り替える場合、SSOサーバーにパートナ・アプリケーションを再登録する必要がありますか

- B.10 REDIRECT_ERROR_NOTESが、「ファイルが見つかりません」というエラーに設定されていないのはなぜですか

- B.11 Webサーバー・ベンダーおよびバージョンに関する情報はどのように隠すことができますか

- B.12 apachectlまたは他のコマンドライン・ツールを使用してOHSを起動できますか

C Oracle HTTP Serverのトラブルシューティング

- C.1 ポートの競合によりOracle HTTP Serverが起動できない

- C.2 多数のhttpdプロセスによるシステムのオーバーロード

- C.3 1024未満のポートでOracle HTTP Serverの起動時に発生する権限拒否

- C.4 PMファイルが正しく検出されない場合にOracle HTTP Serverが起動できない

- C.5 PerSetEnvを設定解除し、変数を削除した場合にスローされる例外

- C.6 ログ・ファイルを使用したエラーの特定

- C.6.1 リライト・ログ

- C.6.2 スクリプト・ログ

- C.6.3 エラー・ログ

- C.7 リモート・ホストでのOHSインスタンスの回復

- C.8 Oracle HTTP Serverのパフォーマンスの問題

- C.8.1 ネットワーク・ファイル・システムに置かれる特別なランタイム・ファイル

- C.8.2 ネットワーク・ファイル・システムでのUNIXソケット

- C.8.3 低速なファイル・システムに置かれたDocumentRoot

- C.9 DMSの共有メモリーの不足

D 構成ファイル

- D.1 httpd.conf

- D.2 ssl.conf

- D.3 admin.conf

- D.4 mod_wl_ohs.conf

- D.5 moduleconf/*.conf

- D.6 disabled/*.conf

- D.7 mime.types

- D.8 ohs.plugins.nodemanager.properties

- D.9 magic

- D.10 keystores/<wallet-directory>

- D.11 auditconfig.xml

- D.12 component-logs.xml

- D.13 component_events.xml

- D.14 Additional Reference

E プロパティ・ファイル

- E.1 ohs_admin.properties

- E.2 ohs_nm.properties

- E.3 ohs.plugins.nodemanager.properties

- E.3.1 クロスプラットフォーム・プロパティ

- E.3.2 環境変数の構成プロパティ

- E.3.3 LinuxおよびUNIXで実行するOracle HTTP Serverインスタンス固有のプロパティ

F mod_securityの構成

- F.1 mod_securityの有効化

- F.2 mod_securityの構成

G OHSモジュール・ディレクティブ

- G.1 mod_certheaders

- G.1.1 AddCertHeader

- G.1.2 SimulateHttps

- G.2 mod_ossl

- G.2.1 SSLAccelerator

- G.2.2 SSLCARevocationFile

- G.2.3 SSLCARevocationPath

- G.2.4 SSLCipherSuite

- G.2.5 SSLEngine

- G.2.6 SSLFIPS

- G.2.7 SSLInsecureRenegotiation

- G.2.8 SSLMutex

- G.2.9 SSLNZTraceLogLevel

- G.2.10 SSLOptions

- G.2.11 SSLPassPhraseDialog

- G.2.12 SSLProtocol

- G.2.13 SSLProxyCipherSuite

- G.2.14 SSLProxyEngine

- G.2.15 SSLProxyProtocol

- G.2.16 SSLProxyWallet

- G.2.17 SSLRequire

- G.2.18 SSLRequireSSL

- G.2.19 SSLSessionCache

- G.2.20 SSLSessionCacheTimeout

- G.2.21 SSLVerifyClient

- G.2.22 SSLWallet

- G.3 mod_plsql

- G.3.1 plsql.conf

- G.3.1.1 PlsqlDMSEnable

- G.3.1.2 PlsqlLogEnable

- G.3.1.3 PlsqlLogDirectory

- G.3.1.4 PlsqlIdleSessionCleanupInterval

- G.3.2 dads.conf

- G.3.2.1 PlsqlAfterProcedure

- G.3.2.2 PlsqlAlwaysDescribeProcedure

- G.3.2.3 PlsqlAuthenticationMode

- G.3.2.4 PlsqlBeforeProcedure

- G.3.2.5 PlsqlBindBucketLengths

- G.3.2.6 PlsqlBindBucketWidths

- G.3.2.7 PlsqlCGIEnvironmentList

- G.3.2.8 PlsqlConnectionTimeout

- G.3.2.9 PlsqlConnectionValidation

- G.3.2.10 PlsqlDatabaseConnectString

- G.3.2.11 PlsqlDatabasePassword

- G.3.2.12 PlsqlDatabaseUserName

- G.3.2.13 PlsqlDefaultPage

- G.3.2.14 PlsqlDocumentPath

- G.3.2.15 PlsqlDocumentProcedure

- G.3.2.16 PlsqlDocumentTablename

- G.3.2.17 PlsqlErrorStyle

- G.3.2.18 PlsqlExclusionList

- G.3.2.19 PlsqlFetchBufferSize

- G.3.2.20 PlsqlInfoLogging

- G.3.2.21 PlsqlMaxRequestsPerSession

- G.3.2.22 PlsqlNLSLanguage

- G.3.2.23 PlsqlPathAlias

- G.3.2.24 PlsqlPathAliasProcedure

- G.3.2.25 PlsqlRequestValidationFunction

- G.3.2.26 PlsqlSessionCookieName

- G.3.2.27 PlsqlSessionStateManagement

- G.3.2.28 PlsqlTransferMode

- G.3.2.29 PlsqlUploadAsLongRaw

- G.3.3 cache.conf

- G.3.3.1 PlsqlCacheCleanupTime

- G.3.3.2 PlsqlCacheDirectory

- G.3.3.3 PlsqlCacheEnable

- G.3.3.4 PlsqlCacheMaxAge

- G.3.3.5 PlsqlCacheMaxSize

- G.3.3.6 PlsqlCacheTotalSize

用語集

索引

はじめに

このマニュアルでは、Oracle HTTP Serverの管理方法(Oracle HTTP Serverの起動および停止方法を含む)、ネットワーク・コンポーネントの管理方法、リスニング・ポートの構成方法、およびモジュールを使用した基本機能の拡張方法について説明します。

対象読者

『Oracle HTTP Serverの管理』は、アプリケーション・サーバー管理者、セキュリティ管理者およびアプリケーション・サーバーで使用されるデータベースの管理者を対象としています。このドキュメントは、読者がApache HTTP Serverについて十分に理解していることを前提としています。

特に他に記載のないかぎり、このドキュメントに収められている情報は、Oracle HTTP ServerがOracle WebLogic ServerおよびOracle Fusion Middleware Controlにインストールされている場合に適用できます。読者は、『Oracle Fusion Middlewareコンセプトの理解』および『Oracle Fusion Middlewareの管理』で説明されているOracle Fusion Middlewareの主要な概念について精通しているものと想定されています。

スタンドアロン・モードでのOracle HTTP Serverのインストールの詳細は、『Oracle HTTP Serverのインストールと構成』を参照してください。

ドキュメントのアクセシビリティについて

Oracleのアクセシビリティについての詳細情報は、Oracle Accessibility ProgramのWebサイト(http://www.oracle.com/pls/topic/lookup?ctx=acc&id=docacc)を参照してください。

Oracleサポートへのアクセス

Oracleのお客様は、My Oracle Supportにアクセスして電子サポートを受けることができます。詳細情報はhttp://www.oracle.com/pls/topic/lookup?ctx=acc&id=infoか、聴覚に障害のあるお客様はhttp://www.oracle.com/pls/topic/lookup?ctx=acc&id=trsを参照してください。

ドキュメント内のサンプル・コードのアクセシビリティについて

スクリーン・リーダーは、ドキュメント内のサンプル・コードを正確に読めない場合があります。コード表記規則では閉じ括弧だけを行に記述する必要があります。しかし一部のスクリーン・リーダーは括弧だけの行を読まない場合があります。

外部Webサイトのドキュメントのアクセシビリティについて

このドキュメントにはオラクル社およびその関連会社が所有または管理しないWebサイトへのリンクが含まれている場合があります。オラクル社およびその関連会社は、それらのWebサイトのアクセシビリティに関しての評価や言及は行っておりません。

Oracleサポートへのアクセス

Oracleのお客様は、My Oracle Supportにアクセスして電子サポートを受けることができます。詳細情報はhttp://www.oracle.com/support/contact.htmlか、聴覚に障害のあるお客様はhttp://www.oracle.com/accessibility/support.htmlを参照してください。

関連ドキュメント

詳細は、Oracle Fusion Middleware 11g リリース1 (11.1.1)のドキュメント・セットに含まれる次のドキュメントを参照してください。

- Oracle Fusion Middlewareの理解

- Oracle Fusion Middlewareの管理

- 高可用性ガイド

- このライブラリに含まれるApacheドキュメント

注意:

このガイドをPDF版またはハード・コピー形式でご利用いただく場合、HTML形式でのみのご提供となるサードパーティのドキュメントを参照できません。文中で参照されているサードパーティのドキュメントをご利用いただくためには、このガイドのHTML版をご利用のうえ、文中のハイパーリンクをクリックしてください。

表記規則

このドキュメントでは次の表記規則を使用します。

規則

意味

太字

太字は、操作に関連するGraphical User Interface要素、または本文中で定義されている用語および用語集に記載されている用語を示します。

イタリック体

イタリックは、ユーザーが特定の値を指定するプレースホルダ変数を示します。

固定幅フォント

固定幅フォントは、段落内のコマンド、URL、サンプル内のコード、画面に表示されるテキスト、または入力するテキストを示します。

Oracle HTTP Server 12c (12.1.2)の新機能

次のトピックでは、Oracle HTTP Serverの新機能と変更された機能について、およびこのマニュアルに記載されるその他の重要な変更について紹介し、詳細情報へのリンクを提供します。このドキュメントは、以前はOracle HTTP Server管理者ガイドと呼ばれていたドキュメントの新しいエディションです。

12c (12.1.2)での新機能と変更された機能

この項には次の情報が含まれます:

- 12c (12.1.2)での新機能

- 12c (12.1.2)での重要な更新

12c (12.1.2)での新機能

この項では、Oracle HTTP Serverのこのバージョンでの新機能について説明します。次の機能が含まれます。

- 12c (12.1.2)で搭載されたWebLogic Management Framework

- OHS 12.1.2ではFIPS 140をサポート

- 「mod_wl_ohs構成」ページでの検索機能

- 「mod_wl_ohs構成」ページでのAutoFill機能

12c (12.1.2)で搭載されたWebLogic Management Framework

このバージョンのOracle HTTP Serverは、Oracle WebLogic 12c (12.1.2)インタフェースを活用するツール・セットであるWebLogic Management Frameworkを搭載し、Oracleを管理するための簡単で一貫性のある分散フレームワークを提供します。WebLogic Management Frameworkの詳細は、『Oracle Fusion Middlewareコンセプトの理解』の「WebLogic Management Frameworkとは」を参照してください。

新しいフレームワークによって次の変更が行われました。

- 構成は、インストール後に行う作業になり、主に構成ウィザードを使用して、ドメインの作成から開始します。詳細は、『Oracle HTTP Serverのインストールと構成』を参照してください。

- 作成後、OHSインスタンスのリモート管理のサポートを追加することはできません。インストールの前に、必要なドメイン・タイプ(WebLogic Serverまたはスタンドアロン)が選択されている必要があります(1.4項「ドメイン・タイプ」を参照)。これは、J2EE以外の管理ツールを使用してOracleインスタンスを管理するために、WebLogicドメインにOracleインスタンスを後から登録することができたOracle HTTP Server 11gとは異なります。

- WebLogic Serverドメインの一部であるインスタンスの構成ファイルは、管理対象サーバーではなく管理サーバー・ノードに保持されます。

- 管理対象サーバー上の構成ファイルに行われた変更は、たとえばFusion Middleware Controlを使用して、更新が管理サーバーで行われた場合には保持されません。

- Oracle HTTP Serverを管理するためのコマンドは、オペレーティング・システムのシェルからではなく、主にWLST内に用意されています。既存のWLSTコマンドおよびこのリリースで追加された新しいコマンドは、Oracle HTTP Serverに適用可能です(3.6項「WebLogic Scripting Toolの使用」を参照)。

- 以前はopmn.xmlに保持されていたサーバー固有の構成は、Oracle HTTP Server構成ディレクトリのohs.plugins.nodemanager.properties内に構成されるようになりました。

- Oracle HTTP Serverを起動または停止すると、コンソール出力は、特別なコンソールのログ・ファイルではなくノード・マネージャのログに書き込まれるようになりました。

- サーバー構成ディレクトリには、Oracle HTTP Serverによって生成されるコンテンツで使用される、Apache HTTP Serverのドキュメント、FastCGIプログラム・ライブラリ、アイコン・ファイルなどの製品コードが含まれなくなりました。このコードは本番用ディレクトリ内にのみあります。

- 管理ポート(以前はProxy MBeanまたはAdmin Portと呼ばれていた)は、インスタンスがWebLogic Serverドメインの一部として管理されているかどうかに関係なく、使用されるようになりました。このポートはループバック・インタフェースに制限する必要があります。以前のリリースでは、管理サーバーがポートに接続されていました。

- Fusion Middleware ControlまたはWLST内にあるOracle HTTP Server MBeansは、Oracleの管理ツールを使用するために提供されています。このインタフェースは、予告なしに変更される場合があり、他の使用目的ではサポートされていません。

OHS 12.1.2ではFIPS 140をサポート

Oracle HTTP Server 12.1.2は、米国連邦情報処理標準140番(FIPS 140)に準拠しています。このバージョンのOracle HTTP Serverで使用されているモジュールはまだFIPS 140の検証中ですが、正式なFIPS認証を受けた基底SSLライブラリのバージョンが使用されています。

Oracle HTTP ServerのFIPS 140準拠の一部として、mod_osslプラグインにSSLFIPSディレクティブが含まれるようになりました。このディレクティブは、Oracle HTTP Server構成ファイルで、SSLライブラリのFIPS_modeフラグをオンまたはオフに切り替えることによって、FIPSを有効化します。SSLFIPSはグローバル・サーバー・コンテキスト内に設定される必要があり、競合する設定(たとえば、SSLFIPS offが続くSSLFIPS onなど)があると構成できません。このモードはすべてのSSLライブラリ操作に適用されます。

SSLFIPSの詳細は、第G.2.6項「SSLFIPS」を参照してください。

「mod_wl_ohs構成」ページでの検索機能

Fusion Middleware Controlを使用してmod_wl_ohsを構成する場合、次の検索アイコンをクリックすることで、選択したOracle HTTP Serverインスタンスで使用可能なクラスタまたはサーバーのリストを表示できます。

このツールを選択すると、選択ダイアログ・ボックスが表示され、使用するクラスタまたはサーバーを選択できます。

「mod_wl_ohs構成」ページでのAutoFill機能

「自動入力」ボタンをクリックすることで、指定したベースURLに対する有効なWebLogic Serverとエンドポイントの場所を、「mod_wl_ohs構成」画面の場所表に簡単に追加できるようになりました。同一名の場所のデータは更新され、新しい場所は表に追加されます。

12c (12.1.2)での重要な更新

この項では、Oracle HTTP Serverの以前のバージョンから大幅に更新された機能について説明します。次に、これらの機能を示します。

- WLSプラグインはWebサーバーのログの一部になりました

- sqlnet.oraのNZトレース・ロギング・メカニズムはサポートされなくなりました

- Unixの特権ポートのサポート実装が異なります

WLSプラグインはWebサーバーのログの一部になりました

WebLogic ServerプラグインはOracle HTTP Serverのエラー・ログの一部になり、簡単に識別するためにweblogic:という接頭辞が付きます。したがって、ディレクティブWLLogFileおよびDebugは非推奨になりました。構成がこれらのいずれかを使用すると、次の注意メッセージがコンソールのログ・ファイルに表示されます。

The WLLogFile directive is ignored. The web server log file is used instead.
The Debug directive is ignored. The web server log level is used instead.

sqlnet.oraのNZトレース・ロギング・メカニズムはサポートされなくなりました

Oracle HTTP Serverでは、sqlnet.oraのNZトレース・ロギング・メカニズムがサポートされなくなりました。12.1.2では、新しいSSLNZTraceLogLevelディレクティブを使用して、ssl.confファイルを使用したNZトレース・ロギングを有効化できます。詳細は、G.2.9項「SSLNZTraceLogLevel」を参照してください。

Unixの特権ポートのサポート実装が異なります

UNIXの特権ポートでのリスニングのサポートは、ルートとしてOracle HTTP Serverコードを実行する必要のない異なる実装を持ちます。ユーザー・ディレクティブとグループ・ディレクティブを構成する必要がなくなりました。

12c (12.1.2)で削除された機能

次の機能が12.1.2で削除されています。

- Oracle Web Cacheとの統合

- mod_oradav

- mod_osso

- サード・パーティのWebサーバーに対するSSOプラグイン

- サード・パーティのWebサーバーに対するプロキシ・プラグイン

- SSLプロトコル・バージョン2およびエクスポート暗号

Oracle Web Cacheとの統合

Oracle Web Cacheは、Fusion Middleware 12cに含まれなくなりました。Oracle HTTP ServerによるOracle Web Cacheとの統合のサポートはなくなりました。

mod_oradav

mod_oradavモジュールはOracle HTTP Serverに含まれなくなりました。Oracle HTTP ServerでのDAVのサポートを必要とする場合は、オープン・ソースのmod_davモジュールなどのサード・パーティのソリューションを使用する必要があります。

mod_osso

mod_ossoモジュールはOracle HTTP Serverに含まれなくなりました。かわりに、Oracle WebGateを使用することをお薦めします。WebGateがOracle HTTP Serverとともにインストールされるようになりました。

サード・パーティのWebサーバーに対するSSOプラグイン

IISおよびiPlanet用のSSOプラグインはOracle HTTP Serverに含まれなくなりました。かわりに、Oracle WebGateを使用することをお薦めします。

サード・パーティのWebサーバーに対するプロキシ・プラグイン

IISおよびiPlanet用のプロキシ・プラグインはOracle HTTP Serverに含まれなくなりました。これらのWebサーバーに対するプロキシ・サポートを必要とする場合は、Webサーバーにバンドルされているプロキシ・サポートまたはサード・パーティのソリューションを使用できます。

SSLプロトコル・バージョン2およびエクスポート暗号

SSLプロトコル・バージョン2およびエクスポート暗号のサポートが削除されました。セキュアな通信を行う場合に、これらの使用はお薦めできません。

第I部

Oracle HTTP Serverの理解

この部では、Oracle HTTP Serverの基本的および概念的な情報を提供します。次の章が含まれます。

- 第1章「Oracle HTTP Serverの概要」

- 第2章「Oracle HTTP Serverモジュールの理解」

- 第3章「Oracle HTTP Server管理ツールの理解」

1 Oracle HTTP Serverの概要

この章では、Oracle HTTP Server (OHS)の概要について説明します。この章では、OHSの主要な機能およびOracle Fusion MiddlewareのWeb層での位置関係について説明し、OHSのディレクトリ構造、OHSの構成ファイルおよびOHSのサポートの受け方についても説明します。

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

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

- 1.1項「Oracle HTTP Serverについて」

- 1.2項「Oracle HTTP Server 12c (12.1.2)のトポロジ」

- 1.3項「Oracle HTTP Serverの主要機能」

- 1.4項「ドメイン・タイプ」

- 1.5項「Oracle HTTP Serverのディレクトリ構造の理解」

- 1.6項「構成ファイルの理解」

- 1.7項「Oracle HTTP Serverのサポート」

1.1Oracle HTTP Serverについて

Oracle HTTP Server 12c (12.1.2)は、Apache HTTP Server 2.2.22(以降のバージョンではクリティカルなバグを修正済)のインフラストラクチャに基づいており、Oracleで特別に開発されたモジュールを含みます。シングル・サインオン、クラスタ化されたデプロイ、および高可用性の機能により、Oracle HTTP Serverの動作は拡張されます。Oracle HTTP Serverには、クライアント・リクエストを処理するための次のコンポーネントが含まれます。

- HTTPリスナー: 受信リクエストを処理し、これを適切な処理ユーティリティにルーティングします。

- モジュール(mod): Oracle HTTP Serverの基本機能を実装および拡張します。標準的なApache HTTP Serverモジュールの多くは、Oracle HTTP Serverに組み込まれています。Oracleには、Oracle Fusion Middlewareに固有のモジュールもいくつか組み込まれており、Oracle HTTP Serverと他のOracle Fusion Middlewareコンポーネント間の統合がサポートされます。

- Perlインタプリタ: mod_perlを介してOracle HTTP Serverに埋め込まれている永続Perlランタイム環境です。

Oracle HTTP Serverでは、開発者は次のような様々な言語およびテクノロジでサイトをプログラミングできます。

- Perl (mod_perl、CGIおよびFastCGIを使用)

- CおよびC++ (CGIおよびFastCGIを使用)

- PHP、RubyおよびPython (CGIおよびFastCGIを使用)

- Oracle PL/SQL

Oracle HTTP Serverは、フォワード・プロキシ・サーバーにも、リバース・プロキシ・サーバーにもなります。リバース・プロキシを使用すると、様々なサーバーから提供されたコンテンツを、1つのサーバーから提供されたように表示できます。

注意:

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

1.2 Oracle HTTP Server 12c (12.1.2)のトポロジ

Oracle HTTP Serverは、WebLogic Management Frameworkを活用して、Oracle HTTP Server、Oracle WebLogic Serverおよびその他のFusion Middlewareスタックを管理するための簡単で一貫性のある分散環境を提供します。これは、組込みのWLS Web Serverプロキシ・プラグイン12.1.2を活用することで、静的コンテンツをホストすることによって、HTTPのフロントエンドとして機能して、動的コンテンツのリクエストをWebLogic管理対象サーバーにルーティングします。このような場合、要件によって、Oracle HTTP Serverを実装する複数の方法があります。主な実装(つまりトポロジ)について表1-1で説明します。

表1-1 Oracle HTTP Serverのトポロジ

トポロジ

説明

詳細の参照先

WebLogic ServerドメインでのOracle HTTP Serverの標準インストール・トポロジ

このトポロジは、Fusion Middleware ControlおよびWebLogic Management Frameworkを使用して拡張された管理機能を提供します。複数の物理マシンにWebLogic Serverドメインをスケールアウトすることができ、管理サーバーによる一元管理が可能になります。このトポロジについては、図1-1に示します。

詳細は、『Oracle HTTP Serverのインストールと構成』.のWebLogic ServerドメインでのOracle HTTP Serverの標準インストール・トポロジに関する項を参照してください。

スタンドアロン・ドメインでのOracle HTTP Serverの標準インストール・トポロジ

このトポロジは、Oracle WebLogic Serverドメインのトポロジに似ていますが、管理サーバーまたは管理対象サーバーを提供しません。これは、Oracle HTTP Server実装がFusion Middlewareドメインの前面になることを望まない場合で、Fusion Middleware Controlが提供する管理機能を必要としない場合に便利です。図1-2に、このトポロジを示します。

詳細は、『Oracle HTTP Serverのインストールと構成』.のスタンドアロン・ドメインでのOracle HTTP Serverの標準インストール・トポロジに関する項を参照してください。

FMW Controlによって管理される、Web層のOracle HTTP Server用の2台の個別のホストを使用した高可用性実装

このトポロジは、個々のコンポーネントのペア(Oracle HTTP ServerとWeb Logicの管理対象サーバー)が異なるホスト・コンピュータ上に存在する、高可用性Oracle Fusion Middlewareデプロイメントを提供します。ユーザーがクライアント層からシステムにアクセスすると、リクエストは、Oracle HTTP Serversを実行しているWeb層のWebサーバーにロード・バランサ経由でルーティングされます。このトポロジについては、図1-1に示します。

詳細は、『高可用性ガイド』のOracle Fusion Middlewareの標準の高可用性テクノロジの理解に関する項を参照してください。

管理対象Oracle HTTP Serverテスト・ドメイン

このトポロジでは、単一マシンのWebLogic ServerドメインにOracle HTTP Serverインスタンスが提供され、テストに適応するように調整されます。これは、本番ドメインのすべての管理機能が提供されますが、外部データベースは必要ありません。テスト・ドメインは、他のマシンにスケールアウトすることはできず、本番環境で使用することは保証されていません。

詳細は、『インフラストラクチャ・コンポーネントのためのWLSTコマンド・リファレンス』の「createOHSTestDomain()」を参照してください。

図1-1 WebLogic ServerドメインでのOHSの標準インストール・トポロジ

図1-2 スタンドアロン・ドメインでのOHSの標準インストール・トポロジ

1.3 Oracle HTTP Serverの主要機能

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

- 1.3.1項「セキュリティ: Secure Sockets Layerによる暗号化」

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

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

- 1.3.4項「PL/SQL Server Pages」

- 1.3.5項「サーバー側インクルード」

- 1.3.6項「Perl」

- 1.3.7項「動的スクリプト言語」

- 1.3.8項「C/C++(CGIおよびFastCGI)」

- 1.3.9項「ロード・バランシング」

1.3.1 セキュリティ: 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トンネリングを有効化することもできます。

関連項目:

Oracle Platform Security Servicesによるアプリケーションの保護

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

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

関連項目:

Oracle Platform Security Servicesによるアプリケーションの保護

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

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

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

1.3.4 PL/SQLサーバー・ページ

PL/SQL Server Pagesは、JavaServer Pagesと概念的に類似しています。mod_plsqlモジュールにより、PL/SQLをスクリプト言語としてHTMLページ内で使用できます。PL/SQL Server Pagesはストアド・プロシージャに変換され、ストアド・プロシージャはこのモジュールを使用して出力をブラウザに送信します。

1.3.5 サーバー側インクルード

サーバー側インクルードにより、サイトのすべてのページで、動的コンテンツまたは同一の静的コンテンツを簡単に追加できます。サーバー側インクルードは、通常、ヘッダーおよびフッターの情報に使用されます。Oracle HTTP Serverでは、特定のファイル・タイプまたは特定の仮想ホストに対してのみサーバー側インクルードを有効にする特別なディレクティブがサポートされています。

1.3.6 Perl

Perlは、動的コンテンツを提供するためによく使用されるスクリプト言語です。Perlスクリプトは、CGIプログラムとしてコールすることも、mod_perlモジュールから直接コールすることもできます。Oracle Fusion Middlewareでは、Perlバージョン5.10を使用します。

関連項目:

2.6項「mod_perl」

1.3.7 動的スクリプト言語

動的スクリプト言語(Ruby、PHP、Pythonなど)はHTMLに埋込み可能なため、Web開発に非常に適しています。これらのスクリプトは、Oracle HTTP Server内で、組込みCGIモジュールまたはFastCGIモジュールから実行できます。

1.3.8 C/C++(CGIおよびFastCGI)

CGIプログラムは、通常、Webアプリケーションのプログラミングに使用されます。Oracle HTTP Serverは、リクエストのライフサイクルよりも長く有効な状態に保つメカニズムを提供することでプログラムを強化します。

1.3.9 ロード・バランシング

Oracle HTTP Serverには、Oracle WebLogic Serverにリクエストをルーティングするmod_wl_ohsモジュールが含まれます。mod_wl_ohsモジュールは、Apache HTTP Server用のOracle WebLogic Serverプラグイン(mod_wl)と同じロード・バランシング機能を提供します。

関連項目:

『Oracle WebLogic Serverプロキシ・プラグイン12.1.2の使用』の動的サーバー・リストに関する項

1.4 ドメイン・タイプ

Oracle HTTP Serverは、Oracle WebLogic Serverと同じ場所に(WebLogic Serverドメインと呼ばれる)インストールすることも、またはスタンドアロン・ドメインとしてインストールすることもできます。どちらの環境を使用するかはサーバーの構成時に選択できます。スタンドアロン・ドメインでは一部の機能が使用できない点に注意してください。

1.4.1 WebLogic Serverドメイン

WebLogic Serverドメインは、管理サーバーと管理対象サーバーで構成されたドメインです。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ドメインを使用することをお薦めします。

1.4.2 スタンドアロン・ドメイン

スタンドアロン・ドメインはOracle HTTP Serverなどのシステム・コンポーネント用のコンテナです。これはOracle WebLogic Serverドメインと似たディレクトリ構造を持ちますが、管理サーバーまたは管理対象サーバーが含まれません。スタンドアロン・ドメインには、同一タイプのシステム・コンポーネント(Oracle HTTP Serverなど)、またはタイプの混在したシステム・コンポーネントの1つ以上のインスタンスが含まれます。

スタンドアロン・ドメインの場合、WebLogic Management Frameworkでは次のツールがサポートされています。

- ノード・マネージャ

- Oracle HTTP Serverを起動および停止する WebLogic Scripting Tool (WLST)コマンドnmStart()およびnmKill()

注意:

リモートのOracle HTTP Serverの1台が管理モードにあり、別の1台がリモート管理モードを有効化したスタンドアロンの場合、WLSTを使用してSSL構成などの管理タスクを実行できます。スタンドアロン・ドメインにおける通常のOracle HTTP Serverは、WebLogic Serverのノード・マネージャとしてのみ、そしてOracle HTTP Serverの起動/停止目的でのみ使用できます。これは、コマンドライン・スクリプトでも実行できます。

- 構成ウィザード

- 圧縮/解凍

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

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

1.4項「Domain Types」の説明に従って、Oracle HTTP ServerドメインはWebLogic Serverまたはスタンドアロンのいずれにもなることができます。インストールされている場合、各ドメインには、そのドメイン・タイプを実装するために必要なファイルが含まれている、それぞれ独自のディレクトリ構造があります。完全なファイル構造トポロジについては、『Oracle HTTP Serverのインストールと構成』の付録A「Oracle HTTP Serverのディレクトリ構造の理解」を参照してください。

1.6 構成ファイルの理解

Oracle HTTP Serverの構成は、Apache HTTP Serverで使用されるものと同じようないくつかのタイプ(.confのような)の構成ファイルによって指定されます。この項では、構成ファイル・ディレクトリのレイアウト、ファイルの編集メカニズムおよびファイルそのものについての詳細を説明します。

1.6.1 ステージングおよびランタイムの構成ディレクトリ

各Oracle HTTP Serverインスタンスには2つの構成ディレクトリがあります。

- ステージング・ディレクトリ
DOMAIN_HOME/config/fmwconfig/components/OHS/componentName

- *ランタイム・ディレクトリ
DOMAIN_HOME/config/fmwconfig/components/OHS/instances/componentName

それぞれの構成ディレクトリには、完全なOHS構成(httpd.conf、admin.conf、auditconfig.xmlなど)が含まれます。

構成への変更はステージング・ディレクトリで行われます。(1.6.2項「構成の編集」を参照してください。) 次の操作時に、これらの変更がランタイム・ディレクトリに自動的に伝搬されます。

- WebLogic Serverドメインの一部であるOracle HTTP Serverインスタンス
変更がFusion Middleware Control内からアクティブ化された後、または管理サーバーが初期化して、以前の変更をレプリケートする必要がある場合に、変更は管理対象OHSインスタンスを使用して、ノード上のランタイム・ディレクトリにレプリケートされます。動作時に、ノード・マネージャとの通信が切断されている場合、通信が復元された後でレプリケーションが実行されます。

- スタンドアロンOracle HTTP Serverインスタンス
起動、再起動または停止動作が開始されると、変更がランタイム・ディレクトリに同期されます。一部の変更は、ドメインの更新時にランタイム・ディレクトリに書き込まれることがありますが、それらの変更は同期時に最終的に決定されます。

ランタイム・ディレクトリ内の構成に対する変更は、レプリケーション時または同期時に失われます。

注意:

スタンドアロン・インスタンスが作成されると、デモ用のウォレットを含むキーストア・ディレクトリがランタイム・ディレクトリのみに作成されます。

インスタンス用に最初の新しいウォレットを作成する前に、ステージング・ディレクトリ内にキーストア・ディレクトリを作成する必要があります。

DOMAIN_HOME/config/fmwconfig/components/OHS/componentName/keystores

次に、そのキーストア・ディレクトリ内にウォレットを作成する必要があります。

1.6.2 構成の編集

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

スタンドアロン・インスタンスの場合、構成はいつでもステージング・ディレクトリ内で直接編集できます。起動、再起動または停止時に、構成はアクティブ化されます。

1.6.3 構成ファイル

デフォルトのOracle HTTP Server構成には、付録D「構成ファイル」で説明されているファイルが含まれます。

この構成にファイルを追加することができ、Includeディレクティブを使用してトップレベルの.confファイル(httpd.conf)に含めることができます。このディレクティブの使用方法の詳細は次のドキュメントにあるIncludeディレクティブに関する項を参照してください。

http://httpd.apache.org/docs/2.2/mod/core.html#include)

デフォルトの構成にはIncludeディレクティブが存在し、構成内のmoduleconf/ディレクトリにすべての.confファイルが含まれます。

moduleconf/ディレクトリに格納されていない.confファイルについては、Includeディレクティブを既存の.confファイル(通常はhttpd.conf)に追加する必要があります。これは、新しい.confファイルを異なる構成スコープ(既存の仮想ホスト定義内など)に含める必要がある場合に必要になることがあります。

1.7 Oracle HTTP Serverのサポート

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

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

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

- サポート対象のOracle HTTP Server構成による組込み済Perlインタプリタの使用。

2 Oracle HTTP Serverモジュールの理解

この章では、Oracle HTTP Server (OHS)で使用されるオラクル社が開発したモジュール(つまりプラグイン)の概要について説明します。この章では、OHSで使用されるその他のすべてのApacheおよびサード・パーティ製のモジュールのリストについても説明します。

モジュール(mod)は、Oracle HTTP Serverの基本機能を拡張し、Oracle HTTP Serverとその他のOracle Fusion Middlewareコンポーネントとの統合をサポートします。

この章では、オラクル社により特にOracle HTTP Server向けに開発されたモジュールについて説明します。この章の内容は、次のとおりです。

- 2.1項「含まれるモジュールのリスト」

- 2.2項「mod_certheaders」

- 2.3項「mod_context」

- 2.4項「mod_dms」

- 2.5項「mod_ossl」

- 2.6項「mod_perl」

- 2.7項「mod_plsql」

- 2.8項「mod_wl_ohs」

2.1 含まれるモジュールのリスト

この項では、Oracle HTTP Serverにバンドルされているすべてのモジュールを示します。

オラクル社が開発したOracle HTTP Server用のモジュール

次のモジュールは、オラクル社により特にOracle HTTP Server向けに開発されたものです。

- mod_certheaders

- mod_context

- mod_dms

- mod_ossl

- mod_plsql

- mod_wl_ohs

Oracle HTTP Server内のApache HTTP Serverおよびサード・パーティのモジュール

Oracle HTTP Serverには、表2-1に示すApache HTTP Serverおよびサード・パーティのモジュールも即時利用できるように組み込まれています。これらのモジュールは、オラクル社が開発したものではありません。

表2-1 Oracle HTTP Server内のApache HTTP Serverおよびサード・パーティのモジュール

モジュール

詳細は、次の資料を参照してください。

mod_actions

http://httpd.apache.org/docs/2.2/mod/mod_actions.html

mod_alias

http://httpd.apache.org/docs/2.2/mod/mod_alias.html

mod_asis

http://httpd.apache.org/docs/2.2/mod/mod_asis.html

mod_auth_basic

http://httpd.apache.org/docs/2.2/mod/mod_auth_basic.html

mod_authn_alias

http://httpd.apache.org/docs/2.2/mod/mod_authn_alias.html

mod_authn_anon

http://httpd.apache.org/docs/2.2/mod/mod_authn_anon.html

mod_authn_default

http://httpd.apache.org/docs/2.2/mod/mod_authn_default.html

mod_authn_file

http://httpd.apache.org/docs/2.2/mod/mod_authn_file.html

mod_authz_default

http://httpd.apache.org/docs/2.2/mod/mod_authz_default.html

mod_authz_groupfile

http://httpd.apache.org/docs/2.2/mod/mod_authz_groupfile.html

mod_authz_host

http://httpd.apache.org/docs/2.2/mod/mod_authz_host.html

mod_authz_user

http://httpd.apache.org/docs/2.2/mod/mod_authz_user.html

mod_autoindex

http://httpd.apache.org/docs/2.2/mod/mod_autoindex.html

mod_cern_meta

http://httpd.apache.org/docs/2.2/mod/mod_cern_meta.html

mod_cgi

http://httpd.apache.org/docs/2.2/mod/mod_cgi.html

mod_cgid (UNIXのみ)

http://httpd.apache.org/docs/2.2/mod/mod_cgid.html

mod_deflate

http://httpd.apache.org/docs/2.2/mod/mod_deflate.html

mod_dir

http://httpd.apache.org/docs/2.2/mod/mod_dir.html

mod_dumpio

http://httpd.apache.org/docs/2.2/mod/mod_dumpio.html

mod_env

http://httpd.apache.org/docs/2.2/mod/mod_env.html

mod_expires

http://httpd.apache.org/docs/2.2/mod/mod_expires.html

mod_fastcgi

http://www.fastcgi.com/drupal/node/6

mod_file_cache

http://httpd.apache.org/docs/2.2/mod/mod_file_cache.html

mod_filter

http://httpd.apache.org/docs/2.2/mod/mod_filter.html

mod_headers

http://httpd.apache.org/docs/2.2/mod/mod_headers.html

mod_imagemap

http://httpd.apache.org/docs/2.2/mod/mod_imagemap.html

mod_include

http://httpd.apache.org/docs/2.2/mod/mod_include.html

mod_info

http://httpd.apache.org/docs/2.2/mod/mod_info.html

mod_log_config

http://httpd.apache.org/docs/2.2/mod/mod_log_config.html

mod_logio

http://httpd.apache.org/docs/2.2/mod/mod_logio.html

mod_mime

http://httpd.apache.org/docs/2.2/mod/mod_mime.html

mod_mime_magic

http://httpd.apache.org/docs/2.2/mod/mod_mime_magic.html

mod_negotiation

http://httpd.apache.org/docs/2.2/mod/mod_negotiation.html

mod_perl

http://perl.apache.org/

mod_proxy

http://httpd.apache.org/docs/2.2/mod/mod_proxy.html

mod_proxy_balancer

http://httpd.apache.org/docs/2.2/mod/mod_proxy_balancer.html

mod_proxy_connect

http://httpd.apache.org/docs/2.2/mod/mod_proxy_connect.html

mod_proxy_ftp

http://httpd.apache.org/docs/2.2/mod/mod_proxy_ftp.html

mod_proxy_http

http://httpd.apache.org/docs/2.2/mod/mod_proxy_http.html

mod_reqtimeout

http://httpd.apache.org/docs/2.2/mod/mod_reqtimeout.html

mod_rewrite

http://httpd.apache.org/docs/2.2/mod/mod_rewrite.html

mod_security

http://www.modsecurity.org/documentation/

また、mod_securityに関するOracle HTTP Server固有の情報については、付録F「mod_securityの構成」を参照してください。

mod_setenvif

http://httpd.apache.org/docs/2.2/mod/mod_setenvif.html

mod_speling

http://httpd.apache.org/docs/2.2/mod/mod_speling.html

mod_status

http://httpd.apache.org/docs/2.2/mod/mod_status.html

mod_substitute

http://httpd.apache.org/docs/2.2/mod/mod_substitute.html

mod_unique_id

http://httpd.apache.org/docs/2.2/mod/mod_unique_id.html

mod_userdir

http://httpd.apache.org/docs/2.2/mod/mod_userdir.html

mod_usertrack

http://httpd.apache.org/docs/2.2/mod/mod_usertrack.html

mod_vhost_alias

http://httpd.apache.org/docs/2.2/mod/mod_vhost_alias.html

2.2 mod_certheaders

mod_certheadersモジュールは、Oracle HTTP Serverの前でSecure Sockets Layer (SSL)接続が終了するリバース・プロキシが、SSL接続に関する情報(SSLクライアント証明書情報など)を、Oracle HTTP ServerおよびOracle HTTP Serverを介して動作しているアプリケーションに送信できるようにします。この情報は、HTTPヘッダーを使用してリバース・プロキシからOracle HTTP Serverに送信されます。その後、情報はヘッダーから標準CGI環境変数に送信されます。SSL接続がOracle HTTP Serverによって終了される場合は、mod_osslモジュールまたはmod_sslモジュールがこの環境変数に値を移入します。

mod_certheadersモジュールでは、特定のリクエストがHTTP経由で受信される場合も、HTTPSリクエストとして扱うことができます。これは、SimulateHttpsディレクティブを使用して実行されます。

SimulateHttpsは、自身が含まれるコンテナ(<VirtualHost>や<Location>など)を使用し、受信されたこのコンテナに対するすべてのリクエストを、リクエストで使用された実際のプロトコルに関係なく、HTTPS経由で受信されたものとして扱います。

mod_certheadersに使用できるディレクティブのリストおよび説明については、G.1項「mod_certheaders」を参照してください。

2.3 mod_context

mod_contextは、Oracle HTTP Serverによって処理されるリクエストに対して、実行コンテキストID(ECID)を作成または伝搬します。リクエストがOracle HTTP Serverに到達する前に、ECIDがリクエスト実行フローに作成されていた場合、mod_contextは、Oracle HTTP Server内のロギングに対してECIDを使用可能にし、WebLogic Serverなどの他のFusion Middlewareコンポーネントへの伝搬にも使用可能にします。リクエストがOracle HTTP Serverに到達した時点で、ECIDが作成されていなかった場合、mod_contextはECIDを作成します。

mod_contextを構成することはできません。これは、LoadModuleディレクティブを持つサーバーにロードすることで有効化され、このモジュールに対応するLoadModuleディレクティブを削除またはコメントアウトすることで無効化されます。問題の診断の助けになるように、常に有効にしておく必要があります。

2.4 mod_dms

mod_dmsは、FMWインフラストラクチャにOHSのOracle Dynamic Monitoring Service (DMS)データへのアクセスを提供します。

2.5 mod_ossl

mod_ossl (Oracle Databaseで使用されるOracle Secure Sockets Layer (SSL)の実装)によって、Oracle HTTP Serverでの強力な暗号化が可能になります。mod_osslは、サーバーでのSSLの使用を可能にするOracle HTTP Serverへのプラグインで、OpenSSLモジュール(mod_ssl)によく似ています。mod_osslはSSLバージョン3およびTLSバージョン1をサポートし、Certicom社およびRSA Security社のテクノロジに基づいています。

mod_sslはサポートされなくなりました。mod_sslからmod_osslへの移行およびテキスト証明書のOracleウォレットへの変換を可能にするツールが提供されています。

mod_osslでは次のことが実行されます。

- RSAまたはDES暗号化規格を使用した、クライアントとサーバー間の暗号化された通信

- MD5またはSHAチェックサム・アルゴリズムを使用した、クライアント/サーバー通信の整合性チェック

- Oracleウォレットを使用した証明書管理

- mod_sslと完全に同じように実行される、複数のアクセス・チェックを使用したクライアントの認可

mod_osslのディレクティブ

mod_osslで使用できるディレクティブのリストおよび説明は、G.2項を参照してください。

関連項目:

詳細は、『Oracle Fusion Middlewareの管理』のWeb層のSSLの構成に関する項を参照してください。

2.6 mod_perl

mod_perlモジュールは、Oracle HTTP ServerにPerlインタプリタを埋め込みます。これにより、起動時のオーバーヘッドが排除され、モジュールをPerlで記述できます。Oracle Fusion Middlewareでは、Perlバージョン5.10を使用します。

デフォルトでは、モジュールは無効です。mod_perlを有効化するには、4.6.3項「mod_perlの構成」の手順に従ってください。

関連項目:

mod_perlに関するドキュメントhttp://perl.apache.org/docs/index.html

2.6.1 データベースでのmod_perlの使用

この項では、データベースを使用するmod_perlユーザー向けの情報を提供します。また、ローカル・データベース接続をテストし、文字構成を設定する方法についても説明します。

2.6.1.1 Perlを使用したデータベース・アクセス

Perlスクリプトは、Oracle用のDBI/DBDドライバを使用してデータベースにアクセスします。DBI/DBDドライバはOracle Fusion Middlewareに含まれています。このドライバは、Oracle Call Interface (OCI)をコールしてデータベースにアクセスします。

mod_perlを有効化した後、機能させるためにはmod_perl.confファイル内のDBIを有効化する必要があります。DBIを有効化するには、次の手順を実行します。

注意:

次の手順では、Fusion Middleware Controlと管理対象サーバーを使用していることを想定しています。構成ファイルの編集の全般的な情報は、1.6.2項「構成の編集」を参照してください。

1. mod_perl.confファイルを編集します。

1. Fusion Middleware Controlで、Oracle HTTP Serverの「サーバーの詳細構成」ページに移動します。

2. メニューからmod_perl.confファイルを選択し、「実行」をクリックします。

3. mod_perl.confファイルに次の行を追加します。
PerlModule Apache::DBI

2. 「適用」をクリックして、ファイルを保存します。

3. 4.3.4項「Oracle HTTP Serverインスタンスの再起動」の説明に従って、Oracle HTTP Serverを再起動します。

実行するPerlスクリプトをDOMAIN_HOME/config/fmwconfig/components/OHS/instances/componentName/cgi-binに配置します。

例2-1 Perlスクリプトを使用したデータベース・アクセス

#!ORACLE_HOME/perl/bin/perl -w
use DBI;
my $dataSource = "host=hostname.domain;sid=orclsid;port=1521";
my $userName = "userid";
my $password = "password";
my $dbhandle = DBI->connect("dbi:Oracle:$dataSource", $userName, $password)
or die "Can't connect to the Oracle Database: $DBI::errstr\n";
print "Content-type: text/plain\n\n";
print "Database connection successful.\n";
### Now disconnect from the database
$dbhandle->disconnect
or warn "Database disconnect failed; $DBI::errstr\n";
exit;

DBIスクリプトを実行する場合、URLは次のようになります。

http://hostname.domain:port/cgi-bin/scriptname
http://hostname.domain:port/perl/scriptname

スクリプトにuse DBIではなくuse Apache::DBIと指定されている場合、このスクリプトを実行できるのは、http://hostname.domain:port/perl/scriptnameというURLからのみです。

2.6.1.2 データベース接続のテスト

例2-2は、データベース接続をテストするためのサンプルPerlスクリプトを示しています。connect文のインスタンス名、ユーザーIDおよびパスワードは、ターゲット・データベースの適切な値で置き換えてください。

例2-2 ローカル・シード・データベースの接続テスト用サンプルPerlスクリプト

use DBI;
print "Content-type: text/plain\n\n";
$dbh = DBI->connect("dbi:Oracle:instance_name", userid/password, "") ||
die $DBI::errstr;
$stmt = $dbh->prepare("select * from emp order by empno")|| die $DBI::errstr;
$rc = $stmt->execute() || die $DBI::errstr;
while (($empno, $name) = $stmt->fetchrow()) {
print "$empno $name\n";
}
warn $DBI::errstr if $DBI::err;
die "fetch error: " . $DBI::errstr if $DBI::err;
$stmt->finish() || die "can't close cursor";
$dbh->disconnect() || die "can't log off Oracle";

2.6.1.3 SQL NCHARデータ型の使用

SQL NCHARデータ型(NCHAR、NVARCHAR2およびNCLOB)は、信頼性の高いUnicodeデータ型です。SQL NCHARデータ型を使用すると、Unicode文字をデータベースの文字セットに関係なく格納できます。これらのデータ型の文字セットは、各国語文字セット、つまりAL16UTF16またはUTF8で指定します。

例2-3は、SQL NCHARデータにアクセスする場合の例を示しています。

例2-3 SQL NCHARデータにアクセスするためのサンプル・スクリプト

# declare to use the constants for character forms
use DBD::Oracle qw(:ora_forms);
# connect to the database and get the database handle
$dbh = DBI->connect( ... );

# prepare the statement and get the statement handle
$sth = $dbh->prepare( 'SELECT * FROM TABLE_N WHERE NCOL1 = :nchar1' );

# bind the parameter of a NCHAR type
$sth->bind_param( ':nchar1', $param_1 );
# set the character form to NCHAR
$sth->func( { ':nchar1' => ORA_NCHAR } , 'set_form' );

$sth->execute;

例2-3に示したとおり、標準のDBI funcメソッドで起動できるプライベート・ファンクションとして、set_formファンクションが提供されています。set_formファンクションでは、パラメータの文字構成を設定できる匿名ハッシュを使用します。

文字構成の有効値は、ORA_IMPLICITまたはORA_NCHARのいずれかです。文字構成をORA_IMPLICITに設定すると、アプリケーションのバインド・データはデータベースの文字セットに変換され、ORA_NCHARに設定すると各国語文字セットに変換されます。デフォルトはORA_IMPLICITです。

この定数は、DBD::Oracleではora_formsとして使用できます。

set_default_formでは、データベース・ハンドルのデフォルトの文字構成を設定します。次の例では、その構文を示しています。

# specify the default form to be NCHAR
$dbh->func( ORA_NCHAR, 'set_default_form' );

set_formコールで特に指定しないかぎり、この構文によりすべてのパラメータの構成がORA_NCHARになります。set_formファンクションとは異なり、set_default_formはデータベース・ハンドルのファンクションであるため、データベース・ハンドルの各文は任意に選択した構成になります。

例2-4 set_formのサンプル

# a declaration example for the constants ORA_IMPLICIT and ORA_NCHAR
use DBD::Oracle qw(:ora_forms);

# set the character form for the placeholder :nchar1 to NCHAR
$sth->func( { ':nchar1' => ORA_NCHAR } , 'set_form' );

# set the character form using the positional index
$sth->func( { 2 => ORA_NCHAR } , 'set_form' );

# set the character form for multiple placeholders at once
$sth->func( { 1 => ORA_NCHAR, 2 => ORA_NCHAR } , 'set_form' );

2.7 mod_plsql

mod_plsqlモジュールにより、Oracle HTTP ServerはOracle Databaseに接続され、Oracleストアド・プロシージャを使用してWebアプリケーションを作成できるようになります。

Web対応のPL/SQLアプリケーションにアクセスするには、mod_plsqlモジュール用PL/SQLデータベース・アクセス・ディスクリプタ(DAD)を構成します。DADは、このモジュールがデータベース・サーバーに接続してHTTPリクエストを実行する方法を指定する値のセットです。DADには、接続詳細の他、データベースでの各種操作およびmod_plsqlモジュール全般にとって重要な構成パラメータが含まれています。PL/SQL Web Toolkitを使用するWeb対応のPL/SQLアプリケーションでは、そのアプリケーションを起動するDADを作成する必要があります。

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

- 2.7.1項「DADの作成」

- 2.7.2項「mod_plsqlの構成ファイル」

- 2.7.3項「構成ファイルとパラメータの使用」

- 2.7.4項「その他のドキュメント」

mod_plsqlのディレクティブ

mod_plsqlで使用できるディレクティブのリストおよび説明は、G.3.1項を参照してください。

2.7.1 DADの作成

DADを作成するには、次の手順を実行します。

1. dads.conf構成ファイルを開きます。
mod_plsql構成ファイルの場所については、表2-2を参照してください。

注意:

4.6.5項「Oracle HTTP Server構成ファイルの変更」の説明に従って、Oracle HTTP Serverの「サーバーの詳細構成」ページでOracle Fusion Middleware Controlを使用して、dads.confを開いて編集することもできます。

2. 次を追加します。

1. PL/SQL Webアプリケーションへのアクセスに使用する仮想パスを定義する<Location>要素。このディレクティブは、Locationに適用されるディレクティブのセットをグループ化します。
たとえば、次のディレクティブは、http://host:port/myapp/のようなURLを介してPL/SQL Webアプリケーションを起動するために使用する、/myappという仮想パスを定義します。

<Location /myapp>

注意:

以前のリリースのmod_plsqlモジュールでは、常に接頭辞/plsを付けて仮想パスにマウントしていました。新しいリリースではこの制限は削除されましたが、以前のPL/SQLアプリケーションによって制限されてしまう場合もあります。

2. Oracle HTTP Serverに対して、Locationで定義された仮想パスに対するリクエストをmod_plsqlモジュールが処理できるように指示するSetHandlerディレクティブ。

SetHandler pls_handler

3. <Location>ディレクティブのコンテキストで許可されるその他のOracle HTTP Serverのディレクティブ。通常は、次のディレクティブが使用されます。

Order deny,allow
Allow from all

4. 1つ以上の特定のmod_plsqlディレクティブ。例:

PlsqlDatabaseUsername        scott
PlsqlDatabasePassword        tiger
PlsqlDatabaseConnectString   orcl
PlsqlAuthenticationMode      Basic

5. <Location>要素をクローズする</Location>タグ。

3. 編集内容を保存します。

4. ORACLE_HOME/binディレクトリにあるdadTool.plスクリプトを実行することで、DADパスワードを不明瞭化します。

関連項目:

不明瞭化を実行するための手順は、「PlsqlDatabasePassword」を参照してください。

5. 4.3.4項「Oracle HTTP Serverインスタンスの再起動」の説明に従って、Oracle HTTP Serverを再起動します。

dads.confに一意の名前を持つ他の<Location>要素を定義することで、追加のDADを作成することもできます。

DADの例

次のDADは特定のユーザーとして接続し、デフォルトのホームページを持ちます。

<Location /pls/mydad>
SetHandler pls_handler
Order allow,deny
Allow from All
PlsqlDatabaseUsername scott
PlsqlDatabasePassword tiger
PlsqlDatabaseConnectString prod_db
PlsqlDefaultPage scott.myapp.home
</Location>

次のDADはHTTP Basic認証を使用し、ドキュメントのアップロードおよびダウンロード操作をサポートします。

<Location /pls/mydad2>
SetHandler pls_handler
Order allow,deny
Allow from All
PlsqlDatabaseConnectString prod_db2
PlsqlDefaultPage scott.myapp.my_home
PlsqlDocumentTablename scott.my_documents
PlsqlDocumentPath docs
PlsqlDocumentProcedure scott.docpkg.process_download
</Location>

2.7.2 mod_plsqlの構成ファイル

表2-2で説明されているように、mod_plsql構成パラメータは、構成ディレクトリ(通常、DOMAIN_HOME/config/fmwconfig/components/OHS/componentName/)にある構成ファイル内に記載されています。

表2-2 システム・コンポーネント・インスタンス内のmod_plsql構成ファイル

ディレクトリ名

目次

CONFIG_DIR/moduleconf

plsql.conf

CONFIG_DIR/mod_plsql

dads.confおよびcache.conf

これらの.confファイルの編集の詳細は、1.6.2項「構成の編集」を参照してください。

次の各項で、mod_plsql構成パラメータについて説明します。

- 2.7.2.1項「plsql.conf」

- 2.7.2.2項「dads.conf」

- 2.7.2.3項「cache.conf」

2.7.2.1 plsql.conf

plsql.confファイルは、CONFIG_DIR/moduleconfディレクトリ内にあり、Oracle HTTP Server によって、すべての.confファイルが自動的にこのディレクトリにロードされます。plsql.confファイルには、mod_plsqlモジュールをOracle HTTP ServerにロードするLoadModuleディレクティブ、mod_plsqlモジュールのグローバル設定、およびdads.confとcache.confのインクルード・ディレクティブが含まれています。

plsql.conf内のmod_plsqlのディレクティブ

plsql.conf内で使用されるディレクティブのリストおよび説明は、G.3.1項を参照してください。

関連項目:

plsql.confの詳細は、ORACLE_HOME/ohs/mod_plsqlにあるplsql.READMEファイルを参照してください。

2.7.2.2 dads.conf

dads.confファイルには、PL/SQLのデータベース・アクセス・ディスクリプタの構成パラメータが含まれています。(ファイルの場所については、表2-2を参照してください。)DADは、mod_plsqlモジュールがデータベース・サーバーに接続してHTTPリクエストを実行する方法を指定する値のセットです。

dads.conf内のmod_plsqlのディレクティブ

dads.conf内で使用されるディレクティブのリストおよび説明は、G.3.2項を参照してください。

2.7.2.3 cache.conf

cache.confファイルには、mod_plsqlモジュールに実装されたファイル・システム・キャッシュ機能の構成の設定が含まれています。この構成ファイルが関係するのは、PL/SQLアプリケーションがOWA_CACHEパッケージを使用して、ファイル・システム内の動的生成コンテンツをキャッシュする場合のみです。

cache.conf内のmod_plsqlのディレクティブ

cache.confで使用されるディレクティブのリストおよび説明は、付録Gを参照してください。

2.7.3 構成ファイルとパラメータの使用

構成パラメータに値を指定するときは、Oracle HTTP Serverの値を指定する規則に従ってください。たとえば、値の中にスペースが含まれている場合は、値を二重引用符で囲む必要があります。例:

PlsqlNLSLanguage "TRADITIONAL CHINESE_TAIWAN.UTF8"

複数行ディレクティブにより、同じディレクティブをDAD内に複数回指定できます。

2.7.4 その他のドキュメント

PL/SQLでのOracle HTTP Serverの関連情報は、次のドキュメントを参照してください。

- Oracle® Fusion Middleware mod_plsqlユーザーズ・ガイド

- 『Oracle® Fusion Middleware PL/SQL Web Toolkitリファレンス』

2.8 mod_wl_ohs

mod_wl_ohsにより、Oracle HTTP Server 12c (12.1.2)からOracle WebLogic Serverへのリクエストをプロキシ処理できます。このモジュールは一般的にWebLogicプロキシ・プラグインと呼ばれます。

mod_wl_ohsを構成する際の前提条件と手順の詳細は、『Oracle WebLogic Serverプロキシ・プラグイン12.1.2の使用』のOracle HTTP ServerのWebLogicプロキシ・プラグインの構成に関する項を参照してください。このモジュール用のディレクティブは、前述のドキュメントのWebサーバー・プラグインのパラメータに関する項に示されています。

注意:

mod_wl_ohsは、Apache HTTP ServerからOracle WebLogic Serverへのリクエストをプロキシ処理するために使用できる、mod_wlプラグインに似ています。ただし、Apache HTTP Server用のmod_wlプラグインは別途ダウンロードしてインストールする必要があるのに対し、mod_wl_ohsプラグインはOracle HTTP Serverにバンドルされています。

3 Oracle HTTP Server管理ツールの理解

この章では、Oracle HTTP Server (OHS)で使用可能な管理ツールについて説明します。この章には、OHSの管理、Fusion Middleware Controlのアクセス方法、OHSホームページのアクセス方法およびWebLogic Scripting Tool (WLST)の使用方法に関する情報が含まれています。

次の管理ツールがOracle HTTP Server用に提供されています。

- Oracle HTTP Serverインスタンスを作成および削除できる構成ウィザード。詳細は、『Oracle HTTP Serverのインストールと構成』を参照してください。

- Fusion Middleware Control(ブラウザベースの管理ツール)。詳細は、『Oracle Fusion Middlewareの管理』を参照してください。

- コマンドドリブンのスクリプト・ツールであるWebLogic Scripting Tool。詳細は、『WebLogic Scripting Toolの理解』を参照してください。

注意:

Oracle HTTP Server実装で使用可能な管理ツールは、それをWebLogic Serverドメイン(FMWインフラストラクチャを使用)またはスタンドアロン・ドメイン内で構成したかどうかに依存します。詳細は、1.4項「ドメイン・タイプ」を参照してください。

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

- 3.1項「Oracle HTTP Serverの管理の概要」

- 3.2項「Oracle HTTP Server Mbeansに関する特別な注意事項」

- 3.3項「Fusion Middleware Controlへのアクセス」

- 3.4項「Oracle HTTP Serverのホームページへのアクセス」

- 3.5項「Fusion Middleware Controlを使用した構成ファイルの編集」

- 3.6項「WebLogic Scripting Toolの使用」

3.1 Oracle HTTP Serverの管理の概要

Oracle HTTP Serverを管理するための主要ツールは、Fusion Middleware Controlです。Fusion Middleware Controlは、Oracle Fusion Middleware環境を管理および監視するためのブラウザベースのツールです。

関連項目:

Oracle Fusion Middlewareの管理

3.2 Oracle HTTP Server Mbeansに関する特別な注意事項

Fusion Middleware ControlまたはWebLogic Scripting Tool (WLST)内にあるOracle HTTP Server MBeansは、Oracleの管理ツールを使用するために提供されています。このインタフェースは、予告なしに変更される場合があり、他の使用目的ではサポートされていません。

3.3 Fusion Middleware Controlへのアクセス

Fusion Middleware Controlを表示するには、Fusion Middleware ControlのURLを入力します。これには、WebLogic管理サーバー・ホストの名前と、インストール時にFusion Middleware Controlに割り当てたポート番号が含まれます。URLの形式は次のとおりです。

http://hostname.domain:port/em

最後のインストール画面で「保存」をクリックしてインストール情報を保存した場合、Fusion Middleware ControlのURLは、ディスクに書き込まれたファイルに含まれています。

1. WebブラウザでURLを入力して、Fusion Middleware Controlを表示します。例:

http://host1.acme.com:7001/em

「ようこそ」ページが表示されます。

2. Fusion Middleware Controlの管理者ユーザー名とパスワードを入力し、「ログイン」をクリックします。
管理者ユーザーのデフォルトのユーザー名は、weblogicです。このアカウントは、初めてFusion Middleware Controlにログインするときに使用できます。weblogicパスワードは、Fusion Middleware Controlのインストール中に指定したパスワードです。

3.4 Oracle HTTP Serverのホームページへのアクセス

Fusion Middleware ControlのOracle HTTP Serverのホームページには、サーバーの管理に使用できるメニューとリージョンが含まれます。各メニューを使用して、監視、管理、ルーティングおよび一般情報の表示を行うことができます。

3.4.1 Fusion Middleware Control内のナビゲーション

ターゲット(WebLogic管理対象サーバーなど)やコンポーネント(Oracle HTTP Serverなど)を選択すると、コンテンツ・ペインにターゲットのホームページが表示され、ページの一番上のコンテキスト・ペインにそのターゲットのメニューが表示されます。たとえば、「Web層」フォルダからOracle HTTP Serverインスタンスを選択すると、「Oracle HTTP Server」メニューが表示されます。また、ターゲットのメニューは、ナビゲーション・ペインでターゲットを右クリックしても表示できます。

図3-1に、ターゲットのナビゲーション・ペインとOracle HTTP Serverのホームページを示します。

図3-1 Fusion MIddleware ControlでのOracle HTTP Serverのホームページ

Oracle HTTP Serverのホームページには、次のリージョンが含まれます。

- 「仮想ホスト」リージョン: Oracle HTTP Serverの仮想ホストが表示されます。

- 「モジュール・リクエスト統計」リージョン: Oracle HTTP Serverのモジュールが表示されます。

- 「レスポンスと負荷」リージョン: アクティブ・リクエストの数、発行済のリクエストの数、Oracle HTTP Serverがリクエストに応答するのに要した時間などの情報が表示されます。また、リクエストで処理されたバイト数に関する情報も表示されます。

- 「CPU使用率およびメモリー使用量」リージョン: Oracle HTTP Serverインスタンスで使用されているCPU(%)およびメモリー(MB)が表示されます。

- 「リソース・センター」リージョン: Oracle HTTP Serverに関連するドキュメントおよびトピックへのリンクが表示されます。

関連項目:

『Oracle Fusion Middlewareの管理』に、ターゲット・ナビゲーション・ペインおよびホーム・ページ上のすべてのアイテムが詳しく説明されています。

3.5 Fusion Middleware Controlを使用した構成ファイルの編集

Fusion Middleware Control の「サーバーの詳細構成」ページでは、構成ファイル(.conf)を直接編集することなく、Oracle HTTP Server構成を編集できます(詳細は4.6.5項「Oracle HTTP Server構成ファイルの変更」を参照)。Oracle HTTP Server構成を管理するFusion Middleware Controlおよびその他のOracleソフトウェアでは、これらのファイルが、同等ですが異なる形式で保存される場合がある点に注意してください。ソフトウェアを使用して構成を変更した後に、複数の構成ファイルがリライトされる可能性があります。

3.6 WebLogic Scripting Toolの使用

WebLogic ServerドメインでOracle HTTP Serverを管理するために、5つのOHS固有のWLSTコマンドが提供されます。ほとんどはオンライン・コマンドで、WLSTとドメイン用の管理サーバーが接続されている必要があります。

- createOHSInstance()

- deleteOHSInstance()

- addOHSAdminProperties()

- addOHSNMProperties()

OHSのテストに適したドメインを作成するために、次の1つのオフライン・コマンドが提供されています。

- createOHSTestDomain()

Oracle HTTP Serverインスタンスを作成および削除するには、構成ウィザードまたはオフライン・コマンドのWLST(これらのカスタム・コマンドは追加のエラー・チェックを実行したり、インスタンスの作成の場合は自動ポート割当てを実行するので)を使用せずに、createOHSInstance()とdeleteOHSInstance()コマンドを使用する必要があります。

3.6.1 スタンドアロン環境でのWLSTの使用方法

Oracle HTTP Serverのスタンドアロン実装では、WLSTを使用してサーバーの起動および停止のみ行えます(nmStart()およびnmKill()コマンド; 第4.3項「基本的なOHSタスクの実行」を参照してください)。その他の管理タスクは実行できません。したがって、スタンドアロン構成では、WLSTの効果は限定的となります。

リモートのOracle HTTP Serverの1台が管理モードにあり、別の1台がリモート管理モードを有効化したスタンドアロンの場合、WLSTを使用してSSL構成などの管理タスクを実行できます。スタンドアロン・ドメインにおける通常のOracle HTTP Serverは、WebLogic Serverのノード・マネージャとしてのみ、そしてOracle HTTP Serverの起動/停止目的でのみ使用できます。これは、コマンドライン・スクリプトでも実行できます。

3.6.2 その他の情報

Oracle HTTP ServerのカスタムWLSTコマンドの詳細は、『インフラストラクチャ・コンポーネントのためのWLSTコマンド・リファレンス』のOracle HTTP ServerのカスタムWLSTコマンドに関する項を参照してください。

関連項目:

WLSTの詳細は、『WebLogic Scripting Toolの理解』を参照してください。

第II部

Oracle HTTP Serverの管理

この部では、Oracle HTTP Serverの管理タスクについて説明します。次の章が含まれます。

- 第4章「Oracle HTTP Serverの操作」

- 第5章「サーバー・プロセスの管理および監視」

- 第6章「接続の管理」

- 第7章「Oracle HTTP Serverログの管理」

- 第8章「アプリケーション・セキュリティの管理」

4 Oracle HTTP Serverの操作

この章では、Oracle HTTP Server (OHS)の操作方法に関する情報を提供します。また、現在の環境でOHSを構成および使用する際に必要な手順について説明します。

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

- 第4.1項「始める前に」

- 4.2項「OHSインスタンスの作成」

- 4.3項「基本的なOHSタスクの実行」

- 4.4項「Oracle HTTP Serverのリモート管理」

- 4.5項「サーバー・プロパティの指定」

- 4.6項「Oracle HTTP Serverの構成」

4.1 始める前に

この章で説明するタスクを実行する前に、次の手順を実行する必要があります。

1. 『Oracle HTTP Serverのインストールと構成』の説明に従って、Oracle HTTP Serverをインストールおよび構成します。

2. WebLogic ServerドメインでOracle HTTP Serverを実行している場合は、『Oracle WebLogic Serverサーバーの起動と停止の管理』のサーバーの起動と停止に関する項に従ってWebLogic Serverを起動します。

注意:

コマンド・ラインからWebLogic Serverを起動すると、多数の警告メッセージがスクロール表示される場合があります。これらのメッセージが表示される場合でも、WebLogic Serverは正常に起動します。

3. 『Oracle WebLogic Serverノード・マネージャの管理』のノード・マネージャの使用に関する項に従って、ノード・マネージャ(WebLogicドメインおよびスタンドアロン・ドメインの両方に必要)を起動します。

注意:

ノード・マネージャを起動すると、多数の警告メッセージがスクロール表示される場合があります。これらのメッセージは無視してかまいません。

4.2 OHSインスタンスの作成

構成ウィザードを使用すると、ドメインの作成時に複数のOracle HTTP Serverインスタンスを同時に作成できます。WebLogic Serverドメインを作成する場合はインスタンスを作成する必要はありませんが、スタンドアロン・ドメインを作成する場合は少なくとも1つのOracle HTTP Serverインスタンスを作成する必要があります。WebLogic Serverドメインの作成時にインスタンスを作成しないことを選択した場合は、警告が表示されますが、構成プロセスは続行できます。

注意:

Oracle Fusion Middlewareには、多数のWLSTのバージョンが含まれています。この章のすべての手順で使用されているWLSTコマンドは、WLST実装をORACLE_HOME/ohs/common/bin/で実行する場合のみ機能します。

4.2.1 WebLogic Serverドメインでの管理対象インスタンスの作成

WebLogic Serverドメインで管理対象のOracle HTTP Serverインスタンスを作成するには、カスタムWebLogic Scripting Tool (WLST)コマンドcreateOHSInstance()を使用するか、またはFusion Middleware Controlから作成します。これらの手順については、この後の各項で説明します。

注意:

WebLogic Serverドメインで作業している場合は、3.6項「WebLogic Scripting Toolの使用」の説明に従ってOracle HTTP ServerのカスタムWLSTコマンドを使用する必要があります。これらのコマンドによって、優れたエラー・チェックや自動ポート管理などが提供されます。

4.2.1.1 WLSTを使用したインスタンスの作成

WLSTを使用してWebLogic ServerドメインでOHSインスタンスを作成するには、次の手順を実行します。

1. コマンド・ラインからWLSTを起動します。

Linux: $ORACLE_HOME/ohs/common/bin/wlst.sh

Windows: $ORACLE_HOME\ohs\common\bin\wlst.cmd

2. WLSTに接続します。

- WebLogic Serverドメインでは:

> connect('loginID', 'password', '<adminHost>:<adminPort>')

例:

> connect('weblogic', 'welcome1', 'abc03lll.myCo.com:7001')

3. インスタンスおよびドメイン作成時に割り当てられたマシン名を指定してcreateOHSInstance()コマンドを使用し、インスタンスを作成します。

> createOHSInstance(instanceName='ohs1', machine='abc03lll.myCo.com' [listenPort=XXXX] [sslPort=XXXX] [adminPort=XXXX])

注意:

ノード・マネージャが停止している場合は、createコマンドが部分的に実行されます。構成ファイルのマスター・コピーがOHS/componentNameに表示されます。ノード・マネージャが再開されると、システムが再同期化を行い、ファイルのランタイム・コピーがOHS/instances/componentNameに表示されます。

例:

> createOHSInstance(instanceName='ohs1', machine='abc03lll.myCo.com')

注意:

ポート番号を指定しない場合は、番号が自動的に割り当てられます。

関連項目:

WebLogic Scripting Tool (WLST)の使用の詳細は、『WebLogic Scripting Toolの理解』を参照してください。

4.2.1.2 Fusion Middleware Controlを使用したインスタンスの作成

Fusion Middleware Controlを使用してWebLogic ServerドメインでOracle HTTP Serverインスタンスを作成するには、次の手順を実行します。

1. Fusion Middleware Controlにログインし、Oracle HTTP Serverインスタンスを作成するWebLogic Serverドメインのシステム・コンポーネント・インスタンスのホームページに移動します。

2. WebLogic Serverドメインのメニューを開き、「管理」を選択してから、「OHSの作成/削除」を選択します。

注意:

「OHSの作成/削除」は、Oracle HTTP Serverドメイン・テンプレートを使用してドメインを拡張している場合のみ表示されます。そうでない場合は、このコマンドを使用できません。

「OHSインスタンス」ページが表示されます。

3. 「作成」をクリックします。
「OHSインスタンスの作成」ページが表示されます。

4. 「インスタンス名」で、Oracle HTTP Serverインスタンスの一意の名前(ohs4など)を入力します。

5. 「マシン名」で、ドロップダウン・コントロールをクリックし、インスタンスを関連付けるマシンを選択します。

6. 「OK」をクリックします。
「OHSインスタンス」ページが再表示され、確認メッセージと新しいインスタンスが示されます。

インスタンスの作成後、「OHSインスタンス」ページの列に、そのインスタンスに対して下矢印が表示されていることに気が付きます。

これは、インスタンスが実行されていないことを示します。インスタンスの起動手順は、4.3.2項「Oracle HTTP Serverインスタンスの起動」を参照してください。起動後、矢印は上向きになります。

4.2.1.3 インスタンスのプロビジョニング

インスタンスの作成後、インスタンスはDOMAIN_HOME内でプロビジョニングされます。

- マスター・コピーは次の場所にあります。
DOMAIN_HOME/config/fmwconfig/components/OHS/componentName

- ランタイムは次の場所にあります。
DOMAIN_HOME/config/fmwconfig/components/OHS/instances/componentName

作成直後、報告されるOHSインスタンスの状態は、インスタンスが作成された方法によって異なります。

- createOHSInstance()が使用された場合、報告されるインスタンスの状態はSHUTDOWNになります。

- 構成ウィザードを使用した場合、報告されるインスタンスの状態はUNKNOWNになります。

4.2.2 スタンドアロン・ドメイン・インスタンスの作成

サーバー構成時にドメインとして「スタンドアロン」を選択した場合、構成ウィザードによりドメインが作成されますが、このプロセス中に少なくとも1つのOracle HTTP Serverインスタンスを作成する必要があります。詳細は、『Oracle HTTP Serverのインストールと構成』を参照してください。

4.2.2.1 スタンドアロン・ドメインでのWLSTの使用

Oracle HTTP Serverインスタンスがスタンドアロン・ドメインで実行されている場合、WLSTを使用することはできますが、ノード・マネージャを介してタスクをルーティングするオフライン(または"エージェント")・コマンドを使用する必要があります。特定のコマンドについては、これらのコマンドが実行するタスクとの関連において、この章の他の場所で説明されていますが、実際にオフラインWLSTに接続するにはnmConnect()コマンドを使用する必要があります。LinuxとWindowsのいずれの場合も、次を入力します。

nmConnect('login','password','hostname','port','<domainName>')

例:

nmConnect('weblogic','welcome1','localhost','5556','myDomain')

4.3 基本的なOHSタスクの実行

次のタスクに対してはFusion Middleware ControlまたはWebLogic Scripting Toolを使用できます。

- Oracle HTTP Serverインスタンスの起動

- Oracle HTTP Serverインスタンスの停止

- Oracle HTTP Serverインスタンスの再起動

- 実行中のOracle HTTP Serverインスタンスのステータスの確認

- Oracle HTTP Serverインスタンスの削除

WLSTコマンドの使用について

WLSTを使用する予定がある場合は、このツールに精通しておく必要があります。次の点にも注意する必要があります。

- この項で説明されている、WebLogic Serverドメインで使用されるオンラインWLSTコマンドは、これらのコマンドをORACLE_HOME/ohs/common/bin/wlst.sh (Windowsの場合はwlst.cmd)にあるWLST実装から実行する場合のみ動作します。

- スタンドアロン・バージョンのOracle HTTP Serverを実行している場合、同じくORACLE_HOME/ohs/common/bin/wlst.sh (Windowsの場合はwlst.cmd)にあるオフライン(または"エージェント")WLSTコマンドを使用する必要があります。これらのコマンドについては、それぞれの適切な箇所で説明します。

詳細は、『Oracle® Fusion Middleware管理者ガイド』のOracle WebLogic Scripting Tool (WLST)の使用のスタート・ガイドを参照してください。

4.3.1 PIDファイルの理解

Oracle HTTP Serverは起動時に、親httpdプロセスのプロセスID (PID)を、次のディレクトリにあるhttpd.pidファイルに書き込みます。

DOMAIN_HOME/servers/<componentName>/logs

管理者は、デーモンの再起動時と終了時にプロセスIDを使用できます。プロセスが異常停止した場合、killコマンドを使用してhttpd子プロセスを停止する必要があります。デフォルトのPIDファイルの名前またはその場所を変更することはできません。

httpd.confのPidFileディレクティブでは、PIDファイルの場所を指定しますが、このディレクティブの値は変更しないでください。

注意:

PidFileディレクティブを編集する場合、UNIXおよびLinuxプラットフォームでは、ORACLE_HOME/ohs/bin/apachectlファイルを編集してPIDファイルの新しい場所を指定する必要もあります。

関連項目:

PidFileディレクティブの詳細は、次のApache HTTP Serverのドキュメントを参照してください。

http://httpd.apache.org/docs/current/mod/mpm_common.html#pidfile

4.3.2 Oracle HTTP Serverインスタンスの起動

この項では、Fusion Middleware ControlおよびWLSTを使用してOracle HTTP Serverを起動する方法について説明します。

4.3.2.1 Fusion Middleware Controlを使用したOracle HTTP Serverインスタンスの起動

Fusion Middleware Controlを使用してOracle HTTP Serverを起動するには、Oracle HTTP Serverのホームページに移動し、次のいずれかの操作を実行します。

- 「Oracle HTTP Server」メニューから次の手順を実行します。

1. 「コントロール」を選択します。

2. 「コントロール」メニューから「起動」を選択します。

- 「ターゲット・ナビゲーション」ツリーから次の手順を実行します。

1. 起動するOracle HTTP Serverインスタンスを右クリックします。

2. 「コントロール」を選択します。

3. 「コントロール」メニューから「起動」を選択します。

- ページ・ヘッダーから「起動」を選択します。
インスタンスがUNKNOWNの状態で起動します。

4.3.2.2 WLSTを使用したOracle HTTP Serverインスタンスの起動

WLSTを使用してシステム・コンポーネント・インスタンス内のすべてのOracle HTTP Serverコンポーネントを起動するには(この手順では、4.2項「OHSインスタンスの作成」の説明に従ってOHSインスタンスが作成され、WLSTが実行中であると想定しています)、次に示すようにWebLogic Serverドメインでstart()コマンドを使用するか、またはスタンドアロン・ドメインに対してはnmStart()を使用します。

注意:

これらのコマンドを機能させるには、ノード・マネージャが実行中である必要があります。ノード・マネージャが停止している場合は、エラー・メッセージが表示されます。

スタンドアロン・ドメインの場合、serverTypeは必須です。これが含まれていないと、startWebLogicを検出できないことを示すエラーがスローされます。

ドメイン

構文

例

WebLogic

start('instanceName')

または

nmStart(serverName='name', serverType='type')

start('ohs1')

または

nmStart(serverName='ohs1', serverType='OHS')

スタンドアロン

nmStart(serverName='name', serverType='type')

nmStart(serverName='ohs1', serverType='OHS')

インスタンスの作成にcreateOHSInstance()が使用されている場合(4.2項「OHSインスタンスの作成」)、最初に報告されるインスタンスの状態はSHUTDOWNになります。

4.3.2.3 コマンド・ラインを使用したOracle HTTP Serverインスタンスの起動

次のコマンドを入力すると、コマンド・ラインからOracle HTTP Serverを直接(つまりWLSTを起動せずに)起動できます。

Linux: $DOMAIN_HOME/bin/startComponent.sh componentName

Windows: %DOMAIN_HOME%\bin\startComponent.cmd componentName

例:

$DOMAIN_HOME/bin/startComponent.sh ohs1

このコマンドは、WLSTを起動して、WLSTにstart()コマンドを実行するように指示します。

数秒後にノード・マネージャのパスワードの入力を要求されます。パスワードを入力し、[Enter]を押します。

Successfully started server componentName...
Successfully disconnected from Node Manager...

Exiting WebLogic Scripting Tool.

startComponent.sh/.cmdを使用してサーバーを起動するたびにノード・マネージャのパスワードを入力する手間を省くには、初めて起動する際にstoreUserConfigオプションを使用します。次の手順を実行します。

1. プロンプトに次のコマンドを入力します。

$DOMAIN_HOME/bin/startComponent.sh componentName storeUserConfig

システムによりノード・マネージャのパスワードの入力を要求されます。

2. パスワードを入力し、[Enter]を押します。
システムは次のメッセージにより応答します。

Creating a key file can reduce the security of your system if it is not a secured location after it is created. Do you want to create the key file? y or n.

3. yを入力して、ノード・マネージャのパスワードを格納します。これより後でこのコマンドを使用する場合、パスワードを入力する必要はありません。

4.3.2.4 特権ポートでのOracle HTTP Serverインスタンスの起動(UNIXのみ)

警告:

この手順が完了すると、同じグループのユーザーとして、このOracleホームから実行されている任意のOracle HTTP Serverプロセスを特権ポートにバインドできるようになります。

UNIXシステムでは、予約済の範囲内(通常1024未満)にあるTCPポートは、root権限を持つプロセスによってのみバインドできます。Oracle HTTP Serverは常に非rootユーザー(Oracle Fusion Middlewareをインストールしたユーザー)として実行されます。UNIXで、Oracle HTTP Serverを特権ポートにバインドできるようにするには、特別な構成が必要です。

root権限を持たないプロセスとして、Oracle HTTP Serverが予約済の範囲内にあるポート(デフォルト・ポート80またはポート443など)でリスニングできるようにするには、Oracle HTTP Serverマシンごとに次の1回かぎりのセットアップを使用します。

1. Oracle HTTP Serverを起動したときと同じユーザーとして次を入力することで、一時的なcap.oraファイルを作成します。

echo `id -ng`: bind  > /tmp/cap.ora

注意:

次の手順は、rootユーザーとして実行する必要があります。rootアクセス権を持たない場合は、システム管理者にこれらの手順を実行してもらいます。

2. 次の手順を実行することでORACLE_HOME/oracle_common/bin/hasbindファイルを更新します。

1. 次のようにしてファイルの所有権をrootに変更します。

chown root $ORACLE_HOME/oracle_common/bin/hasbind

2. ファイルの権限を次のように変更します。

chmod 4755 $ORACLE_HOME/oracle_common/bin/hasbind

3. 次の手順を実行することで、/etc/cap.oraファイルを生成します。

1. /etc/cap.oraが存在しない場合、手順1で作成した一時的なcap.oraファイルを/etc/ディレクトリにコピーします。

cp /tmp/cap.ora /etc/cap.ora

/etc/cap.oraが存在する場合、手順1で作成した一時ファイルの内容を既存の/etc/cap.oraファイルに追加します。

cat /tmp/cap.ora >> /etc/cap.ora

2. /etc/cap.oraファイルの権限を次のように変更します。

chmod 644 /etc/cap.ora

3. 次のようにしてファイルの所有権をrootに変更します。

chown root /etc/cap.ora

ルート権限が必要な手順が完了しました。

4. 必要な場合は、手順1で作成した一時的なcap.oraを削除します。

rm /tmp/cap.ora

5. 6.4項「ポートの管理」の説明に従って、Oracle HTTP Serverのポート設定を変更します。

6. 4.3.2項「Oracle HTTP Serverインスタンスの起動」で説明されている起動方法のいずれかを使用することで、インスタンスを起動(または再起動)します。

4.3.3 Oracle HTTP Serverインスタンスの停止

この項では、Fusion Middleware Controlを使用してOracle HTTP Serverを停止する方法について説明します。Oracle HTTP Serverが停止すると、他のサービスも影響を受ける場合がある点に注意してください。

4.3.3.1 Fusion Middleware Controlを使用したOracle HTTP Serverインスタンスの停止

Fusion Middleware Controlを使用してOracle HTTP Serverを停止するには、Oracle HTTP Serverのホームページに移動し、次のいずれかの操作を実行します。

- 「Oracle HTTP Server」メニューから次の手順を実行します。

1. 「コントロール」を選択します。

2. 「コントロール」メニューから「停止」を選択します。

- 「ターゲット・ナビゲーション」ツリーから次の手順を実行します。

1. 停止するOracle HTTP Serverコンポーネントを右クリックします。

2. 「コントロール」を選択します。

3. 「コントロール」メニューから「停止」を選択します。

- ページ・ヘッダーから「停止」を選択します。

4.3.3.2 WLSTを使用したOracle HTTP Serverインスタンスの停止

WLSTを使用してOracle HTTP Serverを停止するには、スクリプティング・ツール内から次のコマンドのいずれかを使用します。

注意:

これらのコマンドを機能させるには、ノード・マネージャが実行中である必要があります。ノード・マネージャが停止している場合は、エラー・メッセージが表示されます。

スタンドアロン・ドメインの場合、serverTypeは必須です。これが含まれていないと、startWebLogicを検出できないことを示すエラーがスローされます。

ドメイン

構文

例

WebLogic

shutdown('serverName')

shutdown('ohs1')

スタンドアロン

nmKill(serverName='serverName', serverType='type')

nmKill(serverName='ohs1', serverType='OHS')

警告:

パラメータを指定せずにshutdown()を実行すると、WLSが終了し、ユーザーはWLSTから切断されます。Oracle HTTP Serverは引き続き実行されます。

4.3.3.3 コマンド・ラインからのOracle HTTP Serverインスタンスの停止

次のコマンドを入力すると、コマンド・ラインからOracle HTTP Serverを直接(つまりWLSTを起動せずに)停止できます。

$DOMAIN_HOME/bin/stopComponent.sh componentName

例:

$DOMAIN_HOME/bin/stopComponent.sh ohs1

このコマンドは、WLSTを起動して、WLSTにshutdown()コマンドを実行するように指示します。

数秒後にノード・マネージャのパスワードの入力を要求されます。パスワードを入力し、[Enter]を押します。サーバーが停止すると、システムは次のように応答します。

Successfully killed server componentName...
Successfully disconnected from Node Manager...

Exiting WebLogic Scripting Tool.

4.3.4 Oracle HTTP Serverインスタンスの再起動

Oracle HTTP Serverを再起動すると、Apache親プロセスが子プロセスに対して現在のリクエストの後に終了する(リクエストの処理中でなければ即時に終了する)ように指示します。再起動時に、親プロセスはその構成ファイルを再び読み取り、そのログ・ファイルを再び開きます。それぞれの子プロセスが終了するたびに、親プロセスは、新しく生成された構成ファイルの子プロセスでそれらの子プロセスを置き換えます。新しい子プロセスは即時に新しいリクエストの処理を開始します。

次の項では、Fusion Middleware ControlおよびWLSTを使用してOracle HTTP Serverを再起動する方法について説明します。

4.3.4.1 Fusion Middleware Controlを使用したOracle HTTP Serverインスタンスの再起動

Fusion Middleware Controlを使用してOracle HTTP Serverを再起動するには、Oracle HTTP Serverのホームページに移動し、次のいずれかの操作を実行します。

- 「Oracle HTTP Server」メニューから次の手順を実行します。

1. 「コントロール」を選択します。

2. 「コントロール」メニューから「再起動」を選択します。

- 「ターゲット・ナビゲーション」ツリーから次の手順を実行します。

1. 停止するOHSインスタンスを右クリックします。

2. 「コントロール」を選択します。

3. 「コントロール」メニューから「再起動」を選択します。

4.3.4.2 WLSTを使用したOracle HTTP Serverインスタンスの再起動

WLSTを使用してOHSを再起動するには、softRestart()コマンドを使用します。スクリプト・ツール内から次のコマンドのいずれかを入力します。

注意:

これらのコマンドを機能させるには、ノード・マネージャが実行中である必要があります。ノード・マネージャが停止している場合は、エラー・メッセージが表示されます。

スタンドアロン・ドメインの場合は、すべてのパラメータが必須です。これらが含まれていないと、startWebLogicを検出できないことを示すエラーがスローされます。

ドメイン

構文

例

WebLogic

softRestart('serverName')

softRestart('ohs1')

スタンドアロン

nmSoftRestart(serverName='name', serverType='type')

nmSoftRestart(serverName='ohs1', serverType='OHS')

4.3.5 実行中のOracle HTTP Serverインスタンスのステータスの確認

この項では、実行中のOracle HTTP Serverインスタンスのステータスを確認する方法について説明します。この情報は、Fusion Middleware Controlから、またはWLSTを使用することによって確認できます。

4.3.5.1 Fusion Middleware Controlを使用したサーバー・ステータスの確認

「Oracle HTTP Server」ページのヘッダーの左上角にある上下矢印は、選択したサーバー・インスタンスが実行中であるかどうかを示します。次のイメージは、サーバー・インスタンス(この場合は「ohs2」)が実行中であることを示す上矢印を表示しています。

次のイメージは、サーバー・インスタンス(この場合は「ohs2」)が実行中でないことを示す下矢印を表示しています。

4.3.5.2 WLSTを使用したサーバー・ステータスの確認

WebLogic Serverドメインでは、createOHSInstance()を使用してOracle HTTP Serverインスタンスを作成している場合、その初期状態(インスタンスを起動する前の状態)はSHUTDOWNになります。

構成ウィザードを使用してインスタンス(WebLogic Serverドメインとスタンドアロン・ドメインの両方)を生成した場合、初期状態(インスタンスを起動する前の状態)はUNKNOWNになります。

WLSTを使用して実行中のOracle HTTP Serverインスタンスのステータスを確認するには、WLST内から次のいずれかを入力します。

注意:

これらのコマンドを機能させるには、ノード・マネージャが実行中である必要があります。ノード・マネージャが停止している場合は、エラー・メッセージが表示されます。WebLogic Serverドメインでノード・マネージャが停止した場合、インスタンスの実際の状態に関係なく、状態はUNKNOWNに戻ります。また、state()は、ノード・マネージャに接続できないことをユーザーに通知しません。

他のWLSTコマンドとは異なり、state()はノード・マネージャが停止したことをユーザーに通知しないため、インスタンスが本当にUNKNOWN状態なのか、ノード・マネージャが停止しただけなのかを区別する方法がありません。

スタンドアロン・ドメインの場合は、すべてのパラメータが必須です。これらが含まれていないと、startWebLogicを検出できないことを示すエラーがスローされます。

ドメイン

構文

例

WebLogic

state('serverName')

state('ohs1')

スタンドアロン

nmServerStatus(serverName='name', serverType='type')

nmServerStatus(serverName='ohs1', serverType='OHS')

注意:

このコマンドは、存在しないコンポーネントとUNKNOWN状態の実在するコンポーネントを区別しません。そのため、存在しないインスタンスを入力した場合(たとえば、ohs2のかわりにohszなど、インスタンスを存在しないインスタンスと誤認した場合)、UNKNOWNが戻されます。

4.3.6 Oracle HTTP Serverインスタンスの削除

WebLogic Serverドメインとスタンドアロン・ドメイン両方のOracle HTTP Serverインスタンスを削除できます。

4.3.6.1 WebLogic ServerドメインでのOracle HTTP Serverインスタンスの削除

WebLogic Serverドメインでは、カスタムWLSTコマンドdeleteOHSInstance()またはFusion Middleware Controlのいずれかを使用できます。これらの手順については、この後の各項で説明します。

4.3.6.1.1 WLSTを使用したインスタンスの削除

WebLogic Serverドメインにいる場合は、カスタムWLSTコマンドdeleteOHSInstance()を使用して、Oracle HTTP Serverインスタンスを削除できます。このコマンドを使用すると、次のようになります。

- 選択したインスタンスの情報がconfig.xmlから削除されます。

- すべてのOHS構成ディレクトリおよびその内容が削除されます(OHS/instanceNameやOHS/instances/instanceNameなど)。

- 削除されたインスタンスに関連付けられているすべてのログファイルが削除されます。

- 削除されたインスタンスのすべての状態情報が削除されます。

注意:

ノード・マネージャが停止している場合、deleteOHSInstance()を使用してインスタンスを削除することはできません。

WLSTを使用してインスタンスを削除するには、次の手順を実行します。

1. 4.3.2.2項「WLSTを使用したOracle HTTP Serverインスタンスの起動」の説明に従ってWLSTに接続します。

2. コマンド・プロンプトで次のように入力

deleteOHSInstance(instanceName='instanceName')

たとえば、ohs1という名前のOHSインスタンスを削除するには、次のコマンドを使用します。

deleteOHSInstance(instanceName='ohs1')

UNKNOWNまたはRUNNING状態のOHSインスタンスは削除できません。

4.3.6.1.2 Fusion Middleware Controlを使用したインスタンスの削除

Fusion Middleware Controlを使用してOracle HTTP Serverインスタンスを削除するには、次の手順を実行します。

注意:

実行中のOracle HTTP Serverインスタンスは削除できません。インスタンスが実行中の場合は、4.3.3項「Oracle HTTP Serverインスタンスの停止」の説明に従ってインスタンスを停止してから、次の手順を続行します。

1. Fusion Middleware Controlにログインし、Oracle HTTP Serverインスタンスを削除するWebLogic Serverドメインのシステム・コンポーネント・インスタンスのホームページに移動します。

2. WebLogic Serverドメインのメニューを開き、「管理」を選択してから、「OHSの作成/削除」を選択します。
「OHSインスタンス」ページが表示されます。

3. 削除するインスタンスを選択して、「削除」をクリックします。
確認を求めるウィンドウが表示されます。

4. 「はい」をクリックして削除を完了します。
選択したOracle HTTP Serverインスタンスが削除されたことを示す情報メソッドを備えた「OHSインスタンス」ページが表示されます。

4.3.6.2 スタンドアロン・ドメインからのOracle HTTP Serverインスタンスの削除

構成ウィンドウを使用することによって、スタンドアロン・ドメイン内のOracle HTTP Serverインスタンスを削除できます(そのインスタンスがドメイン内の唯一のインスタンスでない場合)。構成ウィンドウは常に、スタンドアロン・ドメイン内に少なくとも1つのOracle HTTP Serverインスタンスを必要とするため、ドメイン内に唯一存在するインスタンスについては削除することができません。スタンドアロン・ドメイン内で唯一のインスタンスを削除する場合は、かわりにドメイン・ディレクトリ全体を完全に削除する必要があります。

構成ウィンドウを使用したOracle HTTP Serverインスタンスの削除は、実際には部分削除にすぎません(また、deleteOHSInstance()を使用してWebLogic Serverドメイン側で実行される削除方法との一貫性がありません。4.3.6.1.1項「WLSTを使用したインスタンスの削除」を参照してください)。構成ウィザードを使用してスタンドアロン・インスタンスを削除すると、次のようになります。

- 特定のインスタンスに関する情報がconfig.xmlから削除されるため、このインスタンスは有効として認識されなくなります。別の更新を行うために構成ウィザードを再度起動したときに、削除されたインスタンスが表示されません。

- 削除されたインスタンス用にコンパイルされたログは、DOMAIN_HOME/servers/ohs1..にそのまま残されます。その後、同じ名前の新しいインスタンスが作成された場合、そのインスタンスはこれらのファイルへのロギングを継承し、継続します。

- 削除されたインスタンスの構成ディレクトリとその内容は削除されず、DOMAIN_HOME/config/fmwconfig/components/OHS/instanceNameおよびDOMAIN_HOME/config/fmwconfig/components/OHS/instances/instanceNameにそのまま残されます。両方のディレクトリで唯一の変更点は、httpd.conf becomes httpd.conf.bak、ssl.conf becomes ssl.conf.bakおよびadmin.conf becomes admin.conf.bakファイルの名前が変更されることです。これにより、インスタンスが起動されるのを防ぎます。(削除したインスタンスと同じ名前を持つ新しいインスタンスを作成する場合、この情報は上書きされますが、*.bakファイルは残ります)。

- 削除されたインスタンスの状態情報は、DOMAIN_HOME/system_components/..にそのまま残されます。その後、同じ名前の新しいインスタンスが作成された場合、そのインスタンスは古いインスタンスの状態を継承します。UNKNOWN状態で起動するのではなく、最初からSHUTDOWNまたはFAILED_NOT_RESTARTABLE状態になる場合もあります。

スタンドアロン・ドメインのOracle HTTP Serverインスタンスを削除するには、次の手順を実行します。

1. 実行中のすべてのインスタンスを停止します(4.3.3項「Oracle HTTP Serverインスタンスの停止」を参照してください)。構成ウィザードはOracle HTTP Serverインスタンスの状態を確認しないため、すべてのインスタンスが停止していることを確認する必要があります。

2. ノード・マネージャが実行中である場合は停止させます。

3. 構成ウィザードを起動し(『Oracle HTTP Serverのインストールと構成』を参照してください)、次の手順を実行します。

1. 「既存ドメインの更新」を選択し、ドメインへのパスを選択します。

2. 「テンプレート」画面と「JDKの選択」画面の両方を、それぞれで「次」をクリックすることによってスキップします。

3. 「システム・コンポーネント」画面で、削除するインスタンスを選択し、「削除」をクリックします。
選択したインスタンスが削除されます。

4. 「次」をクリックし、「OHSサーバー」画面で、再度「次」をクリックします。

5. 「構成のサマリー」画面で、選択したインスタンスが削除されていることを確認し、「更新」をクリックします。

6. 「成功」画面で、「終了」をクリックします。

4.4 Oracle HTTP Serverのリモート管理

スタンドアロン環境で実行されているOracle HTTP Serverは、別のマシンで実行されている、コロケートされたOracle HTTP Serverの実装でリモート管理できます。この機能では、リモート・マシンからWebLogic Scripting Tool (WLST)またはFusion Middleware Controlを使用して、コンポーネントの起動、再起動、停止および構成を行えるようにします。この章では、次のことを行うために環境を設定する方法について説明します。

- 第4.4.1項「リモート環境の設定」

- 第4.4.2項「Oracle HTTP Serverのリモート実行」

4.4.1 リモート環境の設定

次の指示では、リモート環境の設定方法について説明します。これにより、1つのマシンにインストールされているOracle HTTP Serverを別のマシンのインストールから実行できます。この項には次の情報が含まれます:

- 第4.4.1.1項「ホストの要件」

- 第4.4.1.2項「タスク1: ホスト1での拡張ドメインの設定」

- 第4.4.1.3項「タスク2: ホスト1でのドメインの圧縮」

- 第4.4.1.4項「タスク3: ホスト2でのドメインの解凍」

4.4.1.1 ホストの要件

Oracle HTTP Serverをリモート管理するには、次のように複数のホストを別々のマシンにインストールする必要があります。

- コロケート・インストール(このドキュメントでは、このインストールをホスト1と呼びます)。

- スタンドアロン・インストール(ホスト2)。ホスト2のスタンドアロンMW_HOMEへのパスは、ホスト1のコロケートされたMW_HOMEと同じである必要があります。例:

/scratch/user/work

4.4.1.2 タスク1: ホスト1での拡張ドメインの設定

次の手順では、拡張ドメインを設定して、コロケートされたバージョンのOracle HTTP Server (ホスト1)のデータベースにリンクする方法について説明します。

1. Repository Configuration Utility (RCU)を使用して、拡張ドメイン用のデータベースを設定およびインストールします。詳細は、Oracle Fusion Middleware Repository Creation Utilityを使用したスキーマの作成を参照してください。

2. 構成ウィザードを起動して拡張ドメインを作成します。表4-1で指定した値を使用します。

表4-1 拡張ドメインの設定

対象

選択または入力する値

ドメインの作成

「新規ドメインの作成」。そのパスを指定します(たとえば、MW_HOME/user_projects/domains/ohs1_domain)。

テンプレート

Oracle HTTP Server (コロケート)

アプリケーションの場所

デフォルト

管理者アカウント

ユーザー名とパスワード(たとえば、weblogicとwelcome1)

データベース構成タイプ

RCUデータ。続いて、「RCU構成の取得」→「次へ」をクリックします。

オプションの構成

項目は次のとおりです。

- 管理サーバー

- ノード・マネージャ

- システム・コンポーネント

- デプロイメントおよびサービス

管理サーバー

リスニング・アドレス(すべてのローカル・アドレスまたはホスト1用の有効な名前かアドレス)およびポート

ノード・マネージャ

「ドメイン当たり」。ノード・マネージャの資格証明を指定します(たとえば、weblogicとwelcome1)。

システム・コンポーネント

「追加」し、コンポーネント・タイプOHSを使用して(たとえば、システム・コンポーネント値ohs1を使用して)フィールドを設定します。

OHSサーバー

リスニング・アドレスとポートか、デフォルトを使用します。

マシン

「追加」。これにより、マシンがドメイン(たとえば、ohs1_Machine)に、ノード・マネージャのリスニング値とポート値と一緒に追加されます。ホスト2用の有効な名前またはアドレスなど(ローカル・ホストまたはすべてのローカル・アドレスは使用しない)、ホスト1からアクセス可能なホスト2用のリスニング・アドレスを指定する必要があります。

システム・コンポーネントの割当

OHSコンポーネント(たとえば、ohs1)。続いて、右矢印を使用して、そのコンポーネントをマシン(たとえば、ohs1_machine)に割り当てます。

構成サマリー

「作成」(OPSS手順の実行に数分かかる場合があります)。

4.4.1.3 タスク2: ホスト1でのドメインの圧縮

ホスト1で、次のコマンドを使用してドメインを圧縮します。

<MW_HOME>/ohs/common/bin/pack.sh -domain=path to domain -template=path to template -template_name=name -managed=true

例:

<MW_HOME>/ohs/common/bin/pack.sh -domain=<MW_HOME>/user_projects/domains/ohs1_domain -template=/tmp/ohs1_tmplt.jar -template_name=ohs1 -managed=true

4.4.1.4 タスク3: ホスト2でのドメインの解凍

次の手順を使用して、前述のホスト1で圧縮したドメインをホスト2で解凍します。

1. 「タスク2: ホスト1でのドメインの圧縮」で作成したテンプレート・ファイルを、ホスト1からホスト2へコピーします。

2. 次のコマンドを使用してドメインを解凍します。

<MW_HOME>/ohs/common/bin/unpack.sh -domain=path to domain -template=path to template

例:

<MW_HOME>/ohs/common/bin/unpack.sh -domain=<MW_HOME>/user_projects/domains/ohs1_domain -template=/tmp/ohs1_tmplt.jar

4.4.2 Oracle HTTP Serverのリモート実行

ホスト1で作成したドメインをホスト2で解凍したら、コロケート環境で使用するのと同じ一連のWLSTコマンドとFusion Middleware Controlツールを使用して、コンポーネントの起動、停止、再起動および構成を行えます。

Oracle HTTP Serverをリモート実行するには、次のことを行います。

1. ホスト1でWebLogic管理サーバーを起動します。

<MW_HOME>/user_projects/domains/ohs1_domain/bin/startWebLogic.sh &

2. ホスト2でノード・マネージャを起動します。

<MW_HOME>/user_projects/domains/ohs1_domain/bin/startNodeManager.sh &

ホスト1のコロケート実装から、ホスト2のOracle HTTP Serverインスタンスを実行できるようになりました。任意のWLSTコマンドまたはFusion Middleware Controlツールを使用できます。たとえば、ホスト2をノード・マネージャに接続してサーバーohs1を起動するには、ホスト1で次のように入力します。

<MW_HOME>/ohs/common/bin/wlst.sh
nmConnect('weblogic', 'welcome1', '<nm-host>', '<nm-port>', 'ohs1_domain')
nmStart(serverName='ohs1', serverType='OHS')

Oracle HTTP Serverコンポーネントの起動、停止、再起動および構成の詳細は、第4.3項「基本的なOHSタスクの実行」を参照してください。

4.5 サーバー・プロパティの指定

Oracle HTTP Serverのサーバー・プロパティを設定する場合、Fusion Middleware Controlを使用するか、Oracle HTTP Serverの構成ファイルを直接編集します。WLSTコマンドを使用してサーバー・プロパティを指定することはできません。

- Fusion Middleware Controlを使用したサーバー・プロパティの指定

- httpd.confファイルの編集によるサーバー・プロパティの指定

4.5.1 Fusion Middleware Controlを使用したサーバー・プロパティの指定

Fusion Middleware Controlを使用してサーバー・プロパティを指定するには、次の手順を実行します。

1. 「Oracle HTTP Server」メニューから「管理」を選択します。

2. 「管理」メニューから「サーバー構成」を選択します。「サーバー構成」ページが表示されます。

3. 「ドキュメント・ルート」フィールドに、Webサイトから表示できるメイン・ドキュメント・ツリーを構成するドキュメント・ルート・ディレクトリを入力します。

4. 「管理者の電子メール」フィールドに、サーバーがクライアントに送信するエラー・メッセージに挿入する電子メール・アドレスを入力します。

5. 「ディレクトリの索引」フィールドにディレクトリの索引を入力します。これは、クライアントがWebサイトに最初にアクセスしたときに表示されるメイン・ページ(indexページ)です。

6. オプション: 「オペレーティング・システム・ユーザー」フィールドにユーザー名を入力します。
通常、このフィールドは空白です。これは、Oracle HTTP Serverをインストールし、ノード・マネージャを起動したユーザーに設定できます。

7. オプション: 「オペレーティング・システム・グループ」フィールドにグループ名を入力します。
通常、このフィールドは空白です。これは、Oracle HTTP Serverをインストールし、ノード・マネージャを起動したユーザーのグループに設定できます。

8. 「モジュール」リージョンは、モジュールを有効化または無効化するために使用します。有効化または無効化できるモジュールは、mod_perl、mod_fcgiおよびmod_plsqlの3つです。
mod_perlモジュールの構成手順は、「mod_perlの構成」を参照してください。

9. 必要な場合は、「別名」表に別名を作成します。別名は、指定したディレクトリにマップされます。たとえば、あるグループでコンテンツ・ページの特定のセットを使用するため、そのコンテンツ・ページを含むディレクトリに別名を作成できます。

10. 設定を確認します。設定に問題がない場合、「適用」をクリックして変更を適用します。設定に問題がある場合、または変更を適用しない場合、「元に戻す」をクリックして元の設定に戻します。

11. 4.3.4項の説明に従って、Oracle HTTP Serverを再起動します。

サーバー・プロパティが保存され、「サーバー構成」ページに表示されます。

4.5.2 httpd.confファイルの編集によるサーバー・プロパティの指定

httpd.confファイルを使用してサーバー・プロパティを指定するには、次の手順を実行します。

注意:

.confファイルを編集しようとする前に、構成ファイル・ディレクトリのレイアウト、ファイル編集のメカニズムおよびファイル自体の詳細に精通しておく必要があります。この情報については、1.6項「構成ファイルの理解」を参照してください。

1. テキスト・エディタまたはFusion Middleware Controlの「サーバーの詳細構成」ページを使用して、httpd.confファイルを開きます。(4.6.5項「Oracle HTTP Server構成ファイルの変更」を参照してください。)

2. ファイルのDocumentRootセクションに、Webサイトのメイン・コンテンツを格納するディレクトリを入力します。次に、構文例を示します。

DocumentRoot "${ORACLE_INSTANCE}/config/fmwconfig/components/${COMPONENT_TYPE}/instances/${COMPONENT_NAME}/htdocs"

3. ファイルのServerAdminセクションに、管理者の電子メール・アドレスを入力します。これは、クライアント・ページに表示される電子メール・アドレスです。次に、構文例を示します。

ServerAdmin WebMaster@example.com

4. ファイルのDirectoryIndexセクションに、ディレクトリの索引を入力します。これは、クライアントがWebサイトに最初にアクセスしたときに表示されるメイン・ページ(indexページ)です。次に、構文例を示します。

DirectoryIndex index.html index.html.var

5. 必要に応じて別名を作成します。別名は、指定したディレクトリにマップされます。たとえば、アイコンの特定のセットを使用するため、Webページ用のアイコンを含むディレクトリに別名を作成できます。次に、構文例を示します。

Alias /icons/ "${PRODUCT_HOME}/icons/"

<Directory "${PRODUCT_HOME}/icons">
AllowOverride None
Order allow,deny
Allow from all
</Directory>

6. ファイルを保存します。

7. 4.3.4項の説明に従って、Oracle HTTP Serverを再起動します。

4.6 Oracle HTTP Serverの構成

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

- 4.6.1項「Secure Sockets Layerの構成」

- 4.6.2項「MIME設定の構成」

- 4.6.3項「mod_perlの構成」

- 4.6.4項「WebLogicプロキシ・プラグイン(mod_wl_ohs)の構成」

- 4.6.5項「Oracle HTTP Server構成ファイルの変更」

- 4.6.6項「apxsコマンドを使用した拡張モジュールのインストール」

- 4.6.7項「Optionsメソッドの無効化」

注意:

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

4.6.1 Secure Sockets Layerの構成

Secure Sockets Layer (SSL)は、インターネット経由でメッセージを安全に送信することを目的に設計された、暗号化された通信プロトコルです。Oracle HTTP Server間のアプリケーション層およびTCP/IP層にあって、クライアントによってセキュアな接続が確立された場合に暗号化と復号化を透過的に行います。

SSLの一般的な用途の1つは、ブラウザとWebサーバー間のWeb HTTP通信を保護することです。この場合、保護されていないHTTPの使用は排除されません。保護されたバージョンは、単純にHTTP over SSL (HTTPS)と呼ばれます。HTTPSではURLスキームとしてhttp://ではなくhttps://を使用するという点が異なります。

デフォルトでは、SSLリスニング・ポートはインストール中にデフォルトのウォレットを使用して構成されて有効化されます。ウォレットには、証明書リクエスト、証明書および秘密鍵など、資格証明が格納されます。

Oracle HTTP Serverとともに自動的にインストールされるデフォルトのウォレットは、テスト目的のみに使用されるものです。本番サーバーに対して実際のウォレットを作成する必要があります。デフォルトのウォレットは、DOMAIN_HOME/config/fmwconfig/components/OHS/instances/componentName/keystores/defaultディレクトリにあります。新しいウォレットをこの場所に配置することも、実際のウォレットの場所を示すようにDOMAIN_HOME/config/fmwconfig/components/OHS/componentName/ssl.confのSSLWalletディレクティブを変更することもできます。

変更を有効にするには、4.3.4項の説明に従って、Oracle HTTP Serverコンポーネントを再起動する必要があります。

Fusion Middleware Controlを使用したウォレットとSSLの構成の詳細は、『Oracle Fusion Middlewareの管理』のOracle HTTP Server仮想ホストでのSSLの有効化に関する項を参照してください。

4.6.2 MIME設定の構成

Oracle HTTP Serverでは、Multipurpose Internet Mail Extension (MIME)設定を使用してファイル・タイプ、エンコーディングおよび言語の解析を行います。Oracle HTTP ServerのMIME設定は、Fusion Middleware Controlでのみ指定できます。WLSTコマンドを使用してMIME設定を指定することはできません。

「MIME構成」ページでは、次のタスクを実行できます。

- MIMEタイプの構成

- MIMEエンコーディングの構成

- MIME言語の構成

4.6.2.1 MIMEタイプの構成

MIMEタイプにより、指定されたコンテンツ・タイプに特定のファイル拡張子がマップされます。MIMEタイプは、拡張子を含むファイル名に使用されます。

4.6.2.1.1 Fusion Middleware Controlを使用したMIMEタイプの構成

Fusion Middleware Controlを使用してMIMEタイプを構成するには、次の手順を実行します。

1. 「Oracle HTTP Server」メニューから「管理」を選択します。

2. 「管理」メニューから「MIME構成」を選択します。「MIME構成」ページが表示されます。

3. 「MIME構成」リージョンの「行の追加」をクリックします。新規の空白行がリストに追加されます。

4. MIMEタイプを入力します。

5. ファイル拡張子を入力します。

6. 設定を確認します。設定に問題がない場合、「適用」をクリックして変更を適用します。設定に問題がある場合、または変更を適用しない場合、「元に戻す」をクリックして元の設定に戻します。

7. 4.3.4項の説明に従って、Oracle HTTP Serverを再起動します。

MIME構成が保存され、「MIME構成」ページに表示されます。

4.6.2.2 MIMEエンコーディングの構成

MIMEエンコーディングにより、Oracle HTTP Serverでは、ファイル拡張子に基づいてファイル・タイプを判別できます。MIMEエンコーディングは、追加および削除できます。エンコーディング・ディレクティブにより、指定のエンコーディング・タイプにファイル拡張子をマップします。

1. 「Oracle HTTP Server」メニューから「管理」を選択します。

2. 「管理」メニューから「MIME構成」を選択します。「MIME構成」ページが表示されます。

3. 「MIMEエンコーディング」の横にあるプラス記号(+)をクリックして「MIMEエンコーディング」リージョンを開きます。

4. 「MIMEエンコーディング」リージョンの「行の追加」をクリックします。新規の空白行がリストに追加されます。

5. MIMEエンコーディング(x-gzipなど)を入力します。

6. ファイル拡張子(.gxなど)を入力します。

7. 設定を確認します。設定に問題がない場合、「適用」をクリックして変更を適用します。設定に問題がある場合、または変更を適用しない場合、「元に戻す」をクリックして元の設定に戻します。

8. 4.3.4項の説明に従って、Oracle HTTP Serverを再起動します。

4.6.2.3 MIME言語の構成

MIME言語設定により、特定の言語にファイル拡張子がマップされます。このディレクティブは、一般的にコンテンツ・ネゴシエーションに使用されます(クライアントにより設定されたプリファレンスに対する一致度が最も高いドキュメントがOracle HTTP Serverから返されます)。

1. 「Oracle HTTP Server」メニューから「管理」を選択します。

2. 「管理」メニューから「MIME構成」を選択します。「MIME構成」ページが表示されます。

3. 「MIME言語」の横にあるプラス記号(+)をクリックして「MIME言語」リージョンを開きます。

4. 「MIME言語」リージョンの「行の追加」をクリックします。新規の空白行がリストに追加されます。

5. MIME言語(en-USなど)を入力します。

6. ファイル拡張子(en-usなど)を入力します。

7. 設定を確認します。設定に問題がない場合、「適用」をクリックして変更を適用します。設定に問題がある場合、または変更を適用しない場合、「元に戻す」をクリックして元の設定に戻します。

8. 4.3.4項の説明に従って、Oracle HTTP Serverを再起動します。

4.6.3 mod_perlの構成

mod_perlモジュールは、Oracle HTTP ServerにPerlインタプリタを埋め込みます。これにより、起動時のオーバーヘッドが排除され、モジュールをPerlで記述できます。デフォルトでは、モジュールは無効です。

Fusion Middleware Controlを使用してmod_perlモジュールを有効化するには、次の手順を実行します。

1. 「Oracle HTTP Server」メニューから「管理」を選択します。

2. 「管理」メニューから「mod_perl構成」を選択します。「mod_perl構成」ページが表示されます。

注意:

mod_perlが有効化されていないと、「サーバー構成」ページにリダイレクトされます。mod_perlを選択して「適用」をクリックし、mod_perlを有効化します。確認ページが表示されたら、Oracle HTTP Serverを再起動します。これで、「mod_perl構成」ページに戻ります。

3. 「スイッチ」フィールドにスイッチ情報を入力します。

4. 「環境」フィールドに、スクリプトに渡す環境変数を入力します。

5. 「必須」フィールドに必須スクリプト名を入力します。

6. 「行の追加」をクリックして新規行を作成します。

7. 「Perlの場所」表内の場所に対してmod_perlディレクティブを構成します。この場所により、リクエストのURIがこの場所に一致したときにサーバーが準拠する多数のルールが割り当てられます。

1. 「ロケーション」フィールドに、PerlスクリプトのベースURIを入力します。mod_cgiスクリプトに/cgi-binを使用することが慣習的に広く受け入れられているように、mod_perlの下で稼働しているPerlスクリプトのベースURIとしては/perlが慣習的に使用されています。

2. 「オプション」フィールドにオプションを入力します。PerlOptionsディレクティブは、使用するPerlインタプリタ・プールのクラスに対する制御を提供することにより、ファイングレイン構成を提供します。オプションを有効にするには、そのオプションの前にプラス記号(+)を付けます。無効化するには、前にマイナス記号(-)を付けます。

3. ヘッダーを送信する場合、「ヘッダーの送信」チェック・ボックスを選択します。PerlSendHeaderディレクティブは、mod_perl 1.0の後方互換性のために使用します。これを有効化すると、スクリプトが起動されるたびにサーバーがHTTPヘッダーをブラウザに送信します。Non-Parsed-Headers (NPH)スクリプトの場合は、このオプションを無効にしてください。

4. 「環境」フィールドに環境を入力します。PerlSetEnvディレクティブを使用すると、システム環境変数を指定してmod_perlハンドラに渡すことができます。

5. 「レスポンス・ハンドラ」フィールドにレスポンス・ハンドラを入力します。PerlResponseHandlerディレクティブは、ジョブを処理するコールバックをmod_perlに指示します。

6. 「認証ハンドラ」フィールドに認証ハンドラを入力します。PerlAuthenHandlerディレクティブは、ユーザーの識別資格証明を確認するためのハンドラを設定する場合に使用します。

8. 設定を確認します。設定に問題がない場合、「適用」をクリックして変更を適用します。設定に問題がある場合、または変更を適用しない場合、「元に戻す」をクリックして元の設定に戻します。

9. 4.3.4項の説明に従って、Oracle HTTP Serverを再起動します。

mod_perlモジュール構成が保存され、「mod_perl構成」ページに表示されます。

注意:

Fusion Middleware Controlを使用せずにmod_perl構成を手動で編集する場合は、すべてのディレクティブをmod_perl.confファイルの<IfModule mod_perl.c>ブロック内に定義する必要があります。このブロックの外で定義されたmod_perl関連ディレクティブは、無視される可能性があります。

4.6.4 WebLogicプロキシ・プラグイン(mod_wl_ohs)の構成

WebLogicプロキシ・プラグイン(mod_wl_ohs)を構成するには、Fusion Middleware Controlを使用するか、またはmod_wl_ohs.conf構成ファイルを手動で編集します。

リクエストをOracle HTTP ServerからOracle WebLogic ServerにプロキシできるようにWebLogicプロキシ・プラグインを構成する際の前提条件と手順の詳細は、『Oracle WebLogic Serverプロキシ・プラグイン12.1.2の使用』のOracle HTTP ServerのWebLogicプロキシ・プラグインの構成に関する項を参照してください。

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

注意:

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

Fusion Middleware Controlを使用してOracle HTTP Serverの構成ファイルを変更するには、次の手順を実行します。

1. 「HTTP Server」メニューから「管理」を選択します。

2. 「管理」メニュー・アイテムから「詳細構成」を選択します。「サーバーの詳細構成」ページが表示されます。

3. リストから構成ファイル(httpd.confファイルなど)を選択します。

4. 必要に応じてファイルを編集します。

5. 設定を確認します。設定に問題がない場合、「適用」をクリックして変更を適用します。設定に問題がある場合、または変更を適用しない場合、「元に戻す」をクリックして元の設定に戻します。

6. 4.3.4項の説明に従って、Oracle HTTP Serverを再起動します。

ファイルが保存され、「サーバーの詳細構成」ページに表示されます。

関連項目:

1.6項「構成ファイルの理解」

4.6.6 apxsコマンドを使用した拡張モジュールのインストール

注意:

このコマンドはUnixとLinux専用であり、ソース・コード形式で提供されているモジュールに対してのみ使用する必要があります。バイナリ形式で提供されているモジュールのインストール手順に従ってください。

apxsコマンドの詳細は、次のApache HTTP Serverのドキュメントを参照してください。

http://httpd.apache.org/docs/2.2/programs/apxs.html

Apache拡張ツール(apxs)は、Oracle HTTP Server用のApache HTTP Server拡張モジュールをビルドおよびインストールするために使用できます。apxsは、モジュールをORACLE_HOME/ohs/modulesディレクトリにインストールし、このインストールから実行されるOracle HTTP Serverインスタンスがアクセスできるようにします。

Oracle HTTP Serverで使用する場合に推奨されるapxsオプションを次に示します。

オプション

目的

コマンド例

-c

モジュール・ソースのコンパイル

$ORACLE_HOME/ohs/bin/apxs -c mod_example.c

-i

ORACLE_HOMEへのモジュール・バイナリのインストール

$ORACLE_HOME/ohs/bin/apxs -ci mod_example.c

モジュール・バイナリがORACLE_HOMEにインストールされると、httpd.confファイルまたはその他の構成ファイルのLoadModuleディレクティブを使用してモジュールがサーバー・プロセスにロードされます。次に例を示します。

LoadModule example_module "${ORACLE_HOME}/ohs/modules/mod_example.so"

このディレクティブは、モジュールをロードする必要があるすべてのインスタンスの構成で必須です。

-aまたは-Aオプションが指定されている場合、apxsはhttpd.confを編集してモジュールのLoadModuleディレクティブを追加します。WebLogic Serverドメインの一部であるOracle HTTP Serverインスタンスでは-aおよび-Aオプションを使用しないでください。かわりに、1.6.2項「構成の編集」の説明に従って、Fusion Middleware Controlを使用して構成を更新します。

スタンドアロン・ドメインの一部であるOracle HTTP Serverインスタンスでは、apxsの起動前にCONFIG_FILE_PATH環境変数がインスタンスのステージング・ディレクトリに設定されている場合、-aまたは-Aオプションを使用できます。次に例を示します。

CONFIG_FILE_PATH=$ORACLE_HOME/user_projects/domains/base_domain/config/fmwconfig/components/OHS/ohs1
export CONFIG_FILE_PATH
$ORACLE_HOME/ohs/bin/apxs -cia mod_example.c

デフォルトでは、apxsは、/usr/binにあるPerlインタプリタを使用します。apxsが製品のインストールを見つけることができない場合または/usr/bin/perlの使用時にその他の操作エラーが発生した場合は、次のようにapxsを起動することによってMiddlewareホーム内でPerlインタプリタを使用します。

$ORACLE_HOME/perl/bin/perl $ORACLE_HOME/ohs/bin/apxs -c mod_example.c

多くの場合、モジュールは正常に機能するためにLoadModule以外のディレクティブも必要とします。モジュールがインストールされ、LoadModuleディレクティブを使用してロードされた後、その他の構成要件についてモジュールのドキュメントを参照してください。

4.6.7 Optionsメソッドの無効化

Optionsメソッドにより、クライアントは、Webサーバーでサポートされるメソッドを確認できます。これが有効の場合、HTTPレスポンス・ヘッダーのAllow行に出力されます。

たとえば、次のようなリクエストを送信するとします。

---- Request -------
OPTIONS / HTTP/1.0
Content-Length: 0
Accept: */*
Accept-Language: en-US
User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Win32)
Host: host123:80

この場合、Webサーバーから次のようなレスポンスが返されます。

---- Response --------
HTTP/1.1 200 OK
Date: Wed, 23 Apr 2008 20:20:49 GMT
Server: Oracle-Application-Server-11g/11.1.1.0.0 Oracle-HTTP-Server
Allow: GET,HEAD,POST,OPTIONS
Content-Length: 0
Connection: close
Content-Type: text/html

一部のソースでは、Optionsメソッドを公開することはセキュリティ上のリスクが低いと考えられます。悪質なクライアントは、このメソッドを使用してWebサーバーでサポートされるメソッドを判断できます。ただし、Webサーバーでサポートされるメソッドの数は限られているため、このメソッドを無効にしても悪質なクライアントに対して時間稼ぎとなるだけで、攻撃をやめさせることはできません。また、Optionsメソッドは、正当なクライアントによって使用されることもあります。

Oracle Fusion Middleware環境にOptionsメソッドを必要とするクライアントが存在しない場合、httpd.confファイルに次の行を追加してこのメソッドを無効化できます。

<IfModule mod_rewrite.c>
RewriteEngine on
RewriteCond %{REQUEST_METHOD} ^OPTIONS
RewriteRule .* – [F]
</IfModule>

4.6.8 共有ファイルシステムにおけるOracle HTTP Serverインスタンスの構成の更新

NFS(ネットワーク・ファイルシステム)などの共有ファイルシステムでOHSインスタンスが作成される際、機能上またはパフォーマンス上の問題が発生する場合があります。特に、OHSで使用されるロック・ファイルまたはUNIXソケットが機能しない、またはそのパフォーマンスが大幅に低下する可能性があります。また、mod_wl_ohsでルーティングされるWLSリクエストが、デフォルト構成のファイルシステム・アクセスが原因で、パフォーマンスが大幅に低下する場合があります。

表4-1に、ロック・ファイルの問題と推奨されるhttpd.confファイルの変更に関する詳細を、オペレーティング・システム別に示します。

表4-2 ロック・ファイルの問題

オペレーティング・システム

説明

httpd.confの変更

Linux

ロック・ファイルは必要ありません。Sys Vセマフォが、推奨されるプロセス間mutexの実装です。

AcceptMutex fcntlをAcceptMutex sysvsemに変更します(2箇所)。

LockFileディレクティブをコメントアウトします(3箇所)。

Solaris

ロック・ファイルは必要ありません。プロセス間pthread mutexが、推奨されるプロセス間mutexの実装です。

AcceptMutex fcntlをAcceptMutex pthreadに変更します(2箇所)。

LockFileディレクティブをコメントアウトします(3箇所)。

その他のUNIXプラットフォーム

ローカル・ファイルシステムを示すようにLockFileディレクティブを変更します(3箇所)。

UNIXソケットの問題

mod_cgidは、デフォルトでは有効になっていません。有効な場合は、ScriptSockディレクティブを使用してmod_cgidのUNIXソケットをローカル・ファイルシステムに配置します。

mod_fastcgiは、デフォルトでは有効になっていません。有効な場合は、FastCgiIpcDirディレクティブを使用してmod_fastcgiのUNIXソケットをローカル・ファイルシステムに配置します。

5 サーバー・プロセスの管理および監視

この章では、Oracle HTTP Serverを管理および監視する方法について説明します。また、現在の環境でOHSを管理するための手順とツールについても説明します。

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

- 5.1項「Oracle HTTP Serverの処理モデル」

- 5.2項「Oracle HTTP Serverのパフォーマンスの監視」

- 5.3項「Oracle HTTP Serverのパフォーマンス・ディレクティブの構成」

- 5.4項「プロセス・セキュリティの理解」

5.1 Oracle HTTP Serverの処理モデル

次の各項で、Oracle HTTP Serverの処理モデルについて説明します。

5.1.1 リクエスト処理モデル

Oracle HTTP Serverを起動すると、HTTP(S)リクエストをリスニングしてレスポンスを返す準備ができたことになります。Microsoft Windowsシステムでのリクエスト処理モデルは、UNIXシステムでのモデルとは異なります。

- Microsoft Windowsの場合は、親プロセスと子プロセスが1つずつあります。子プロセスにより、クライアント・リクエストのハンドリングを担当するスレッドが作成されます。作成されるスレッドの数は静的で、パフォーマンス向上のために構成可能です。

- UNIXの場合、複数の子プロセスを管理する親プロセスは1つです。子プロセスは、リクエストのハンドリングを担当します。親プロセスは、構成に基づき、必要に応じて追加の子プロセスを作成します。サーバーでは動的に追加の子プロセスを作成できますが、追加の子プロセスを作成しなくても、リクエストを処理できる十分な子プロセスを最初から開始するようにサーバーを構成することが最善策です。

5.1.2 単一ユニットの処理モデル

Oracle HTTP Serverは、親プロセスに障害が発生した場合に単一ユニットとして終了する機能が備わっています。親プロセスは、Oracle HTTP Serverインスタンスのすべての子プロセスを起動および停止する役割を持ちます。子プロセスを停止する前に親プロセスに障害が発生すると、Oracle HTTP Serverは不整合な状態になります。この状態を修正するには、親のないすべての子プロセスを手動で停止するしかありません。新しいOracle HTTP Serverインスタンスがアクセスする必要のあるポートは親のない子プロセスによってまだ占有されているため、すべての子プロセスを閉じるまで、新しいOracle HTTP Serverを起動することはできません。

この状況を回避するため、UNIXでは子プロセス内のDMSインストゥルメンテーション・レイヤーにより、WindowsではWinNT MPM内の監視機能により、親プロセスが監視されます。親プロセスの障害発生が検出されると、残りの子プロセスはすべて停止されます。

5.2 Oracle HTTP Serverのパフォーマンスの監視

Oracle Fusion Middlewareは、Oracle HTTP Serverの実行時パフォーマンスを自動的かつ継続的に測定します。パフォーマンス・メトリックは自動的に有効になるため、メトリックを収集するためにオプションの設定や追加構成の実行は必要ありません。アプリケーションの実行速度が遅い、アプリケーションがハングするなどの問題が発生した場合は、特定のメトリックを表示して、その問題の詳細情報を調べることができます。

Fusion Middleware Controlはリアルタイムのデータを提供することに注意してください。履歴データを表示する必要がある場合は、Grid Controlの使用を考慮してください。

5.2.1 Oracle HTTP Serverのパフォーマンス・メトリックの表示

メトリックは、Fusion Middleware ControlのOracle HTTP Serverホーム・メニューから表示できます。

1. 監視対象のOracle HTTP Serverを選択します。
Oracle HTTP Serverのホームページが表示されます。

2. 「Oracle HTTP Server」メニューから「監視中」を選択し、「パフォーマンス・サマリー」を選択します。
「パフォーマンス・サマリー」ページが表示されます。このページに、パフォーマンス・メトリックと、Oracle HTTP Serverインスタンスのレスポンス時間およびリクエスト処理時間に関する情報が表示されます。

3. その他のメトリックを表示するには、「メトリック・パレットの表示」をクリックし、メトリックのカテゴリを開きます。

ヒント:

Oracle HTTP Serverホーム・メニューからは、Oracle HTTP Serverのポート使用状況情報も利用できます。

次の図は、「メトリック・パレット」が表示されたOracle HTTP Serverの「パフォーマンス・サマリー」ページを示しています。

4. 追加のメトリックを選択して、「パフォーマンス・サマリー」に追加します。

5.2.2 Oracle HTTP Serverパフォーマンス・メトリックの理解

この項では、Oracle HTTP Serverのパフォーマンス分析に役立つ、最もよく使用されるメトリックをいくつか示します。

OHSサーバー・メトリック

「OHSサーバー・メトリック」フォルダには、Oracle HTTP Serverのパフォーマンス・メトリック・オプションが含まれます。次の表に、「OHSサーバー・メトリック」フォルダに含まれるメトリックを示します。

要素

説明

CPU使用率

CPU使用率とアイドル時間

メモリー使用量

メモリー使用量と空きメモリー(MB単位)

プロセス

ビジーおよびアイドル・プロセス・メトリック

リクエスト・スループット

リクエスト/秒単位で測定されたリクエスト・スループット

リクエスト処理時間

リクエスト処理時間(秒単位)

レスポンス・データ・スループット

レスポンス・データ・スループット(KB/秒単位)

レスポンス・データ処理

レスポンス・データ処理(KB/レスポンス単位)

アクティブなHTTP接続

アクティブなHTTP接続の数

接続期間

接続時間の長さ

HTTPエラー

HTTP 4xxおよび5xxエラーの数

OHS仮想ホスト・メトリック

「OHS仮想ホスト・メトリック」フォルダには、仮想ホスト(アクセス・ポイントとも呼ばれる)のパフォーマンス・メトリック・オプションが含まれます。次の表に、「OHS仮想ホスト・メトリック」フォルダに含まれるメトリックを示します。

要素

説明

仮想ホストに対するリクエスト・スループット

各仮想ホストに対する1秒当たりのリクエストの数

仮想ホストに対するリクエスト処理時間

各仮想ホストで1つのリクエストを処理する時間

仮想ホストに対するレスポンス・データ・スループット

各仮想ホストで送信されたデータの量

仮想ホストに対して処理されたレスポンス・データ

各仮想ホストで処理されたデータの量

OHSモジュール・メトリック

「OHSモジュール・メトリック」フォルダには、モジュールのパフォーマンス・メトリック・オプションが含まれます。次の表に、「OHSモジュール・メトリック」フォルダに含まれるメトリックを示します。

要素

説明

リクエスト・ハンドリング・スループット

モジュールのリクエスト・ハンドリング・スループット(リクエスト/秒単位)

リクエスト・ハンドリング時間

モジュールのリクエスト・ハンドリング時間(秒単位)

モジュール・メトリック

モジュールと、各モジュールのアクティブ・リクエスト、スループットおよび時間

5.3 Oracle HTTP Serverのパフォーマンス・ディレクティブの構成

Oracle HTTP Serverでは、httpd.conf内のディレクティブが使用されます。この構成ファイルは、同時に処理できるHTTPリクエストの最大数、ロギングの詳細、および特定の制限やタイムアウトを指定するものです。Oracle HTTP Serverでは次の3つのMulti-Processing Module (MPM)をサポートし、またこれらが付属しています。これらのモジュールは、マシン上のネットワーク・ポートへのバインド、リクエストの受入れ、およびリクエストを処理するための子のディスパッチを行います。

- Worker: これは、UNIXおよびLinuxプラットフォームにおけるOracle HTTP ServerのデフォルトMPMです。このMPMは、マルチプロセスでマルチスレッドのハイブリッド・サーバーを実装します。このサーバーは、リクエストの処理にスレッドを使用することで、プロセスベースのサーバーよりも少ないシステム・リソースで多数のリクエストを処理できます。しかし、このサーバーは、それぞれが多数のスレッドを持つ複数のプロセスを常に使用可能にしておくため、安定性はプロセスベースのサーバーとほとんど変わりません。

- WinNT: これはWindowsプラットフォーム上のOracle HTTP Serverに対するデフォルトのMPMです。単一の子プロセスを起動し、次にこれによってリクエストを処理するスレッドが作成される、単一の制御プロセスが使用されます。

- Prefork: このMPMは、Apache 1.3と同様の方法でリクエストを処理する、スレッドを使用しないプリフォーク・サーバーを実装します。これは、スレッド・セーフでないライブラリとの互換性のためにスレッドを回避する必要のあるサイトに適しています。またこのMPMは、1つのリクエストに関連する問題が他のリクエストに影響を与えないように、各リクエストを分離する場合に最も適しています。

この項での説明および推奨は、スレッドを使用するWorker MPMまたはWinNT MPMに基づいています。Prefork MPMを使用している場合、次に示すスレッド関連ディレクティブは適用不可です。

「パフォーマンス・ディレクティブ」ページでは、Oracle HTTP Serverのパフォーマンス関連ディレクティブをチューニングできます(次の図を参照)。

パフォーマンス・ディレクティブの管理は、リクエスト構成、接続構成およびプロセス構成という3つの領域で構成されます。これらの構成は、Fusion Middleware Controlの「パフォーマンス・ディレクティブ」ページを使用して、次の各項に示す手順に従って設定できます。

- Fusion Middleware Controlを使用したリクエスト構成の設定

- Fusion Middleware Controlを使用した接続構成の設定

- Fusion Middleware Controlを使用したプロセス構成の設定

5.3.1 Fusion Middleware Controlを使用したリクエスト構成の設定

Fusion Middleware Controlを使用してOracle HTTP Serverのリクエスト構成を指定するには、次の手順を実行します。

1. 「Oracle HTTP Server」メニューから「管理」を選択します。

2. 「管理」メニューから「パフォーマンス・ディレクティブ」を選択します。「パフォーマンス・ディレクティブ」ページが表示されます。

3. 「最大リクエスト数」フィールド(MaxClientsディレクティブ)に最大リクエスト数を入力します。この設定により、一度に処理されるリクエストの数が制限されます。デフォルト値(推奨値)は150です。これはすべてのLinux/UNIXプラットフォームに適用可能です。

4. 子プロセス1件当たりの最大リクエスト数フィールド(MaxRequestPerChildディレクティブ)で、子プロセス1件当たりの最大リクエスト数を設定します。無制限または最大数を選択できます。無制限を選択した場合には、このフィールドに最大数を入力します。

5. 「リクエスト・タイムアウト(秒)」フィールド(Timeoutディレクティブ)にリクエスト・タイムアウト値を入力します。この値により、Oracle HTTP ServerがGETリクエストの受信を待機する最大時間(秒単位)、POSTまたはPUTリクエストでTCPパケットを受信する際の間隔時間、および応答時にTCPパケットを転送する際のACKの間隔時間を設定します。

6. 設定を確認します。設定に問題がない場合、「適用」をクリックして変更を適用します。設定に問題がある場合、または変更を適用しない場合、「元に戻す」をクリックして元の設定に戻します。

7. Oracle HTTP Serverを再起動します。4.3.4項を参照してください。

リクエスト構成設定が保存され、「パフォーマンス・ディレクティブ」ページに表示されます。

5.3.2 Fusion Middleware Controlを使用した接続構成の設定

Fusion Middleware Controlを使用して接続構成を指定するには、次の手順を実行します。

1. 「Oracle HTTP Server」メニューから「管理」を選択します。

2. 「管理」メニューから「パフォーマンス・ディレクティブ」を選択します。「パフォーマンス・ディレクティブ」ページが表示されます。

3. 「接続キューの最大長」フィールド(ListenBacklogディレクティブ)に、接続キューの最大長を入力します。これは、保留中の接続用のキューです。この設定は、TCP SYNオーバーロードがサーバーで発生し、その結果多くの新規接続がオープンしたが、保留中のタスクが完了していない場合に便利です。

4. 「1接続当たり複数のリクエストを許可」フィールド(KeepAliveディレクティブ)を設定して、複数の接続を許可するかどうかを指定します。複数の接続を許可するように選択する場合は、「接続タイムアウトを許可」フィールドにタイムアウトの秒数を入力します。
「接続タイムアウトを許可」の値により、サーバーが接続をクローズする前に後続のリクエストを待機する時間(秒数)を設定します。リクエストの受信後、指定した値が適用されます。デフォルトは15秒です。

5. 設定を確認します。設定に問題がない場合、「適用」をクリックして変更を適用します。設定に問題がある場合、または変更を適用しない場合、「元に戻す」をクリックして元の設定に戻します。

6. Oracle HTTP Serverを再起動します。4.3.4項を参照してください。

接続構成設定が保存され、「パフォーマンス・ディレクティブ」ページに表示されます。

5.3.3 Fusion Middleware Controlを使用したプロセス構成の設定

子プロセスと構成設定は、サーバーによるリクエスト処理能力に影響します。状況によっては、サーバーの良好なパフォーマンスを維持するために、リクエスト数を増加または減少させるように設定を変更する必要があります。

UNIXの場合、子サーバー・プロセスのデフォルト数は2です。Microsoft Windowsの場合、リクエストを処理するためのスレッドのデフォルト数は150です。

Fusion Middleware Controlを使用してプロセス構成を指定するには、次の手順を実行します。

1. 「Oracle HTTP Server」メニューから「管理」を選択します。

2. 「管理」メニューから「パフォーマンス・ディレクティブ」を選択します。「パフォーマンス・ディレクティブ」ページが表示されます。

3. 「初期子サーバー・プロセス」フィールド(StartServersディレクティブ)に初期子サーバー・プロセス数を入力します。これは、Oracle HTTP Serverの起動時に作成される子サーバー・プロセスの数です。デフォルトは2です。これは、UNIX専用です。

4. 「最大アイドル・スレッド」フィールド(MaxSpareThreadsディレクティブ)に最大アイドル・スレッド数を入力します。アイドル・スレッドは、稼働しているがリクエストを処理していないプロセスです。

5. 「最小アイドル・スレッド」フィールド(MinSpareThreadsディレクティブ)に最小アイドル・スレッド数を入力します。

6. 「1子サーバー・プロセス当たりのスレッド数」フィールド(ThreadsPerChildディレクティブ)に子サーバー・プロセス当たりのスレッド数を入力します。

7. 設定を確認します。設定に問題がない場合、「適用」をクリックして変更を適用します。設定に問題がある場合、または変更を適用しない場合、「元に戻す」をクリックして元の設定に戻します。

8. Oracle HTTP Serverを再起動します。4.3.4項「Oracle HTTP Serverインスタンスの再起動」を参照してください。

プロセス構成設定が保存され、「パフォーマンス・ディレクティブ」ページに表示されます。

5.4 プロセス・セキュリティの理解

デフォルトでは、Oracle HTTP Serverは、UNIXでの予約済の範囲内にあるポート(通常1024未満)にバインドできません。Oracle HTTP Serverが、UNIXでの予約済の範囲内にあるポート(ポート80とポート443など)でリスニングできるようにするには、4.3.2.4項「特権ポートでのOracle HTTP Serverインスタンスの起動(UNIXのみ)」を参照してください。

PL/SQLアプリケーションがmod_plsqlのファイル・システム・キャッシュ機能を使用している場合は、Oracle HTTPサーバーにキャッシュ・ディレクトリへの読取りおよび書込み権限を指定する必要があります(このディレクトリは、DOMAIN_HOME/config/fmwconfig/components/OHS/componentName/mod_plsql/cache.confのPlsqlCacheDirectoryパラメータを通じて指定します)。デフォルトでは、このパラメータはDOMAIN_HOME/servers/componentNameを指します。

最後に、キャッシュ済コンテンツには機密データが含まれている可能性があるため、ファイル・システム・キャッシュのコンテンツはセキュリティで保護する必要があります。そのため、このユーザーとしてのシステムへのアクセスは適切に保護される必要があります。

関連項目:

2.7項「mod_plsql」

6 接続の管理

この章では、Oracle HTTP Server接続を管理する方法を説明します。これには、ポート番号の使用状況の表示、ポートの管理および仮想ホストの構成を行う手順が含まれます。

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

- 6.1項「デフォルトのリスニング・ポート」

- 6.2項「管理ポートの定義」

- 6.3項「ポート番号の使用状況の表示」

- 6.4項「ポートの管理」

- 6.5項「仮想ホストの構成」

6.1 デフォルトのリスニング・ポート

Oracle HTTP Serverでは、非SSLポート(http)とSSLポート(https)の2つのリスニング・ポートが事前に構成されています。デフォルトの非SSLポートは7777です。ポート7777が占有されている場合は、7777から7877の範囲で次に使用可能なポート番号が割り当てられます。デフォルトのSSLポートは4443です。この場合も、ポート4443が占有されている場合は、4443から4543の範囲で次に使用可能なポート番号が割り当てられます。

これらのポートは、インスタンスを作成する際または後からインスタンス構成を変更する際に設定できます。自動ポート割当ては、createOHSInstance()またはFusion Middleware Controlを使用している場合のみ発生します。構成ウィザードを使用してインスタンスを作成した場合は、独自のポート管理を行う必要があります。

新しいOracle HTTP Serverコンポーネントを作成する際のポートの指定の詳細は、4.2項「OHSインスタンスの作成」を参照してください。

6.2 管理ポートの定義

管理ポートまたはプロキシMBeanポートは、Oracle HTTP ServerによってFusion Middleware Controlとの通信に内部的に使用される追加のSSLポート(9999)です。これは、ノード・マネージャを介したOracle HTTP Serverの監視にも使用されます。このポートはadmin.confファイル内で即時利用できるように構成されていますが、なんらかの理由で別の目的のためにデフォルトのポートを使用する必要がある場合は、構成ウィザードを使用してドメインを更新し、そこでポートを手動でリセットすることによって、管理ポートを再構成できます。

6.3 ポート番号の使用状況の表示

この項では、Fusion Middleware Controlを使用してポートを表示する方法について説明します。

6.3.1 Fusion Middleware Controlを使用したポート番号の使用状況の表示

Fusion Middleware Controlを使用してポート番号の使用状況を表示するには、次の手順を実行します。

1. Oracle HTTP Serverのホームページに移動します。

2. 「Oracle HTTP Server」メニューから「ポートの使用状況」を選択します。
「ポートの使用状況」詳細ページには、コンポーネント、使用中のポート、ポートがバインドされているIPアドレス、および使用中のプロトコルが表示されます(次の図を参照)。

6.4 ポートの管理

Oracle HTTP Serverで使用するポートは、インストール中およびインストール後に設定できます。また、ポート番号は必要に応じて変更できます。この項では、Fusion Middleware Controlを使用してポートを作成、編集および削除する方法について説明します。

注意:

admin.confファイル内に定義されているOracle HTTP Server管理(プロキシMBean)仮想ホストおよびその構成は、WebLogic Scripting Tool (WLST)を使用して編集しないでください。

関連項目:

『Oracle Fusion Middlewareの管理』のOracle HTTP Serverのリスニング・ポートの変更に関する項

- Fusion Middleware Controlを使用したポートの作成

- Fusion Middleware Controlを使用したポートの編集

注意:

ポートを削除するときに、削除するポートを使用するように構成されている仮想ホストがある場合は、ポートの削除前にその仮想ホストを削除する必要があります。

6.4.1 Fusion Middleware Controlを使用したポートの作成

Fusion Middleware Controlを使用してポートを作成するには、次の手順を実行します。

1. Oracle HTTP Serverのホームページに移動します。

2. 「Oracle HTTP Server」メニューから「管理」を選択します。

3. 「管理」メニューから「ポート構成」を選択します。

4. 「作成」をクリックします。

5. 「IPアドレス」メニューを使用して、新しいポートのIPアドレスを選択します。ポートは、関連付けられたホストのローカルIPアドレス、または使用可能なネットワーク・インタフェースでリスニングできます。
ポートのSSLは、「仮想ホスト」ページで構成できます(6.5.2項「Fusion Middleware Controlを使用した仮想ホストの構成」を参照)。

6. 「ポート」にポート番号を入力します。

7. 「OK」をクリックします。

8. Oracle HTTP Serverを再起動します。4.3.4項を参照してください。

注意:

ポート番号の変更や、URLに影響を与えるその他の変更(ホスト名の変更、SSLの有効化または無効化など)を行う場合、新しいURLを使用してパートナ・アプリケーションをSSOサーバーに再登録する必要があります。詳細は、『Oracle Platform Security Servicesによるアプリケーションの保護』のOSSO Server 10.1.4へのOracle HTTP Server mod_ossoの登録に関する項を参照してください。

6.4.2 Fusion Middleware Controlを使用したポートの編集

Fusion Middleware Controlを使用してポートを作成するには、次の手順を実行します。

1. Oracle HTTP Serverのホームページに移動します。

2. 「Oracle HTTP Server」メニューから「管理」を選択します。

3. 「管理」メニューから「ポート構成」を選択します。

4. ポート番号を変更するポートを選択します。
Fusion Middleware Controlを使用して管理ポートを編集することはできません。このポートはOracle HTTP ServerでFusion Middleware Controlとの内部通信に使用されるポートですが、ほとんどの場合、変更する必要はありません。本当にこれを変更する必要がある場合は、手動でDOMAIN_HOME/config/fmwconfig/components/OHS/componentName/admin.confファイルを編集します。

5. 「編集」をクリックします。

6. ポートの「IPアドレス」または「ポート」(あるいはその両方)の番号を編集します。
ポートのSSLは、「仮想ホスト」ページで構成できます(6.5.2項「Fusion Middleware Controlを使用した仮想ホストの構成」を参照)。

7. 「OK」をクリックします。

8. Oracle HTTP Serverを再起動します。4.3.4項を参照してください。

注意:

ポート番号の変更や、URLに影響を与えるその他の変更(ホスト名の変更、SSLの有効化または無効化など)を行う場合、新しいURLを使用してパートナ・アプリケーションをSSOサーバーに再登録する必要があります。

6.4.3 スタンドアロン環境でのリスニング・ポートの無効化

WebLogic Server環境のリスニング・ポートはFusion Middleware Controlを使用して無効化できますが、これをスタンドアロン環境で行う場合は、ポートが公開されている行をコメントアウトすることによって、マスター構成ファイル(DOMAIN_HOME/config/fmwconfig/components/OHS/componentName/httpd.conf)を直接更新する必要があります。次に例を示します。

#Listen slc01qtd.us.myCo.com:7777

注意:

.confファイルを編集しようとする前に、構成ファイル・ディレクトリのレイアウト、ファイル編集のメカニズムおよびファイル自体の詳細に精通しておく必要があります。この情報については、1.6項「構成ファイルの理解」を参照してください。

6.5 仮想ホストの構成

1つのマシンで複数のWebサイト(www.company1.comとwww.company2.comなど)を実行する仮想ホストを作成できます。仮想ホストはIPベース(各Webサイトが固有のIPアドレスを持つ)にすることも、名前ベース(各IPアドレスで複数の名前が機能する)にすることもできます。複数のサイトが同じ物理サーバー上で実行されているという事実は、エンド・ユーザーにはわかりません。

注意:

admin.confファイル内に定義されているOracle HTTP Server管理(プロキシMBean)仮想ホストおよびその構成は、WebLogic Scripting Tool (WLST)を使用して編集しないでください。

この項では、Fusion Middleware Controlを使用して仮想ホストを作成および編集する方法について説明します。

- Fusion Middleware Controlを使用した仮想ホストの作成

- Fusion Middleware Controlを使用した仮想ホストの構成

関連項目:

仮想ホストの詳細は、Apache HTTP Serverのドキュメントを参照してください。

6.5.1 Fusion Middleware Controlを使用した仮想ホストの作成

Fusion Middleware Controlを使用して仮想ホストを作成するには、次の手順を実行します。

1. Oracle HTTP Serverのホームページに移動します。

2. 「Oracle HTTP Server」メニューから「管理」を選択します。

3. 「管理」メニューから「仮想ホスト」を選択します。

4. 「作成」をクリックします。

5. 仮想ホスト・フィールドに名前を入力し、新規のリスニング・アドレスを入力するか、既存のリスニング・アドレスを使用するかを選択します。

- 新規リスニング・アドレス - 特定のホスト名またはIPアドレス(たとえば、mymachine.com:8080など)にマップされる仮想ホストを作成する場合は、このオプションを使用します。このオプションを使用すると、次のタイプのNameVirtualHostおよびVirtualHostディレクティブが作成されます。

NameVirtualHost mymachine.com:8080
<VirtualHost mymachine.com:8080>

- 既存のリスニング・アドレスの使用 - 既存のリスニング・ポートを使用して、すべてのIPアドレスにマップされる仮想ホストを作成する場合は、このオプションを使用します。このオプションを使用すると、次のタイプのVirtualHostディレクティブが作成されます。

<VirtualHost *:8080>

6. 新規の仮想ホストの場合、残りの属性を入力します。

7. 「タイプ」フィールドを使用して、仮想ホストを「IPベース」にするか「名前ベース」にするかを選択します。

8. 「OK」をクリックします。

9. Oracle HTTP Serverを再起動します。4.3.4項を参照してください。

6.5.2 Fusion Middleware Controlを使用した仮想ホストの構成

「構成」メニューのオプションを使用して、選択した仮想ホストの「サーバー構成」、「MIME構成」、「ログ構成」、「mod_perl構成」、「SSL構成」および「mod_wl_ohs構成」を指定できます。

Fusion Middleware Controlを使用して仮想ホストを構成するには、次の手順を実行します。

1. Oracle HTTP Serverのホームページに移動します。

2. 「Oracle HTTP Server」メニューから「管理」を選択します。

3. 「管理」メニューから「仮想ホスト」を選択します。

4. 表内の既存の仮想ホストを強調表示します。

5. 「構成」をクリックします。

6. 「構成」メニューから次のいずれかのオプションを選択し、それに対応する構成ページを開きます。これらのページの値は、仮想ホストのみに適用されます。フィールドが空白の場合、仮想ホストはサーバー・レベルで構成されている値を使用します。

- サーバー構成: 基本的な仮想ホスト・プロパティ(ドキュメント・ルート・ディレクトリ、インストールされているモジュール、別名など)を構成します。4.5.1項「Fusion Middleware Controlを使用したサーバー・プロパティの指定」を参照してください。

- MIME構成: Oracle HTTP Serverでファイル・タイプ、エンコーディングおよび言語の解析に使用されるMIME設定を構成します。4.6.2項「MIME設定の構成」

- ログ構成: 仮想ホストにより処理されたすべてのリクエストを記録するアクセス・ログを構成します。このログには、仮想ホストにより処理されたすべてのHTTPトランザクションに関する基本情報が含まれます。7.2項「Oracle HTTP Serverログの構成」を参照してください。

- mod_perl構成: Perlインタプリタを仮想ホストに埋め込むようにmod_perlモジュールを構成することにより、起動のオーバーヘッドを除去し、モジュールをPerlで記述できるようにします。このモジュールは、デフォルトでは無効です。4.6.3項「mod_perlの構成」を参照してください。

- SSL構成: Fusion Middleware Controlを使用したSSLの構成手順は、『Oracle Fusion Middlewareの管理』のOracle HTTP Server仮想ホストでのSSLの有効化に関する項を参照してください。

- mod_wl_ohs構成: リクエストをOracle HTTP ServerからOracle WebLogic Serverにプロキシできるようにmod_wl_ohsモジュールを構成します。4.6.4項「WebLogicプロキシ・プラグイン(mod_wl_ohs)の構成」を参照してください。

7. 各構成ページの設定を確認します。設定に問題がない場合、「OK」をクリックして変更を適用します。設定に問題がある場合、または変更を適用しない場合、「取消」をクリックして元の設定に戻します。

8. Oracle HTTP Serverを再起動します。4.3.4項「Oracle HTTP Serverインスタンスの再起動」を参照してください。

7 Oracle HTTP Serverログの管理

この章では、Oracle HTTP Serverログの管理方法について説明します。ここでは、サーバー・ログの管理方法、エラーの原因とその修正処置に関する情報を調べる方法、システム・アクティビティの監視に役立つログ・ファイルを表示して管理する方法、および問題を診断する方法について説明します。

Oracle HTTP Serverでは、すべてのタイプのイベントを記録したメッセージが含まれるログ・ファイルが生成されます。これには、起動と停止の情報、エラー、警告メッセージ、HTTPリクエストに関するアクセス情報、および追加情報が含まれます。

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

- 7.1項「サーバー・ログの概要」

- 7.2項「Oracle HTTP Serverログの構成」

- 7.3項「Oracle HTTP Serverのログ・ディレクティブ」

- 7.4項「Oracle HTTP Serverログの表示」

7.1 サーバー・ログの概要

Oracle Fusion Middlewareのログ・ファイルは、Fusion Middleware Controlまたはテキスト・エディタのいずれかを使用して表示できます。Oracle HTTP Serverのログ・ファイルは、次のディレクトリに存在します。

ORACLE_HOME/user_projects/domains/base_domain/servers/componentName/logs

Oracle HTTP Serverには、次の2つのタイプのログがあります。

- エラー・ログ: サーバーの問題が記録されます。

- アクセス・ログ: どのコンポーネントとアプリケーションに誰がアクセスしたかが記録されます。

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

- 7.1.1項「エラー・ログについて」

- 7.1.2項「アクセス・ログについて」

- 7.1.3項「ログ・ローテーション」

7.1.1 エラー・ログについて

Oracle HTTP Serverでは、ログ・メッセージを生成する形式を選択できます。レガシーのApache HTTP Serverメッセージ形式でログ・メッセージを生成するか、エラー・ログ・メッセージ生成用のOracle標準に準拠するOracle Diagnostic Logging (ODL)を使用してテキストまたはXML形式のログにログ・メッセージを生成するかを選択できます。

デフォルトでは、Oracle HTTP Serverエラー・ログでは診断メッセージの生成用にODLが使用されます。これにより、すべての診断メッセージおよびログ・ファイルのための共通書式と、Oracle Fusion Middleware全体の様々なコンポーネントからの診断メッセージを相互に関係付ける仕組みが提供されます。

エラー・ログ・ファイルのデフォルト名は、instance_name.logです。

7.1.2 アクセス・ログについて

アクセス・ログには、サーバーによって処理されたすべてのリクエストが記録されます。このログには、サーバーで処理されたすべてのHTTPトランザクションに関する基本情報が含まれます。アクセス・ログに含まれる情報は、次のとおりです。

- ホスト名

- リモート・ログ名

- リモート・ユーザーおよび時間

- リクエスト

- レスポンス・コード

- 転送バイト数

アクセス・ログ・ファイルのデフォルト名は、access_logです。

アクセス・ログ形式

管理者は、アクセス・ログに含める情報とその書込み方法を指定できます。デフォルトの形式は共通ログ形式(CLF)です。

CLF形式には、次のフィールドが含まれます。

host ident authuser date request status bytes

- host: クライアントのドメイン名またはIPアドレスログにホスト・フィールドを指定するには、%hを使用します。

- ident: IdentityCheckが有効で、クライアント・システムによりidentdが実行されている場合のクライアントのアイデンティティ情報。ログにクライアント・アイデンティティ・フィールドを指定するには、%iを使用します。

- authuser: 認可ユーザーのユーザーID。ログに認可ユーザー・フィールドを指定するには、%aを使用します。

- date: day/month/year:hour:minute:second書式のリクエスト日時。ログに日時を指定するには、%tを使用します。

- request: 二重引用符で囲まれたクライアントからのリクエスト行ログにリクエストを指定するには、%rを使用します。

- status: クライアントに戻される3桁のステータス・コードログにステータスを指定するには、%sを使用します。リクエストが別のサーバーから転送される場合、ログに最後のサーバーを指定するには、%>sを使用します。

- bytes: ヘッダーを除き、クライアントに返されるバイト数ログにバイト数を指定するには、%bを使用します。ログにヘッダーを含めるには、%iを使用します。

関連項目:

Apache HTTP Serverドキュメントの「Access Log」

7.1.3 ログ・ローテーション

Oracle HTTP Serverでは、サイズベースと時間ベースの2種類のログ・ローテーション・ポリシーをサポートしています。ORACLE_HOME/ohs/binにあるodl_rotatelogsコマンドを使用することで、2つのローテーション・ポリシーのいずれかを使用するようにOracle HTTP Serverログを構成することができます。デフォルトでは、Oracle HTTP Serverではエラー・ログとアクセス・ログの両方に対してodl_rotatelogsを使用します。

odl_rotatelogsは、Apache HTTP Serverのrotatelogsコマンドのすべての機能と、ログ保存の追加機能をサポートします。

odl_rotatelogsコマンドの一般構文は次のとおりです。

odl_rotatelogs [-u:offset] logfile {size-|time-based-rotation-options}

表7-1にサイズベースおよび時間ベースのローテーションのオプションを示します。

表7-1 odl_rotatelogsコマンドのオプション

オプション

説明

-u

UTCからオフセットする時間(秒)。

logfile

ログ・ファイルのパスと名前、その後にハイフン(-)そしてタイムスタンプ・フォーマットが続きます。

次に一般的なタイムスタンプ・フォーマット文字列を示します。

- %m: 2桁の数値で表される月(01-12)

- %d: 2桁の数値で表される日(01-31)

- %Y: 4桁の数値で表される年

- %H: 2桁の数値で表される時刻(00-23)

- %M: 2桁の数値で表される分(00-59)

- %S: 2桁の数値で表される秒(00-59)

スラッシュを含むまで拡張されるフォーマットを含むことはできません。

frequency

ログ・ファイルのローテーションの間の時間(秒)。

retentionTime

ローテーションされたログ・ファイルが保存される最大時間。

startTime

時間ベースのローテーションが開始する時間。

maxFileSize

ログ・ファイルの最大サイズ(MB)。

allFileSize

保存されたファイルの合計サイズ(MB)。

時間ベースとサイズベースのローテーションの構文と例

- 時間ベースのローテーション
構文:

$ odl_rotatelogs logfile frequency retentionTime startTime

例:

$ odl_rotatelogs /varlog/error.log-%Y-%m-%d 21600 172800 2012-03-10T08:30:00

このコマンドは、2012年3月10日の午前8時30分から21600秒(6時間)ごとにログ・ローテーションを実行するように構成し、ローテーションされたログ・ファイルを172800秒(2日)間保存するように指定します。

- サイズベースのローテーション
構文:

$ odl_rotatelogs logfile maxFileSize allFileSize

例:

このコマンドは、ログ・ファイルのサイズが10 MBに達するとログ・ローテーションを実行するように構成し、ローテーションされたすべてのログ・ファイルの最大サイズを70 MBと指定します(最大7個のログ・ファイル(=70/10)が保存されます)。

$ odl_rotatelogs /var/log/error.log-%Y-%m-%d 10M 70M

7.2 Oracle HTTP Serverログの構成

Fusion Middleware Controlを使用してエラー・ログとアクセス・ログを構成できます。「ログ構成」ページから、次のロギング・タスクを設定できます。

- Fusion Middleware Controlを使用したエラー・ログの構成

- Fusion Middleware Controlを使用したアクセス・ログの構成

7.2.1 Fusion Middleware Controlを使用したエラー・ログの構成

Fusion Middleware Controlを使用してOracle HTTP Serverのエラー・ログを構成するには、次の手順を実行します。

1. Oracle HTTP Serverのホームページに移動します。

2. 「管理」メニューから「ログ構成」を選択します。
「ログ構成」ページが表示されます(次の図を参照)。

3. このページからは、次のエラー・ログ構成タスクを設定できます。

- エラー・ログの形式および場所の構成

- エラー・ログ・レベルの構成

- エラー・ログのローテーション・ポリシーの構成

7.2.1.1 エラー・ログの形式および場所の構成

Oracle HTTP Serverはデフォルトで、エラー・ログ形式としてODL-Textを使用し、DOMAIN_HOME/servers/component_name/logsディレクトリ内にcomponent_name.logという名前のログ・ファイルを作成します。別の形式またはログ場所を使用するには、次の手順を実行します。

1. 「ログ構成」ページから、「エラー・ログ」セクションの下の「一般」セクションに移動します。

2. 目的のファイル形式を選択します。ODL-Text形式とODL-XML形式ではどちらも同じ情報が提供されますが、ODL-XMLファイルのほうがXML要素とラッパーが含まれているため、読みやすい可能性があります。

- ODL-Text: この形式の診断メッセージはOracle標準に準拠しており、テキスト形式で書き込まれます。

- ODL-XML: この形式の診断メッセージはOracle標準に準拠しており、XML形式で書き込まれます。

- Apache: この形式の診断メッセージはレガシーのApache HTTP Serverメッセージ形式に準拠しています。

3. 「ログ・ファイル/ディレクトリ」フィールドにエラー・ログのパスを入力します。このディレクトリは、ここに入力する前に存在している必要があります。

4. 設定を確認します。設定に問題がない場合、「適用」をクリックして変更を適用します。設定に問題がある場合、または変更を適用しない場合、「元に戻す」をクリックして元の設定に戻します。

5. Oracle HTTP Serverを再起動します。4.3.4項を参照してください。

7.2.1.2 エラー・ログ・レベルの構成

ログ・ファイルに書き込まれる情報の量とタイプは、メッセージのタイプおよびレベルを指定することによって構成できます。Oracle HTTP Serverのエラー・ログ・レベルは、デフォルトで「WARNING:32」に構成されています。別のエラー・ログ・レベルを使用するには、次の手順を実行します。

1. 「ログ構成」ページから、「エラー・ログ」セクションの下の「一般」セクションに移動します。

2. 「レベル」メニューからロギングのレベルを選択します。ロギング・レベルが高くなると、ログに含まれる情報も増加します。

3. 設定を確認します。設定に問題がない場合、「適用」をクリックして変更を適用します。設定に問題がある場合、または変更を適用しない場合、「元に戻す」をクリックして元の設定に戻します。

4. Oracle HTTP Serverを再起動します。4.3.4項を参照してください。

注意:

Apache HTTP Serverログ形式のログ・レベルは、ODL-Text形式やODL-XMLログ形式のログ・レベルとは異なります。

- ODLログ・レベルの詳細は、『Oracle Fusion Middlewareの管理』のログ・ファイルに書き込まれる情報レベルの設定に関する項を参照してください。

- Apache HTTP Serverのログ・レベルの詳細は、Apache HTTP ServerドキュメントのLogLevelディレクティブに関する項を参照してください。

7.2.1.3 エラー・ログのローテーション・ポリシーの構成

エラー・ログのログ・ローテーション・ポリシーは、1週間に1回などの時間ベース、または120MBなどのサイズベースで設定します。デフォルトでは、エラー・ログ・ファイルはサイズが10MBに達するとローテーションされます。また、最大で7個のエラー・ログ・ファイルが保持されます。別のローテーション・ポリシーを使用するには、次の手順を実行します。

1. 「ログ構成」ページから、「エラー・ログ」セクションの下の「一般」セクションに移動します。

2. ローテーション・ポリシーを選択します。

- ローテーションなし: ログ・ファイルをローテーションしない場合は、このポリシーを選択します。

- サイズ・ベース: ログ・ファイルは、構成されたサイズに達するたびにローテーションされます。「最大ログ・ファイル・サイズ」フィールドでログ・ファイルの最大サイズを設定し、「最大保持ファイル数」フィールドでエラー・ログ・ファイルの最大保持数を設定します。

- 時間ベース: 構成された時刻になるたびにログ・ファイルがローテーションされます。開始時間、ローテーション頻度および保存期間を設定します。

3. 設定を確認します。設定に問題がない場合、「適用」をクリックして変更を適用します。設定に問題がある場合、または変更を適用しない場合、「元に戻す」をクリックして元の設定に戻します。

4. Oracle HTTP Serverを再起動します。4.3.4項を参照してください。

7.2.2 Fusion Middleware Controlを使用したアクセス・ログの構成

Fusion Middleware Controlを使用してOracle HTTP Serverのアクセス・ログを構成するには、次の手順を実行します。

1. Oracle HTTP Serverのホームページに移動します。

2. 「管理」メニューから「ログ構成」を選択します。

このページからは、次のアクセス・ログ構成タスクを設定できます。

- アクセス・ログ形式の構成

- アクセス・ログ・ファイルの構成

7.2.2.1 アクセス・ログ形式の構成

ログ形式は、アクセス・ログに含める情報とその書込み方法を指定するものです。新規のアクセス・ログ形式を追加したり、既存の形式を編集または削除するには、次の手順を実行します。

1. 「ログ構成」ページから「アクセス・ログ」セクションに移動します。

2. 「ログ形式の管理」をクリックします。
「カスタム・アクセス・ログ形式の管理」ページが表示されます(次の図を参照)。

3. 既存の形式を選択して変更または削除するか、「行の追加」をクリックして新規形式を作成します。

4. 新しいフォーマットを作成する場合には、「ログ形式名」フィールドに新しいログ・フォーマットを入力し、「ログ形式パターン」フィールドにログ・フォーマットを入力します。

関連項目:

ログ形式のディレクティブの詳細は、Apache HTTP Serverドキュメントを参照してください。

5. 「OK」をクリックして新規形式を保存します。

7.2.2.2 アクセス・ログ・ファイルの構成

Oracle HTTP Serverのアクセス・ログ・ファイルを構成するには、次の手順を実行します。

1. 「ログ構成」ページから「アクセス・ログ」セクションに移動します。

2. 新規のアクセス・ログを作成する場合は、「作成」をクリックします。既存のアクセス・ログ・ファイルを編集する場合は、表から行を選択して「編集」ボタンをクリックします。
「アクセス・ログの作成」ページまたは「アクセス・ログの編集」ページが表示されます。

3. 「ログ・ファイル・パス」フィールドにアクセス・ログのパスを入力します。このディレクトリは、ここに入力する前に存在している必要があります。

4. 「ログ形式」メニューから既存のアクセス・ログ形式を選択します。

5. ローテーション・ポリシーを選択します。

- ローテーションなし: ログ・ファイルをローテーションしない場合は、このポリシーを選択します。

- サイズ・ベース: ログ・ファイルは、構成されたサイズに達するたびにローテーションされます。「最大ログ・ファイル・サイズ」フィールドでログ・ファイルの最大サイズを設定し、「最大保持ファイル数」フィールドでエラー・ログ・ファイルの最大保持数を設定します。

- 時間ベース: 構成された時刻になるたびにログ・ファイルがローテーションされます。開始時間、ローテーション頻度および保存期間を設定します。

6. 「OK」をクリックして継続します。
複数のアクセス・ログ・ファイルを作成できます。

7.3 Oracle HTTP Serverのログ・ディレクティブ

この項では、httpd.confファイル内のOracle HTTP Serverのエラー・ログおよびアクセス・ログに関連するディレクティブについて説明します。ここで説明するディレクティブは次のとおりです。

- Oracle Diagnostic Loggingディレクティブ

- Apache HTTP Serverログ・ディレクティブ

7.3.1 Oracle Diagnostic Loggingディレクティブ

Oracle HTTP Serverはデフォルトで、診断メッセージの生成にOracle Diagnostic Logging (ODL)を使用します。ODLを使用したロギングを設定する場合、次のディレクティブを使用します。

- OraLogMode

- OraLogDir

- OraLogSeverity

- OraLogRotationParams

7.3.1.1 OraLogMode

これにより、ログ・メッセージを生成する形式を選択できます。レガシーのApache HTTP Server形式、ODL-Text形式またはODL XML形式でログ・メッセージを生成するように選択できます。

OraLogMode Apache | ODL-Text | ODL-XML

デフォルト値: ODL-Text

例: OraLogMode ODL-XML

注意:

Apache HTTP Serverログ・ディレクティブのErrorLogおよびLogLevelは、OraLogModeがApacheに設定されている場合のみ有効です。OraLogModeがODL-TextまたはODL-XMLに設定されている場合、ErrorLogおよびLogLevelディレクティブは無視されます。

7.3.1.2 OraLogDir

すべてのログ・ファイルが含まれるディレクトリへのパスを指定します。このディレクトリは存在している必要があります。

このディレクティブは、OraLogModeがODL-TextまたはODL-XMLに設定されている場合にのみ使用されます。OraLogModeがApacheに設定されている場合、OraLogDirは無視され、かわりにErrorLogが使用されます。

OraLogDir <path>

デフォルト値: ORACLE_INSTANCE/servers/componentName/logs

例: OraLogDir /tmp/logs

7.3.1.3 OraLogSeverity

メッセージ重大度を設定できます。このディレクティブを使用して指定したメッセージ重大度は、必要な最低レベルのメッセージ重大度として解釈され、その重大度以上のメッセージはすべてログに記録されます。

このディレクティブは、OraLogModeがODL-TextまたはODL-XMLに設定されている場合にのみ使用されます。OraLogModeがApacheに設定されている場合、OraLogSeverityは無視され、かわりにLogLevelが使用されます。

OraLogSeverity <msg_type>[:msg_level]

デフォルト値: WARNING:32

例: OraLogSeverity NOTIFICATION:16

msg_type

メッセージ・タイプは大文字でも小文字でも指定できますが、メッセージ出力は大文字で表示されます。このパラメータは、次のいずれかの値にする必要があります。

- INCIDENT_ERROR

- ERROR

- WARNING

- NOTIFICATION

- TRACE

msg_level

このパラメータは1から32の整数にする必要があります。重大度が最も高いのが1で、最も低いのが32です。レベル1を使用したほうが、レベル32を使用した場合よりもメッセージが少なくなります。

7.3.1.4 OraLogRotationParams

エラー・ログ・ファイルのローテーション・ポリシーを選択できます。このディレクティブは、OraLogModeがODL-TextまたはODL-XMLに設定されている場合にのみ使用されます。OraLogModeがApacheに設定されている場合、OraLogRotationParamsは無視されます。

OraLogRotationParams <rotation_type> <rotation_policy>

デフォルト値: S 10:70

例: OraLogRotationParams T 43200:604800 2009-05-08T10:53:29

rotation_type

このパラメータはS(サイズベースのローテーション)またはT(タイムベースのローテーション)のいずれかです。

rotation_policy

rotation_typeがS(サイズベース)に設定されている場合は、rotation_policyパラメータを次のように設定します。

maxFileSize:allFilesSize (MB)

たとえば、10:70として構成した場合、エラー・ログ・ファイルのサイズが10MBに達するたびにローテーションが行われます。また、すべてのエラー・ログ・ファイルの合計として70MBが許可されます(最大で70/10=7個のエラー・ログ・ファイルが保存されます)。

rotation_typeがT(タイムベース)に設定されている場合は、rotation_policyパラメータを次のように設定します。

frequency(in sec) retentionTime(in sec) startTime(in YYYY-MM-DDThh:mm:ss)

たとえば、43200:604800 2009-05-08T10:53:29として構成した場合、エラー・ログは43200秒(12時間)ごとにローテーションが行われます。ローテーションされたログ・ファイルは、2009年5月5日の10時53分29秒から最大で604800秒(7日)間保存されます。

7.3.2 Apache HTTP Serverログ・ディレクティブ

Oracle HTTP Serverではデフォルトでエラー・ログにODLが使用されますが、エラー・ログ・メッセージがレガシーのApache HTTP Serverメッセージ形式で生成されるようにOraLogModeディレクティブをApacheに構成することもできます。この項では、次のディレクティブについて説明します。

- ErrorLog

- LogLevel

- LogFormat

- CustomLog

7.3.2.1 ErrorLog

ErrorLogディレクティブは、サーバーにより検出されたエラーが書き込まれるファイル名を設定します。ファイルパスが絶対パスでない場合は、ServerRootからの相対パスであると想定されます。

このディレクティブは、OraLogModeがApacheに設定されている場合にのみ使用されます。OraLogModeがODL-TextまたはODL-XMLに設定されている場合、ErrorLogは無視され、かわりにOraLogDirが使用されます。

関連項目:

Apache ErrorLogディレクティブの詳細は、次を参照してください。

http://httpd.apache.org/docs/current/mod/core.html#errorlog

7.3.2.2 LogLevel

LogLevelディレクティブは、エラー・ログに記録されるメッセージの冗長性を調整します。

このディレクティブは、Apacheに3が設定されている場合にのみ使用されます。OraLogModeがODL-TextまたはODL-XMLに設定されている場合、LogLevelは無視され、かわりにOraLogSeverityが使用されます。

関連項目:

Apache HTTP Server LogLevelディレクティブの詳細は、次を参照してください。

http://httpd.apache.org/docs/current/mod/core.html#loglevel

7.3.2.3 LogFormat

LogFormatディレクティブは、アクセス・ログ・ファイルの形式を指定します。デフォルトでは、Oracle HTTP Serverには次の4つのアクセス・ログ形式が定義されています。

LogFormat "%h %l %u %t \"%r\" %>s %b" common
LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined
LogFormat "%{Referer}i -> %U" referer
LogFormat "%{User-agent}i" agent

関連項目:

Apache HTTP Server LogFormatディレクティブの詳細は、次を参照してください。

http://httpd.apache.org/docs/current/mod/mod_log_config.html#logformat

7.3.2.4 CustomLog

CustomLogディレクティブは、サーバーへのリクエストをログに記録する場合に使用します。ログ形式を指定し、オプションで環境変数を使用して、リクエストの特性に基づいてロギングを条件付きで実行することもできます。デフォルトでは、アクセス・ログ・ファイルは共通ログ形式を使用するように構成されています。

関連項目:

Apache CustomLogディレクティブの詳細は、次を参照してください。

http://httpd.apache.org/docs/current/mod/mod_log_config.html#customlog

7.4 Oracle HTTP Serverログの表示

Fusion Middleware Controlを使用してOracle HTTP Serverログ・ファイルの検索、表示および一覧表示を行うことも、ローカル・クライアントにログ・ファイルをダウンロードして別のツールでログ・ファイルを表示することもできます。

また、任意のテキスト・エディタを使用して、DOMAIN_HOMEディレクトリから直接Oracle HTTP Serverログ・ファイルを表示することもできます。デフォルトでは、Oracle HTTP Serverログ・ファイルは、DOMAIN_HOME/servers/component_name/logsディレクトリにあります。

Oracle HTTP Serverには、主にエラー・ログとアクセス・ログの2種類のログ・ファイルがあります(7.1項「サーバー・ログの概要」を参照)。エラー・ログ・ファイルは、サーバーのパフォーマンスを良好に保つための重要な情報源です。エラー・ログには、システム管理者が問題を簡単に診断して修正できるように、問題の状況に関するすべての情報が記録されます。アクセス・ログ・ファイルには、サーバーが処理するあらゆるHTTPトランザクションの基本情報が含まれます。この情報を使用すると、サーバーの使用状況パターンに関する統計レポートを生成できます。

関連項目:

ログ・ファイルの検索と閲覧の詳細は、『Oracle Fusion Middlewareの管理』を参照してください。

8 アプリケーション・セキュリティの管理

この章では、Oracle HTTP Serverのセキュリティ機能の概要、およびセキュアなWebサイトを設定するための構成情報について説明します。

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

- 8.1項「Oracle HTTP Serverのセキュリティについて」

- 8.2項「ユーザーおよびその権限のクラス」

- 8.3項「保護対象のリソース」

- 8.4項「認証、認可およびアクセス制御」

8.1 Oracle HTTP Serverのセキュリティについて

セキュリティは、認証、認可および秘匿性の3つのカテゴリに分けられます。Oracle HTTP Serverは、これら3種類のカテゴリをすべてサポートします。Oracle HTTP ServerはApache HTTP Serverに基づいており、そのセキュリティ・インフラストラクチャは主にApacheモジュール(mod_auth_basic、mod_authn_file、mod_auth_userおよびmod_authz_groupfile)、とWebGateにより提供されます。mod_auth_basic、mod_authn_file、mod_auth_userおよびmod_authz_groupfileモジュールは、ユーザー名とパスワードのペアに基づく認証を提供します。mod_authz_hostはリクエストの特性(ホスト名やIPアドレスなど)に基づいてサーバーへのアクセスを制御し、mod_osslは、SSLを介したX.509クライアント証明書によって秘匿性および認証を提供します。

Oracle HTTP Serverは、httpd.confファイル内のアクセス制御ディレクティブを使用して構成できるアクセス制御、認証および認可の方法を提供します。URLリクエストはOracle HTTP Serverに到達すると、サーバーのデフォルトおよび構成パラメータにより指定された手順で処理されます。URLリクエストの処理手順は、多くのWebリスナーに共通のモジュールまたはプラグイン・アーキテクチャを介して実装されます。

8.2 ユーザーおよびその権限のクラス

Oracle HTTP Serverは、ユーザーを認可および認証してから、そのユーザーにサーバーのリソースへのアクセスまたは変更を許可します。Oracle HTTP Serverを使用してサーバーにアクセスする3つのユーザー・クラスと、それらの権限を次に示します。

- 認証を提供せずにサーバーにアクセスするユーザー。これらのユーザーは、保護されていないリソースにしかアクセスできません。

- Oracle HTTP Server内のモジュールによって認証され、将来的に認可される予定のユーザー。これには、mod_auth_basic、mod_authn_file、mod_auth_userおよびmod_authz_groupfileモジュールのようなApache HTTP ServerモジュールとOracleのmod_osslにより認証されたユーザーが含まれます。このようなユーザーは、http.confファイル内で定義されたURLにアクセスできます。

関連項目:

8.4項「認証、認可およびアクセス制御」。

- Oracle Access Managerによって認証されたユーザー。これらのユーザーは、シングル・サインオンによって許可されたリソースにアクセスできます。

関連項目:

Oracle Platform Security Servicesによるアプリケーションの保護

8.3 保護対象のリソース

Oracle HTTP Serverは、管理対象のすべてのリソースを保護するように構成できます。リソースが必要とする任意の保護を構成することができます。

8.4 認証、認可およびアクセス制御

Oracle HTTP Serverは、ユーザーの認証および認可を次の2段階で行います。

- アクセス制御(第1段階): これは、受信HTTPリクエストとそのヘッダーの詳細(IPアドレスやホスト名など)に基づいています。

- ユーザーの認証および認可(第2段階): これは、HTTPサーバー構成に応じた様々な基準に基づいています。ユーザー名とパスワードのペアでユーザーを認証するようにサーバーを構成できます。ユーザー名とパスワードは、既知のユーザーおよびパスワードのリストと比較して確認されます。また、Webアプリケーションに対してシングル・サインオン認証を使用するようにサーバーを構成したり、SSLを介したX.509クライアント証明書を使用するようにサーバーを構成することもできます。

8.4.1 アクセス制御

アクセス制御とは、リソースに対するアクセスを制御する手段のことです。

関連項目:

リソースへのアクセス制御の構成方法の詳細は、Apache HTTP Serverドキュメントを参照してください。

8.4.2 ユーザーの認証および認可

認証は、ユーザーが本物であることを確認するプロセスです。認可は、ユーザーにリソースへのアクセスや情報の取得を許可するプロセスです。

8.4.2.1 ユーザーを認証するためのApache HTTP Serverモジュールの使用

アクセス制御とは、リソースに対するアクセスを制御する手段のことです。

関連項目:

ユーザーを認証する方法の詳細は、次のApache HTTP Serverのドキュメントの認証および認可に関する項を参照してください。

http://httpd.apache.org/docs/2.2/howto/auth.html

8.4.2.2 WebGateを使用したユーザーの認証

WebGateによって、Oracle HTTP Serverのシングル・サインオン(SSO)が可能になります。WebGateは受信リクエストを調べて、リクエストされたリソースが保護されているかどうかを判断し、保護されている場合は、ユーザーのセッション情報を取得します。

WebGateを使用すると、Oracle HTTP ServerはSSO対応のパートナ・アプリケーションとなり、SSOを使用してユーザーを認証することが可能になり、Oracleシングル・サインオンを使用してユーザーのアイデンティティの取得ができるようになり、また、Oracle HTTP ServerからアクセスされるWebアプリケーションはユーザーのアイデンティティを使用することが可能になります。

WebGateを使用することで、Webアプリケーションは、SSO認証を必要とするURLを登録できます。WebGateは、Oracle HTTP Serverが受信したクエストからSSO認証が必要なリクエストを検出し、それらをSSOサーバーにリダイレクトします。SSOサーバーによってユーザーが認証されると、ユーザーの認証済アイデンティティをWebGateにセキュア・トークンで渡します。WebGateがトークンからユーザーのアイデンティティを取得すると、それをOracle HTTP Serverからアクセスされるアプリケーション(Oracle WebLogic Server上で実行されているアプリケーション、CGI、Oracle HTTP Serverによって処理される静的ファイルなど)に伝搬します。

関連項目:

Oracle Platform Security Servicesによるアプリケーションの保護

8.4.3 FMW監査フレームワークのサポート

Oracle HTTP Serverは、FMW共通監査フレームワークを使用した認証および認可の監査をサポートしています。監査の有効化の一部として、Oracle HTTP ServerはOraAuditEnableと呼ばれるディレクティブをサポートしています(デフォルトはOn)。有効化されると、auditconfig.xmlで有効化されている監査イベントが監査ログに記録されます。デフォルトでは、auditconfig.xmlで有効化されている監査イベントはありません。

OraAuditEnableがOffに設定されている場合は、auditconfig.xmlでの設定に関係なく監査は無効になります。

Fusion Middleware Controlを使用するか、またはauditconfig.xmlを直接編集することで、監査フィルタを構成できます。

関連項目:

『Oracle Platform Security Servicesによるアプリケーションの保護』の監査機能の概要に関する項

第III部

付録および用語集

この部には次の付録と用語集が含まれます。

- 付録A「OVAB用のOHSイントロスペクタのプラグイン」

- 付録B「よくある質問」

- 付録C「Oracle HTTP Serverのトラブルシューティング」

- 付録D「構成ファイル」

- 付録E「プロパティ・ファイル」

- 付録F「mod_securityの構成」

- 付録G「OHSモジュール・ディレクティブ」

- 「用語集」

A OVAB用のOHSイントロスペクタのプラグイン

Oracle Virtual Assembly Builder (OVAB)のプラグインのOracle HTTP Server (OHS)イントロスペクタのプラグインは、WebLogic Serverドメイン内のすべての使用可能なOracle HTTP Serverインスタンスをイントロスペクトします。このプラグインはOVAB用のWebLogic Serverプラグインの拡張機能です。

この章の構成は、次のとおりです。

- A.1項「サポートされるバージョン」

- A.2項「Oracle HTTP Serverのイントロスペクション・パラメータ」

- A.3項「結果のアーティファクト・タイプ」

- A.4項「要件」

- A.5項「接続」

- A.6項「接続プロパティ」

- A.7項「Oracle HTTP Serverアプライアンスのプロパティ」

- A.8項「プラグインの拡張機能」

- A.9項「サポートされるテンプレート・タイプ」

- A.10項「プラグインの制限事項」

- A.11項「関連ドキュメント」

A.1 サポートされるバージョン

このプラグインでは、リリース12.1.2がサポートされます。

A.2 Oracle HTTP Serverのイントロスペクション・パラメータ

OVAB用のOHSイントロスペクタのプラグインはOVAB用のWebLogic Serverプラグインの拡張機能なので、WLSプラグインで提供されるイントロスペクタ・パラメータと動作します。

WebLogic Serverに必要なパラメータについては、『Oracle WebLogic Serverサーバー環境の管理』でOracle Virtual Assembly Builder用のイントロスペクション・プラグインの使用方法に関する項を参照してください。

A.3 結果のアーティファクト・タイプ

スケーラブルな複数のアプライアンス、Oracle HTTP Serverインスタンスごとに1つ。

A.4 要件

すべてのWebLogic Serverの要件を満たす必要があります。これらの要件については、『Oracle WebLogic Serverサーバー環境の管理』のOracle Virtual Assembly Builder用のイントロスペクション・プラグインの使用方法に関する項を参照してください。

WebLogic Serverの要件に加えて、参照システムの実装では、WLSとOracle HTTP Serverが同じORACLE_HOMEディレクトリにインストールされている必要があります。

A.5 接続

入力は、構成で見つかったListenディレクティブまたはPortディレクティブごとにOracle HTTP Serverアプライアンスで作成されます。VirtualHostディレクティブ内でListenディレクティブが見つかり、SSLEngineディレクティブがonに設定されている場合以外は、Oracle HTTP Server入力のプロトコルはhttpに設定されます。設定されている場合は、プロトコルはhttpsになります。

Oracle HTTP Serverアプライアンスの出力は、Oracle HTTP Server構成のOracle WebLogic Serverに関連する様々なディレクティブに基づいて作成されます。出力は、出力の"記述"によって接続先のOracle WebLogic Serverアセンブリの入力を示します。

A.6 接続プロパティ

インスタンス・アプライアンスのすべての入力エンドポイントには、1つの編集可能プロパティ(port)と、2つの編集不可プロパティ(nameおよびprotocol)のリストがあります。protocolは、入力に接続できる出力の種類を示します。管理サーバー・アプライアンスには常に1つのセキュアなHTTPリスナー入力エンドポイントport(編集可能)があります。

すべての出力エンドポイントには、3つの編集不可プロパティdescription、protocolおよびsingletonがあります。protocolは、出力に接続できる入力の種類を示します。Singletonは、出力を接続できるアプライアンスの種類を示します。singletonがtrueの場合、出力を接続できるのは、スケーラビリティ最大絶対値が1のアプライアンスの入力のみです。管理サーバー・アプライアンスには出力エンドポイントはありません。

A.7 Oracle HTTP Serverアプライアンスのプロパティ

関連するOracle HTTP Serverアプライアンスのプロパティはありません。

A.8 プラグインの拡張機能

なし。

A.9 サポートされるテンプレート・タイプ

サポートされるテンプレート・タイプは、Oracle Enterprise Linux (OEL)です。

A.10 プラグインの制限事項

次のプラグインの制限事項に注意してください。

- 管理インタフェースを使用せずに、参照システム上のOracle HTTP Serverインスタンスに対して行った手動の変更に対しては、プラグインによるイントロスペクトは行われません。

- 参照の実装では、OVAB Oracle HTTP ServerプラグインはOracle HTTP Serverのスタンドアロン・デプロイメントをイントロスペクトしません。WebLogic Server Oracle HTTP Serverデプロイメントのみがサポートされます。

A.11 関連ドキュメント

OVABの使用方法の詳細は、次のドキュメントを参照してください。

- Oracle Virtual Assembly Builderアプリケーションおよびイントロスペクション・プラグインの開発

- Oracle Virtual Assembly Builderの使用方法

B よくある質問

この付録では、Oracle HTTP Server (OHS)に関するよくある質問とそれに対する回答について説明します。内容は次のとおりです。

- B.1項「アプリケーション固有のエラー・ページはどのように作成しますか」

- B.2項「HTTPおよびHTTPSでは、どのタイプの仮想ホストがサポートされますか」

- B.3項「異なる言語および文字セット・バージョンのドキュメントを使用できますか」

- B.4項「Oracle HTTP ServerにApache HTTP Serverのセキュリティ・パッチを適用できますか」

- B.5項「Oracle HTTP ServerのApache HTTP Serverバージョンをアップグレードできますか」

- B.6項「Oracle HTTP Serverからの出力を圧縮できますか」

- B.7項「ファイアウォールおよびクラスタを介して機能するネームスペースはどのように作成しますか」

- B.8項「Webサイトをハッカーからどのように保護しますか」

- B.9項「SSLの有効化と無効化を切り替える場合、SSOサーバーにパートナ・アプリケーションを再登録する必要がありますか」

- B.10項「REDIRECT_ERROR_NOTESが、「ファイルが見つかりません」というエラーに設定されていないのはなぜですか」

- B.11項「Webサーバー・ベンダーおよびバージョンに関する情報はどのように隠すことができますか」

- B.12項「apachectlまたは他のコマンドライン・ツールを使用してOHSを起動できますか」

該当する場合は、Apache Software Foundationのドキュメントを参照しています。

注意:

このガイドをPDF版またはハード・コピー形式でご利用いただく場合、HTML形式でのみのご提供となるサードパーティのドキュメントを参照できません。文中で参照されているサードパーティのドキュメントをご利用いただくためには、このガイドのHTML版をご利用のうえ、文中のハイパーリンクをクリックしてください。

B.1 アプリケーション固有のエラー・ページはどのように作成しますか

Oracle HTTP Serverには、エラー処理用のデフォルトのコンテンツ・ハンドラが用意されています。ErrorDocumentディレクティブを使用すると、デフォルトをオーバーライドできます。

関連項目:

ErrorDocumentディレクティブの詳細は、次のApache HTTP Serverのドキュメントを参照してください。

http://httpd.apache.org/docs/current/mod/core.html#errordocument

B.2 HTTPおよびHTTPSでは、どのタイプの仮想ホストがサポートされますか

HTTPの場合、Oracle HTTP Serverでは、名前ベースとIPベースの両方の仮想ホストがサポートされます。名前ベースの仮想ホストは共通のリスニング・アドレス(IPとポートの組合せ)を共有する仮想ホストですが、クライアントにより送信されたHostヘッダーとVirtualHost内のServerNameディレクティブの間の一致に基づいてリクエストをルーティングします。IPベースの仮想ホストは、固有のリスニング・アドレスを持つ仮想ホストです。IPベースの仮想ホストは、リクエストが受信されたアドレスに基づいてリクエストをルーティングします。

HTTPSの場合、Oracle HTTP Serverで使用できるのはIPベースの仮想ホストのみです。これは、名前ベースの仮想ホストの場合、リクエストの処理に使用する仮想ホストを判別するために、リクエストを読み取って調査する必要があるためです。HTTPSが使用されている場合、リクエストを読み取る前にSSLハンドシェイクを実行する必要があります。SSLハンドシェイクを実行するためには、サーバー証明書を提供する必要があります。意味のあるサーバー証明書を提供するには、証明書のホスト名が、クライアントがリクエストしたホスト名に一致する必要があります。これは、仮想ホストごとにサーバー証明書が一意であることを意味します。しかし、サーバーはリクエストを読み取るまで、そのリクエストのルーティング先の仮想ホストを認識できず、また提供するサーバー証明書がわからなければリクエストを適切に読み取ることもできないため、HTTPSでは名前ベースの仮想ホスティングを行うことは不可能です。

B.3 異なる言語および文字セット・バージョンのドキュメントを使用できますか

使用できます。Apache HTTP Serverの機能に与えられた汎用名であるMultiviewsを使用すると、リクエストに対するレスポンスで様々なバージョンの言語と文字固有のドキュメントを提供できます。

関連項目:

コンテント・ネゴシエーションの詳細は、次のApache HTTP ServerのドキュメントのMultiviewsオプションを参照してください。

http://httpd.apache.org/docs/current/content-negotiation.html

B.4 Oracle HTTP ServerにApache HTTP Serverセキュリティ・パッチを適用できますか

次の理由で、Oracle HTTP ServerにはApache HTTP Serverセキュリティ・パッチを適用できません。

- OracleではOracle HTTP Serverユーザーにリリースする前に、セキュリティ・パッチをテストして適切に変更しています。

- Oracleではセキュリティ・パッチのコンポーネントをスタックから削除しているため、多くの場合、OpenSSLアラートなどのApache HTTP Serverアラートは適用できません。

Oracle HTTP Serverに対するセキュリティ関連の最新の修正は、Oracle Critical Patch Update (CPU)を介して実行します。詳細は、OracleのWebページ「Critical Patch Updates and Security Alerts」を参照してください。

注意:

CPUを適用した後、Apache HTTP Serverベースのバージョンがそのまま残っていることがありますが、脆弱性は修正されます。バージョンを確認できるサード・パーティのセキュリティ検出ツールがありますが、これらのツールで脆弱性そのものを確認することはできません。

B.5 Oracle HTTP ServerのApache HTTP Serverバージョンをアップグレードできますか

Oracle HTTP Server内のApache HTTP Serverバージョンのみをアップグレードすることはできません。Oracle HTTP ServerのベースとなるApache HTTP Serverの新バージョンが、パッチ更新またはOracle Fusion Middlewareの次期メジャー・リリースかマイナー・リリースの一部として提供されます。

B.6 Oracle HTTP Serverからの出力を圧縮できますか

一般に、Oracle HTTP Serverに組み込まれているmod_deflateを使用することをお薦めします。mod_deflateに関する詳細は、http://httpd.apache.org/docs/current/mod/mod_deflate.htmlを参照してください。

B.7 ファイアウォールおよびクラスタを介して機能するネームスペースはどのように作成しますか

一般的には、1つの分散Webサイトの全サーバーで、単一のURLネームスペースを使用する必要があります。すべてのサーバーでネームスペースの一部を処理し、処理しないURLのリクエストをそのURLにより近いサーバーにリダイレクトまたはプロキシできます。たとえば、次のようなネームスペースがあるとします。

/app1/login.html
/app1/catalog.html
/app1/dologin.jsp
/app2/orderForm.html
/apps/placeOrder.jsp

最初に、server1にapp1、server2にapp2を置いて、これらのネームスペースを2つのWebサーバーにマップします。server1の構成は次のようになります。

Redirect permanent /app2 http://server2/app2
Alias /app1 /myApps/application1
<Directory /myApps/application1>
...
</Directory>

server2の構成は補足的です。

ネームスペースをコンテンツ・タイプ(server1ではHTML、server2ではJSP)別にパーティション化すると決定した場合、サーバー構成を変更してファイルを移動できますが、アプリケーション自体を変更する必要はありません。その結果、server1の構成は次のようになります。

RedirectMatch permanent (.*) \.jsp$ http://server2/$1.jsp
AliasMatch ^/app(.*) \.html$ /myPages/application$1.html
<DirectoryMatch "^/myPages/application\d">
...
</DirectoryMatch>

実際のリダイレクションの量は、ハードウェアのロード・バランサ(F5システムのBIG-IPなど)を、URLに基づいてserver1またはserver2にリクエストが送信されるように構成することで、最小限に抑えることが可能です。

B.8 Webサイトをハッカーからどのように保護しますか

ハッカーによる攻撃は多く、日々新しい攻撃が開発されています。サイトの保護に関する一般的なガイドラインは、次のとおりです。サイトを完全に保護することはできませんが、攻撃されさやすいターゲットとなることは回避できます。

- ISPとWebサーバーの間に、Checkpoint FW-1やCisco PIXのような市販のファイアウォールを使用します。ただし、すべてのハッカーが組織の外にいるわけではないことに注意してください。

- 切替式のイーサネットを使用して、セキュリティを破られたサーバーにより検出される可能性のある通信量を制限します。Webサーバー・マシンと、データベースやエンタープライズ・アプリケーションを実行中の機密性の高い内部サーバーの間に、追加のファイアウォールを使用します。

- RPC、Finger、telnetなど、不要なネットワーク・サービスをサーバーから削除します。

- Webフォームからのすべての入力を慎重に検証します。特に、長い入力文字列や、印刷不能文字、HTMLタグまたはJavaScriptタグを含む入力には注意してください。

- 機密情報を含むCookieの内容を暗号化(ランダム化)して、ハッカーによる有効なセッションのハイジャックを防止します。たとえば、有効なセッションIDを推測しにくくする必要があります。

- すべてのシステムとアプリケーション・ソフトウェアのセキュリティ・パッチを頻繁にチェックし、入手後すぐにインストールします。これらのパッチは必ず信頼できるソースから入手してください。パッチは信頼できるサイトからのみダウンロードし、暗号チェックサムを検証します。

- 侵入検出パッケージを使用して、改変されたWebページ、ウイルスおよびハッカーがサイトに侵入したことを示すrootkitの有無を監視します。可能な場合は、システムの実行可能ファイルとWebのコンテンツを読取り専用ファイル・システムにマウントしてください。

- 法的分析パッケージを用意して、侵入が検出されたらすぐにその証拠を取得します。これは、ハッカーを告発する際に役立ちます。

B.9 SSLの有効化と無効化を切り替える場合、SSOサーバーにパートナ・アプリケーションを再登録する必要がありますか

あります。SSLの有効化と無効化を切り替える場合、SSOサーバーにパートナ・アプリケーションを再登録する必要があります。URLに影響を与える変更(ホスト名やポートの変更、SSLの有効化または無効化など)を行う場合、SSOサーバーに登録された古いURLは無効になるため、SSOサーバーにパートナ・アプリケーションを再登録する必要があります。新しいURLを使用してパートナ・アプリケーションを再登録してください。

B.10 REDIRECT_ERROR_NOTESが、「ファイルが見つかりません」というエラーに設定されていないのはなぜですか

Apache HTTP Serverとの互換性によって、この条件でのCGIおよび他のアプリケーションで、この情報を使用可能にしていないため、Oracle HTTP Serverでは、REDIRECT_ERROR_NOTES CGI環境変数は「ファイルが見つかりません」というエラーに設定されていません。

B.11 Webサーバー・ベンダーおよびバージョンに関する情報はどのように隠すことができますか

この情報をWebサーバーで生成されたレスポンスから削除するには、ServerSignature Offを指定します。Oracle HTTP ServerがWebサーバー・レスポンス・ヘッダーを生成したときにWebサーバー・ソフトウェアを非表示にするには、ServerTokens Custom some-server-stringを指定します。(バックエンド・サーバーがレスポンスを生成するときは、プロキシ・メカニズムに応じてバックエンド・サーバーからサーバー・レスポンス・ヘッダーが生成される場合があります。)

注意:

ServerTokens Custom some-server-stringは、Oracle HTTP Server 10gのServerHeader Off設定の置換文字列です。

B.12 apachectlまたは他のコマンドライン・ツールを使用してOHSを起動できますか

Oracle HTTP Server 12.1.2のプロセス管理はノード・マネージャによって処理されます。startComponentコマンドは、WLSTまたはFusion Middleware Controlを直接使用せずに、Oracle HTTP Serverを起動する場合に使用されます。詳細は、4.3.2.3項「コマンド・ラインを使用したOracle HTTP Serverインスタンスの起動」を参照してください。

C Oracle HTTP Serverのトラブルシューティング

この付録では、Oracle HTTP Server (OHS)の使用時に発生する可能性がある一般的な問題およびその解決方法について説明します。内容は次のとおりです。

- C.1項「ポートの競合によりOracle HTTP Serverが起動できない」

- C.2項「多数のhttpdプロセスによるシステムのオーバーロード」

- C.3項「1024未満のポートでOracle HTTP Serverの起動時に発生する権限拒否」

- C.4項「PMファイルが正しく検出されない場合にOracle HTTP Serverが起動できない」

- C.5項「PerSetEnvを設定解除し、変数を削除した場合にスローされる例外」

- C.6項「ログ・ファイルを使用したエラーの特定」

- C.7項「リモート・ホストでのOHSインスタンスの回復」

- C.8項「Oracle HTTP Serverのパフォーマンスの問題」

- C.9項「DMSの共有メモリーの不足」

C.1 ポートの競合によりOracle HTTP Serverが起動できない

ポートの競合が原因でOracle HTTP Serverが起動できない場合、次のエラーが発生する可能性があります。

[VirtualHost: main] (98)Address already in use: make_sock: could not bind to address [::]:7777

解決策

そのポートをすでに使用しているプロセスを判別し、Oracle HTTP ServerのIPポート・アドレスか、競合しているプロセスのポートを変更します。

C.2 多数のhttpdプロセスによるシステムのオーバーロード

1つのシステム上で実行中のhttpdプロセスが多すぎると、通常処理のためのリソースが不足し、レスポンス時間が低下します。

解決策

マシンが対処できる値までMaxClientsの値を下げます。

C.3 1024未満のポートでOracle HTTP Serverの起動時に発生する権限拒否

1024未満のポートでOracle HTTP Serverを起動しようとすると、次のエラーが発生します。

[VirtualHost: main] (13)Permission denied: make_sock: could not bind to address [::]:443

1024未満のポートでは、Oracle HTTP Serverは起動しません。これは、これらのポートをバインドするには、root権限が必要になるためです。

解決策

4.3.2.4項「特権ポートでのOracle HTTP Serverインスタンスの起動(Unixのみ)」の手順に従って、特権ポートでOracle HTTP Serverを起動します。

C.4 PMファイルが正しく検出されない場合にOracle HTTP Serverが起動できない

PERL5LIB変数内に定義されているパスにローカルなPerlモジュール(PM)ファイルをOracle HTTP Serverが見つけられない場合、次のエラーが発生し、Oracle HTTP Serverが起動できないことがあります。

[error] Can't locate mod_perl.pm in @INC (@INC contains:$ORACLE_HOME/perl/...)

または

[error] Can't locate Apache::Registry.pm in @INC (@INC contains: $ORACLE_HOME/perl/...)

解決策

ORACLE_HOME/ohs/bin/apachectlがPERL5LIB変数内に正しく定義されていることを確認します。PMファイルが含まれているパスが指定されている必要があります。デフォルトでは、次のディレクトリ内のPMファイルが指定されています。

ORACLE_HOME/ohs/mod_perl/lib/site_perl/5.10.0
ORACLE_HOME/perl/lib/5.10.0
ORACLE_HOME/perl/lib/site_perl/5.10.0

C.5 PerSetEnvを設定解除し、変数を削除した場合にスローされる例外

EM mod_perl構成ページを使用してmod_perlを構成し、「環境」フィールドから構成済のPerSetEnv変数を削除しようとすると、次のエラーがスローされます。

Failed to invoke operation save on MBean
oracle.as.management.mbeans.register:type=component,name=ohs1,instance=webtier
_inst7971,Location=AdminServer
Apply failed, modify required parameters and save again. Validation of
configuration trying to apply failed
.
.
.

解決策

この状況に対処するには、次の手順に従います。

1. ポップアップ・エラーを閉じて、「元に戻す」をクリックします。

2. 次の手順のいずれかを実行して、PerSetEnvを削除します。

- Fusion Middleware Controlの「詳細構成」ページに移動して、mod_perl.confファイルを直接変更します。
または

- DOMAIN_HOME/config/fmwconfig/components/OHS/componentName/moduleconf/mod_perl.confに移動して、構成ファイルを直接編集してPerSetEnv値を削除します。

3. OHSを再起動します。

C.6 ログ・ファイルを使用したエラーの特定

次のログ・ファイルを使用すると、エラーの特定に役立ちます。

- リライト・ログ

- スクリプト・ログ

- エラー・ログ

C.6.1 リライト・ログ

このログ・ファイルは、mod_rewriteが使用されている場合のデバッグに必要です。このログ・ファイルでは、リライト・エンジンによるリクエストの変換方法の詳細分析が生成されます。詳細レベルは、RewriteLogLevelディレクティブを使用して制御します。

C.6.2 スクリプト・ログ

このログ・ファイルでは、CGIスクリプトからの入出力を記録できます。このファイルはテストにのみ使用し、本番サーバーには使用しないでください。

関連項目:

次のApache HTTP Serverドキュメントの「ScriptLog」

http://httpd.apache.org/docs/current/mod/mod_cgi.html#scriptlog

C.6.3 エラー・ログ

このログ・ファイルには、全体的なサーバー問題が記録されます。エラー・ログを構成および表示する方法の詳細は、第7章「Oracle HTTP Serverログの管理」を参照してください。

C.7 リモート・ホストでのOHSインスタンスの回復

リモート・ホスト(管理サーバーを持たず、管理対象サーバーのみを持つホスト)にインストールされているOracle HTTP Serverインスタンスを回復する必要がある場合、このシナリオでは、pack.shとunpack.shが動作しないので、tarとuntarを使用する必要があります。

C.8 Oracle HTTP Serverのパフォーマンスの問題

次に、Oracle HTTP Serverの実行時に発生する可能性があるフォーマンスの問題とその解決策を示します。

- ネットワーク・ファイル・システムに置かれる特別なランタイム・ファイル

- ネットワーク・ファイル・システムでのUNIXソケット

- 低速なファイル・システムに置かれたDocumentRoot

C.8.1 ネットワーク・ファイル・システムに置かれる特別なランタイム・ファイル

Oracle HTTP Serverは内部処理にロック(つまりロック・ファイル)を使用します。これらのファイルはロックが作成されると動的に作成され、ロックが取得または解放されるたびにアクセスされます。これらのファイルが低速なファイル・システム(たとえばネットワーク・ファイル・システム)に置かれると、サーバーのパフォーマンスが低下する場合があります。この問題を回避するには:

- Linuxの場合

1. httpd.confで、AcceptMutex fcntlをAcceptMutex sysvsemに変更します(2箇所)。

2. httpd.confで、LockFileディレクティブをコメントアウトします(3か所)。

- Solarisの場合

1. httpd.confで、AcceptMutex fcntlをAcceptMutex pthreadに変更します(2箇所)。

2. httpd.confで、LockFileディレクティブをコメントアウトします(3か所)。

- その他のUNIXプラットフォーム
httpd.confで、ローカル・ファイルシステムを示すようにLockFileディレクティブを変更します(3箇所)。

C.8.2 ネットワーク・ファイル・システムでのUNIXソケット

mod_cgidとmod_fastcgiはデフォルトでは有効になっていません。有効な場合、これらもモジュールはUNIXソケットを内部で使用します。UNIXソケットが低速なファイル・システム(たとえばネットワーク・ファイル・システム)に置かれると、大幅なパフォーマンスの低下が発生することがあります。次のディレクティブを設定して、この問題を回避できます。

- mod_cgidが有効な場合は、ScriptSockディレクティブを使用してmod_cgidのUNIXソケットをローカル・ファイルシステムに配置します。

- mod_fastcgi有効な場合は、FastCgiIpcDirディレクティブを使用してmod_fastcgiのUNIXソケットをローカル・ファイルシステムに配置します。

C.8.3 低速なファイル・システムに置かれたDocumentRoot

mod_wl_ohsを使用してリクエストをバックエンドのWLSサーバー/クラスタにルーティングし、DocumentRootが低速なファイル・システム(ネットワーク・ファイル・システムなど)に置かれている場合は、バックエンドのサーバーにルーティングされるすべてのリクエストでパフォーマンスの問題が発生することがあります。これは、SetHandler weblogic-handlerではなく、WLSRequestをONに設定することで解決できます。

C.9 DMSの共有メモリーの不足

一部の極端な構成では、OHSのエラー・ログに次のメッセージが表示されます。

dms_fail_shm_expansion: out of DMS shared memory in pid XXX, disabling DMS; increase DMSThreadSharedMem directive from YYY

これは、OHS DMSに必要な共有メモリーの誤った計算によるものです。これは、DMSThreadSharedMemをデフォルトの350より大きい値に設定することで解決できます。問題が解決するまで継続してDMSThreadSharedMemを50%ずつ高く設定します。

数百から数千もの多くの仮想ホストを持つ構成で、前述の回避策で解決できない場合は、かわりに環境変数OHS_DMS_BLOCKSIZEを必要な値に設定できます。

D 構成ファイル

Oracle HTTP Serverのデフォルトの構成には、次の各項で説明するファイルが含まれています。

- D.1項「httpd.conf」

- D.2項「ssl.conf」

- D.3項「admin.conf」

- D.4項「mod_wl_ohs.conf」

- D.5項「moduleconf/*.conf」

- D.6項「disabled/*.conf」

- D.7項「mime.types」

- D.8項「ohs.plugins.nodemanager.properties」

- D.9項「magic」

- D.10項「keystores/<wallet-directory>」

- D.11項「auditconfig.xml」

- D.12項「component-logs.xml」

- D.13項「component_events.xml」

- D.14項「その他の参照」

構成ファイルの詳細は、1.6項「構成ファイルの理解」を参照してください。

D.1 httpd.conf

説明

トップレベルのWebサーバー構成ファイル

形式

Apache HTTP Serverの.confファイル形式

構成済の主な機能

非SSLリスニング・ソケットなど多数

D.2 ssl.conf

説明

SSL用のWebサーバー構成ファイル

形式

Apache HTTP Serverの.confファイル形式

構成済の主な機能

mod_ossl

D.3 admin.conf

説明

管理ポート用のWebサーバー構成ファイル

形式

Apache HTTP Serverの.confファイル形式

構成済の主な機能

mod_dms、ノード・マネージャとの通信に使用される管理ポート

注意:

カスタマによる構成を想定しているのはリスニング・ポートとローカル・アドレスのみです。

D.4 mod_wl_ohs.conf

説明

WebLogicプラグイン用のWebサーバー構成ファイル

形式

Apache HTTP Serverの.confファイル形式

構成済の主な機能

WebLogicプラグイン(mod_wl_ohs)

D.5 moduleconf/*.conf

説明

オプションで、mod_plsqlなどの特定の機能用に有効化されているWebサーバー構成ファイル

形式

Apache HTTP Serverの.confファイル形式

構成済の主な機能

デフォルト: mod_plsql

注意:

.confファイルを無効化にするには、moduleconf/からdisabled/に移動してください。

D.6 disabled/*.conf

説明

オプションで、mod_plsqlなどの特定の機能用に無効化されているWebサーバー構成ファイル

形式

Apache HTTP Serverの.confファイル形式

構成済の主な機能

デフォルト: mod_perl、mod_fastcgi (.confファイルがmoduleconf/に移動されている場合)

注意:

disabledディレクトリ内の.confファイルを有効化にするには、moduleconf/からdisabled/に移動してください。

D.7 mime.types

説明

mod_mime用のWebサーバー構成ファイル

形式

mod_mimeファイル形式

構成済の主な機能

mod_mimeで使用されるMIMEタイプ

D.8 ohs.plugins.nodemanager.properties

説明

Oracle HTTP Serverノード・マネージャ・プラグイン用の構成ファイル

形式

Javaプロパティのファイル形式

構成済の主な機能

Oracle HTTP Serverノード・マネージャ・プラグイン

D.9 magic

説明

オプションで、mod_mime_magic用に無効化されているWebサーバー構成ファイル

形式

mod_mime_magicのファイル形式

構成済の主な機能

mod_mime_magicで使用されるファイルの内容のパターン

D.10 keystores/<wallet-directory>

名前の例: keystores/default

の説明" width="100%">

説明

Oracleウォレット

形式

Oracleウォレットの形式

構成済の主な機能

SSL/TLS通信用のOracleウォレット

D.11 auditconfig.xml

説明

OHSの監査およびロギングの構成

形式

FMW監査フレームワークの監査構成のXML形式

構成済の主な機能

Oracle HTTP Server操作の監査を行うFMW監査フレームワーク

D.12 component-logs.xml

説明

ログ収集用のOHSログ・ファイルの構成

形式

FMWログ・ファイル構成のXML形式

構成済の主な機能

ログの収集

D.13 component_events.xml

説明

OHS監査イベント定義の静的な構成

形式

FMW監査フレームワーク・コンポーネント・イベントのXML形式

構成済の主な機能

FMW監査フレームワーク

注意:

この構成ファイルはカスタマによる構成を想定していません。

D.14 その他の参照

追加情報については、次のドキュメントを参照してください。

- Apache HTTP Serverの.confファイル形式
http://httpd.apache.org/docs/2.2/configuring.html

- mod_mimeファイル形式
http://httpd.apache.org/docs/2.2/mod/mod_mime.html

- mod_mime_magicファイル形式
http://httpd.apache.org/docs/2.2/mod/mod_mime_magic.html

E プロパティ・ファイル

この付録では、Oracle HTTP Serverで使用されるプロパティ・ファイルについて説明します。該当するファイルは次のとおりです。

- E.1項「ohs_admin.properties」

- E.2項「ohs_nm.properties」

- E.3項「ohs.plugins.nodemanager.properties」

E.1 ohs_admin.properties

ohs_admin.propertiesファイルは、Oracle HTTP Server管理サーバーのMBeansを構成するために使用されるドメイン・ファイルごとのファイルです。このファイルは手動で編集する必要があり、変更を有効にするために、管理サーバーを再起動する必要があります。

ファイル・パス: DOMAIN_HOME/config/fmwconfig/components/OHS/ohs_admin.properties

このファイルの編集可能なプロパティを次に示します。

プロパティ

説明

LogLevel

OHSノード・マネージャ・プラグインのログ・レベル。

許容値:

- SEVERE(最高値)

- WARNING

- INFO

- CONFIG

- FINE

- FINER

- FINEST(最低値)

デフォルト: INFO

E.2 ohs_nm.properties

ohs_nm.propertiesファイルは、Oracle HTTP Serverのノード・マネージャのプラグインを構成するために使用されるドメイン・ファイルごとのファイルです。このファイルは手動で編集する必要があり、変更を有効にするためには、ノード・マネージャを再起動する必要があります。

ファイル・パス: DOMAIN_HOME/config/fmwconfig/components/OHS/ohs_nm.properties

プロパティ

説明

LogLevel

OHSの必要性の低いプラグインのログ・レベル。

許容値:

- SEVERE(最高値)

- WARNING

- INFO

- CONFIG

- FINE

- FINER

- FINEST(最低値)

デフォルト: INFO

E.3 ohs.plugins.nodemanager.properties

ohs.plugins.nodemanager.propertiesファイルは、構成済のOracle HTTP Serverごとに存在し、OHSプロセス管理用の構成済のパラメータを含んでいます。このファイルは手動で編集され、ランタイム領域に伝搬される必要があります。

ファイル・パス: DOMAIN_HOME/config/fmwconfig/components/OHS/ohs1/ohs.plugins.nodemanager.properties

E.3.1 クロスプラットフォーム・プロパティ

次の表では、クロスプラットフォーム・プロパティについて説明します。

プロパティ

説明

config-file

初期Oracle HTTP Server構成ファイルのベースのファイル名。

config-fileには、インスタンスの構成ディレクトリ内の任意の有効な.confファイルを指定できます。

注意: 指定した.confファイルには、デフォルトのhttpd.confと同じ方法でadmin.confが含まれている必要があります。

デフォルト: httpd.conf

command-line

httpdの呼出しに追加される引数。

command-lineには、任意の有効なhttpdコマンドライン・パラメータを指定できます。

注意: これらは、通常の起動、停止および再起動のパラメータと競合することはできません。このプロパティには-Dと記号を使用できます。

デフォルト: なし

start-timeout

Oracle HTTP Serverが起動および初期化するのを待機する最大時間(秒数)。

start-timeoutには、5から3600の任意の数値を指定できます。

デフォルト: 120

stop-timeout

Oracle HTTP Serverが終了するのを待機する最大時間(秒数)。

stop-timeoutには、5から3600の任意の数値を指定できます。

デフォルト: 60

restart-timeout

Oracle HTTP Serverが再起動するのを待機する最大秒数。

restart-timeoutには5から3600の任意の数値を指定できます。

デフォルト: 180

ping-interval

Oracle HTTP Serverへのノード・マネージャの1回のヘルス・チェックのpingの完了から次回の開始までの秒数。値を0にするとpingが無効になります。

ping-intervalには、0から3600の任意の数値を指定できます。

デフォルト: 30

ping-timeout

Oracle HTTP Serverのヘルス・チェックのpingが完了するのを待機する最大秒数。

ping-tmeoutには、5から3600の任意の数値を指定できます。

デフォルト: 60

例:

config-file = httpd.conf
command-line = -DSYMBOL
start-timeout = 120
stop-timeout = 60
restart-timeout = 180
ping-interval = 30
ping-timeout = 60

E.3.2 環境変数の構成プロパティ

環境プロパティを使用して、OHSサーバーのその他の環境変数を指定する場合があります。

環境プロパティの構文を次に示します。

environment[.append][.<order>].<name> = <value>

ここで:

- オプションの.appendは、<name>の既存の値に新しい<value>を追加します。<name>が定義されていない場合は、<value>が新しい値になります。

- オプションの.<order>値は、環境変数内でこの定義の設定の順位を設定します(デフォルトは0)。順位によって、構成済の変数がプロセスの環境にいつ追加されるかが決まります(およびその評価された値)。低い順位の値を持つ環境プロパティは、高い順位の値を持つものより先に処理されます。順位の値は0以上の整数にする必要があります。

- <name>は、環境変数の名前で、文字またはアンダースコアで始まり、文字、数字またはアンダースコアで構成される必要があります。

- <value>は、環境変数<name>の値です。値は、自身も含め他の環境変数名を参照できます。
この値には、次の特別な参照が含まれている場合があります。

- パス・セパレータとして"$:"

- ファイル・セパレータとして"$/"

- '$'として"$$"

これらの特殊文字の例外を使用して、UNIX変数の構文の参照(「$name」または「${name}」)およびWindows変数の構文の参照(「%name%」)がサポートされています。

同じプロパティ・ファイル内の個々のプロパティの名前は一意である必要があるため(複数のプロパティを同じ名前で定義した場合の動作は未確定)、同じ環境変数<name>内に複数の定義を指定する場合は、プロパティ名を一意に保持するために.<order>フィールドを使用する必要があります。

次の環境変数は、Oracle HTTP Serverノード・マネージャ・プラグインによって設定されます。

- SHELL: ノード・マネージャ環境から、またはデフォルトで/bin/shに設定、またはWindowsの場合はcmd.exe

- ORA_NLS33: $ORACLE_HOME/nls/dataに設定

- NLS_LANG: ノード・マネージャの環境から、それ以外はデフォルト

- LANG: ノード・マネージャの環境から、それ以外はデフォルト

- LC_ALL: 設定されている場合は、ノード・マネージャの環境から

- TZ: 設定されている場合は、ノード・マネージャの環境から

- ORACLE_HOME: Oracleホームへのフルパス

- ORACLE_INSTANCE: ドメイン・ホームへのフルパス

- INSTANCE_NAME: ドメインの名前

- PRODUCT_HOME: OHSインストール: $ORACLE_HOME/ohsへのパス

- PATH: デフォルトで次のように設定されます。

- UNIXの場合:
$PRODUCT_HOME/bin:$ORACLE_HOME/bin:

$ORACLE_HOME/jdk/bin:/bin:/usr/bin:/usr/local/bin

- Windowsの場合:
%PRODUCT_HOME%\bin;%ORACLE_HOME%\bin;

%ORACLE_HOME%\jdk\bin;%SystemRoot%;%SystemRoot%\system32

これらの変数はUNIXのみに適用されます。

- TNS_ADMIN: ノード・マネージャの環境から、または$ORACLE_HOME/network/admin

- LD_LIBRARY_PATH: $PRODUCT_HOME/lib:$ORACLE_HOME/lib:$ORACLE_HOME/jdk/lib

- LIBPATH: LD_LIBARY_PATHと同じ

- X_LD_LIBRARY_PATH_64: LD_LIBRARY_PATHと同じ

これらの変数はWindowsのみに適用されます。

- ComSpec: デフォルトでシステムの%ComSpec%値に設定されます。

- SystemRoot: デフォルトでシステムの%SystemRoot%値に設定されます。

- SystemDrive: デフォルトでシステムの%SystemDrive%値に設定されます。

例

/oracleとしてインストールされたWeb層およびノード・マネージャの環境に設定された環境変数「MODX_RUNTIME=special」を使用するUNIX系のシステムでは、次の定義を使用します。

environment.MODX_RUNTIME = $MODX_RUNTIME
environment.1.MODX_ENV = Value A
environment.1.MODX_PATH = $PATH$:/opt/modx/bin
environment.2.MODX_ENV = ${MODX_ENV}, Value B
environment.append.2.MODX_PATH = /var/modx/bin
MODX_ENV = Value A, Value B
MODX_PATH = /oracle/ohs/bin:/oracle/bin:/oracle/jdk/bin:/bin:/usr/bin: /usr/local/bin:/opt/modx/bin:/var/modx/bin

前述の定義により、追加の環境変数がOracle HTTP Serverに設定されます。

MODX_RUNTIME = special

E.3.3 LinuxおよびUNIXで実行するOracle HTTP Serverインスタンス固有のプロパティ

これらは、Linuxまたはその他のUNIX系のシステムで実行するインスタンスの場合にのみ構成する必要があります。

プロパティ

説明

restart-mode

構成の変更がアクティブ化された場合に、Oracle HTTP Serverに対して正常な再起動を使用するか、または強制的な再起動を使用するかを決定します。

restart-modeには次の値を使用できます。

- restart

- graceful

デフォルト: graceful

stop-mode

Oracle HTTP Serverを停止する場合、正常な停止を使用するか、または強制的な停止を使用するかを決定します。

stop-modeには次の値を使用できます。

- stop

- graceful-stop

デフォルト: stop

mpm

Oracle HTTP Serverに対してプリフォークMPMを使用するか、またはワーカーMPMを使用するかを決定します。

mpmには次の値を使用できます。

- prefork

- worker

デフォルト: worker

allow-corefiles

OHSサーバーがクラッシュした場合に、コア・ファイルが書き込まれることを許可するために、無制限に設定するかどうかを決定します。

allow-corefilesには次の値を使用できます。

- yes

- no

デフォルト: no

例

restart-mode = graceful
stop-mode = stop
mpm = worker
allow-corefiles = no

F mod_securityの構成

mod_securityは、Oracle HTTP Serverに対する侵入攻撃を検出および防止するために使用できる、オープンソース・モジュールです。たとえば、mod_securityルールを指定して、すべての受信リクエストをスクリーニングし、ルールで指定された条件に一致するリクエストを拒否することができます。mod_securityモジュール(バージョン2.7.2)とその前提条件は、mod_security2.soという共有オブジェクトとして、ORACLE_HOME/ohs/modulesディレクトリ内のOracle HTTP Serverインストールに含まれています。

このバージョンのOHSは、mod_security (バージョン2.7.2)のディレクティブ、変数、アクション、フェーズおよび関数のみをサポートしています。このモジュールをより新しいバージョンに置き換えると、これらはサポートされなくなります。

この付録では、loadModule文を含む、mod_security.confファイルの使用可能な例(例E–1)について説明します。

注意:

次のことに注意してください。

- mod_securityは、以前のバージョンのOracle HTTP Serverで削除されましたが、バージョン11.1.1.7で再度搭載されました。このバージョンはオープン・ソースのmod_security 2.7.2で定められた推奨およびプラクティスに従っています。オープン・ソースのmod_security 2.7.2に適用可能なドキュメントのみが、モジュールのOracle HTTP Server実装にも適用できます。

- Oracle HTTP Server 11.1.1.7以上では、mod_securityはデフォルトではロードまたは構成されませんが、インストールに11.1.1.6からのパッチを適用している場合は、パッチの実装によってモジュールがロードおよび構成されている可能性があります。

- Oracleでは、Oracle提供のmod_securityのみがサポートされています。modsecurity.orgが提供するより新しいバージョンはサポートされません。

mod_securityの詳細は、次のmod_securityドキュメント・サイトを参照してください。

http://www.modsecurity.org/documentation/

この章の構成は、次のとおりです。

- F.1項「mod_securityの有効化」

- F.2項「mod_securityの構成」

F.1 mod_securityの有効化

Oracle HTTP Serverの実行時にmod_securityモジュールを使用できるようにするには、mod_security.confが次の行で開始されていることを確認します。

#Load module
LoadModule security2_module "${PRODUCT_HOME}/modules/mod_security2.so"

例F-1のmod_security.confの例を参照してください。

F.2 mod_securityの構成

mod_securityを構成する際には、Oracle HTTP Server構成ファイルで特定のディレクティブを指定する必要があります。IfModuleコンテナ内のhttpd.confファイルで直接ディレクティブを指定できます。別の方法として、別個のmod_security.confファイルにmod_securityディレクティブを指定し、Includeディレクティブを使用してhttpd.confにその.confファイルを含めることもできます。

デフォルトではmod_security.confは存在しないので、可能であれば例F-1のテンプレートを使用して、mod_security.confを作成する必要があります。テキスト・エディタにサンプルをコピーして貼り付け、ファイル全体を読んで、使用しているシステム用に編集します。次に、それを自身のmod_security.confとして保存し、httpd.confに含めます。この付録の手順に従ってmod_security.confを実装する場合は、LoadModuleディレクティブを使用してmod_security2.soを実行環境にロードします。

例F-1 mod_security.confの例

#Load module
LoadModule security2_module "${PRODUCT_HOME}/modules/mod_security2.so"
# -- Rule engine initialization ----------------------------------------------

# Enable ModSecurity, attaching it to every transaction. Use detection
# only to start with, because that minimises the chances of post-installation
# disruption.
#
SecRuleEngine DetectionOnly

# -- Request body handling ---------------------------------------------------

# Allow ModSecurity to access request bodies. If you don't, ModSecurity
# won't be able to see any POST parameters, which opens a large security
# hole for attackers to exploit.
#
SecRequestBodyAccess On

# Enable XML request body parser.
# Initiate XML Processor in case of xml content-type
#
SecRule REQUEST_HEADERS:Content-Type "text/xml" "id:'200000',phase:1,t:none,t:lowercase,pass,nolog,ctl:requestBodyProcessor=XML"

# Maximum request body size we will accept for buffering. If you support
# file uploads then the value given on the first line has to be as large
# as the largest file you are willing to accept. The second value refers
# to the size of data, with files excluded. You want to keep that value as
# low as practical.
#
SecRequestBodyLimit 13107200
SecRequestBodyNoFilesLimit 131072

# Store up to 128 KB of request body data in memory. When the multipart
# parser reachers this limit, it will start using your hard disk for
# storage. That is slow, but unavoidable.
#
SecRequestBodyInMemoryLimit 131072

# What do do if the request body size is above our configured limit.
# Keep in mind that this setting will automatically be set to ProcessPartial
# when SecRuleEngine is set to DetectionOnly mode in order to minimize
# disruptions when initially deploying ModSecurity.
#
SecRequestBodyLimitAction Reject

# Verify that we've correctly processed the request body.
# As a rule of thumb, when failing to process a request body
# you should reject the request (when deployed in blocking mode)
# or log a high-severity alert (when deployed in detection-only mode).
#
SecRule REQBODY_ERROR "!@eq 0" \
"id:'200001', phase:2,t:none,log,deny,status:400,msg:'Failed to parse request
body.',logdata:'%{reqbody_error_msg}',severity:2"

# By default be strict with what we accept in the multipart/form-data
# request body. If the rule below proves to be too strict for your
# environment consider changing it to detection-only. You are encouraged
# _not_ to remove it altogether.
#
SecRule MULTIPART_STRICT_ERROR "!@eq 0" \
"id:'200002',phase:2,t:none,log,deny,status:44, \
msg:'Multipart request body failed strict validation: \
PE %{REQBODY_PROCESSOR_ERROR}, \
BQ %{MULTIPART_BOUNDARY_QUOTED}, \
BW %{MULTIPART_BOUNDARY_WHITESPACE}, \
DB %{MULTIPART_DATA_BEFORE}, \
DA %{MULTIPART_DATA_AFTER}, \
HF %{MULTIPART_HEADER_FOLDING}, \
LF %{MULTIPART_LF_LINE}, \
SM %{MULTIPART_MISSING_SEMICOLON}, \
IQ %{MULTIPART_INVALID_QUOTING}, \
IP %{MULTIPART_INVALID_PART}, \
IH %{MULTIPART_INVALID_HEADER_FOLDING}, \
FL %{MULTIPART_FILE_LIMIT_EXCEEDED}'"

# Did we see anything that might be a boundary?
#
SecRule MULTIPART_UNMATCHED_BOUNDARY "!@eq 0" \
"id:'200003',phase:2,t:none,log,deny,status:44,msg:'Multipart parser detected a possible unmatched boundary.'"

# PCRE Tuning
# We want to avoid a potential RegEx DoS condition
#
SecPcreMatchLimit 1000
SecPcreMatchLimitRecursion 1000

# Some internal errors will set flags in TX and we will need to look for these.
# All of these are prefixed with "MSC_".  The following flags currently exist:
#
# MSC_PCRE_LIMITS_EXCEEDED: PCRE match limits were exceeded.
#
SecRule TX:/^MSC_/ "!@streq 0" \
"id:'200004',phase:2,t:none,deny,msg:'ModSecurity internal error flagged: %{MATCHED_VAR_NAME}'"

# -- Response body handling --------------------------------------------------

# Allow ModSecurity to access response bodies.
# You should have this directive enabled in order to identify errors
# and data leakage issues.
#
# Do keep in mind that enabling this directive does increases both
# memory consumption and response latency.
#
SecResponseBodyAccess On

# Which response MIME types do you want to inspect? You should adjust the
# configuration below to catch documents but avoid static files
# (e.g., images and archives).
#
SecResponseBodyMimeType text/plain text/html text/xml

# Buffer response bodies of up to 512 KB in length.
SecResponseBodyLimit 524288

# What happens when we encounter a response body larger than the configured
# limit? By default, we process what we have and let the rest through.
# That's somewhat less secure, but does not break any legitimate pages.
#
SecResponseBodyLimitAction ProcessPartial

# -- Filesystem configuration ------------------------------------------------

# The location where ModSecurity stores temporary files (for example, when
# it needs to handle a file upload that is larger than the configured limit).
#
# This default setting is chosen due to all systems have /tmp available however,
# this is less than ideal. It is recommended that you specify a location that's private.
#
SecTmpDir /tmp/

# The location where ModSecurity will keep its persistent data.  This default setting
# is chosen due to all systems have /tmp available however, it
# too should be updated to a place that other users can't access.
#
SecDataDir /tmp/

# -- File uploads handling configuration -------------------------------------

# The location where ModSecurity stores intercepted uploaded files. This
# location must be private to ModSecurity. You don't want other users on
# the server to access the files, do you?
#
#SecUploadDir /opt/modsecurity/var/upload/

# By default, only keep the files that were determined to be unusual
# in some way (by an external inspection script). For this to work you
# will also need at least one file inspection rule.
#
#SecUploadKeepFiles RelevantOnly

# Uploaded files are by default created with permissions that do not allow
# any other user to access them. You may need to relax that if you want to
# interface ModSecurity to an external program (e.g., an anti-virus).
#
#SecUploadFileMode 0600

# -- Debug log configuration -------------------------------------------------

# The default debug log configuration is to duplicate the error, warning
# and notice messages from the error log.
#
#SecDebugLog /opt/modsecurity/var/log/debug.log
#SecDebugLogLevel 3

# -- Audit log configuration -------------------------------------------------

# Log the transactions that are marked by a rule, as well as those that
# trigger a server error (determined by a 5xx or 4xx, excluding 404,
# level response status codes).
#
SecAuditEngine RelevantOnly
SecAuditLogRelevantStatus "^(?:5|4(?!04))"

# Log everything we know about a transaction.
SecAuditLogParts ABIJDEFHZ

# Use a single file for logging. This is much easier to look at, but
# assumes that you will use the audit log only ocassionally.
#
SecAuditLogType Serial
SecAuditLog "${ORACLE_INSTANCE}/servers/${COMPONENT_NAME}/logs/modsec_audit.log"

# Specify the path for concurrent audit logging.
SecAuditLogStorageDir "${ORACLE_INSTANCE}/servers/${COMPONENT_NAME}/logs"
#Simple test
SecRule ARGS "\.\./" "t:normalisePathWin,id:99999,severity:4,msg:'Drive Access'"

# -- Miscellaneous -----------------------------------------------------------

# Use the most commonly used application/x-www-form-urlencoded parameter
# separator. There's probably only one application somewhere that uses
# something else so don't expect to change this value.
#
SecArgumentSeparator &

# Settle on version 0 (zero) cookies, as that is what most applications
# use. Using an incorrect cookie version may open your installation to
# evasion attacks (against the rules that examine named cookies).
#
SecCookieFormat 0

# Specify your Unicode Code Point.
# This mapping is used by the t:urlDecodeUni transformation function
# to properly map encoded data to your language. Properly setting
# these directives helps to reduce false positives and negatives.
#
#SecUnicodeCodePage 20127
#SecUnicodeMapFile unicode.mapping

G OHSモジュール・ディレクティブ

この付録では、オラクル社が開発したOHSによってサポートされているモジュールで使用できるディレクティブについて説明します。これらの項目が含まれます。

- G.1項「mod_certheaders」

- G.2項「mod_ossl」

- G.3項「mod_plsql」

G.1 mod_certheaders

mod_certheadersには次のディレクティブを使用できます。

- AddCertHeader

- SimulateHttps

G.1.1 AddCertHeader

CGI環境変数に変換する必要があるヘッダーを指定します。これは、AddCertHeaderディレクティブを使用して実行できます。このディレクティブは単一の引数を取ります。この引数は、受信リクエストのHTTPヘッダーから移入する必要があるCGI環境変数です。たとえば、SSL_CLIENT_CERT CGI環境変数を移入します。

カテゴリ

値

構文

AddCertHeader environment_variable

例

AddCertHeader SSL_CLIENT_CERT

デフォルト

なし

G.1.2 SimulateHttps

mod_certheadersを使用すると、特定のリクエストがHTTP経由で受信された場合でも、HTTPS経由で受信されたかのようにそれらのリクエストを扱うように、Oracle HTTP Serverに指示することができます。これは、Oracle HTTP Serverがリバース・プロキシまたはロード・バランサのフロントエンドになっている場合に役立ちます。リバース・プロキシまたはロード・バランサは、SSLリクエストの終端点の機能を果たし、HTTPS経由でOracle HTTP Serverにリクエストを転送します。

カテゴリ

値

構文

SimulateHttps on|off

例

SimulateHttps on

デフォルト

off

G.2 mod_ossl

Oracle HTTP Serverに対してSSLを構成するには、使用するmod_osslのディレクティブをhttpd.confファイルに入力します。

この項で説明するディレクティブは、次のとおりです。

- SSLAccelerator

- SSLCARevocationFile

- SSLCARevocationPath

- SSLCipherSuite

- SSLEngine

- SSLFIPS

- SSLInsecureRenegotiation

- SSLMutex

- SSLNZTraceLogLevel

- SSLOptions

- SSLPassPhraseDialog

- SSLProtocol

- SSLProxyCipherSuite

- SSLProxyEngine

- SSLProxyProtocol

- SSLProxyWallet

- SSLRequire

- SSLRequireSSL

- SSLSessionCache

- SSLSessionCacheTimeout

- SSLVerifyClient

- SSLWallet

G.2.1 SSLAccelerator

SSLアクセラレータが使用されるかどうかを指定します。現在サポートされているのは、nFastカードのみです。

カテゴリ

値

構文

SSLAccelerator yes|no

例

SSLAccelerator yes

デフォルト

SSLAccelerator no

注意:

SSLAcceleratorディレクティブは非推奨になりました。ウォレットを使用したSSLアクセラレーション・サポートの有効化の詳細は、Oracle Advanced Security管理者ガイド(http://www.oracle.com/technology/documentation)を参照してください。

G.2.2 SSLCARevocationFile

証明書を発行したCA(認証局)からの証明書失効リスト(CRL)をまとめるファイルを指定します。このリストは、クライアント認証に使用されます。このファイルは、PEMでエンコードされた様々なCRLファイルを優先順位の順に連結したものです。このディレクティブは、SSLCARevocationPathの代替または補助用に使用できます。

カテゴリ

値

構文

SSLCARevocationFile file_name

例

SSLCARevocationFile ${ORACLE_INSTANCE}/config/fmwconfig/components/${COMPONENT_TYPE}/instances/${COMPONENT_NAME}/keystores/crl/ca_bundle.cr

デフォルト

なし

G.2.3 SSLCARevocationPath

PEMでエンコードされている証明書失効リスト(CRL)が格納されるディレクトリを指定します。CRLは、証明書の発行元のCA(認証局)から届きます。CRLのいずれかに記載されている証明書を使用してクライアントが自身を認証しようとすると、証明書は取り消され、そのクライアントはサーバーに対して自身を認証できなくなります。

カテゴリ

値

構文

SSLCARevocationPath path/to/CRL_directory/

例

SSLCARevocationPath ${ORACLE_INSTANCE}/config/fmwconfig/components/${COMPONENT_TYPE}/instances/${COMPONENT_NAME}/keystores/crl

デフォルト

なし

G.2.4 SSLCipherSuite

クライアントがSSLハンドシェイク時に使用できるSSL暗号スイートを指定します。このディレクティブでは、コロンで区切られた暗号指定文字列を使用して暗号スイートを識別します。表11-2は、必要な暗号スイートを記述するためにこの文字列で使用できるタグを示しています。SSLCipherSuiteには次の値を使用できます。

- none: リストに暗号を追加します。

- +: リストに暗号を追加し、リスト内の正しい位置に配置します。

- -: リストから暗号を削除します(後で追加できます)。

- !: リストから暗号を永続的に削除します。

タグは、暗号指定文字列を構成する接頭辞と結合されます。表G-1に、暗号スイートのタグを示します。

カテゴリ

値

例

SSLCipherSuite ALL:!MD5

この例では、MD5強度暗号を除くすべての暗号が指定されています。

構文

SSLCipherSuite cipher-spec

デフォルト

ALL:!ADH:+HIGH:+MEDIUM:+LOW

表G-1 SSL暗号スイートのタグ

機能

タグ

意味

鍵の交換

kRSA

RSA鍵の交換

鍵の交換

kDHr

RSA鍵を使用したDiffie-Hellman鍵の交換

認証

aNULL

認証なし

認証

aRSA

RSA認証

認証

aDH

Diffie-Hellman認証

暗号化

eNULL

暗号化なし

暗号化

DES

DESエンコード

暗号化

3DES

Triple DESエンコード

暗号化

RC4

RC4エンコード

暗号化

ECC

楕円曲線暗号エンコード

データの整合性

MD5

MD5ハッシュ関数

データの整合性

SHA

SHAハッシュ関数

データの整合性

SHA256

SHA256ハッシュ関数

データの整合性

SHA384

SHA384ハッシュ関数

別名

SSLv3

すべてのSSL V3.0暗号

別名

TLSv1.1

すべてのTLS V1.1暗号

別名

TLSv1.2

すべてのTLS V1.2暗号

別名

LOW

すべての低強度暗号(エクスポートおよびシングルDES)

別名

MEDIUM

128ビット暗号化を使用したすべての暗号

別名

HIGH

Triple-DESを使用したすべての暗号

別名

AES

AES暗号化を使用したすべての暗号

別名

RSA

RSA鍵交換を使用したすべての暗号

別名

DH

Diffie-Hellman鍵交換を使用したすべての暗号

G-2に、Oracle Advanced Security 12.1.2でサポートされている暗号スイートを示します。

表G-2 Oracle Advanced Security 12.1.2でサポートされている暗号スイート

暗号スイート

認証

暗号化

データの整合性

SSL_RSA_WITH_RC4_128_MD5

RSA

RC4 (128)

MD5

SSL_RSA_WITH_RC4_128_SHA

RSA

RC4 (128)

SHA

SSL_RSA_WITH_3DES_EDE_CBC_SHA

RSA

3DES (168)

SHA

SSL_RSA_WITH_AES_128_CBC_SHA

RSA

AES (128)

SHA

SSL_RSA_WITH_AES_256_CBC_SHA

RSA

AES (256)

SHA

RSA_WITH_AES_128_CBC_SHA256

RSA

AES (128)

SHA256

RSA_WITH_AES_256_CBC_SHA256

RSA

AES (256)

SHA256

RSA_WITH_AES_128_GCM_SHA256

RSA

AES (128)

SHA256

RSA_WITH_AES_256_GCM_SHA384

RSA

AES (256)

SHA384

ECDHE_ECDSA_WITH_AES_128_CBC_SHA

RSA

AES (128)

SHA

ECDHE_ECDSA_WITH_AES_256_CBC_SHA

RSA

AES (256)

SHA

ECDHE_ECDSA_WITH_AES_128_CBC_SHA256

RSA

AES (128)

SHA256

ECDHE_ECDSA_WITH_AES_256_CBC_SHA384

RSA

AES (256)

SHA384

ECDHE_ECDSA_WITH_AES_128_GCM_SHA256

RSA

AES (128)

SHA256

ECDHE_ECDSA_WITH_AES_256_GCM_SHA384

RSA

AES (256)

SHA384

G.2.5 SSLEngine

SSLプロトコル・エンジンの使用を切り替えます。通常は<VirtualHost>セクションの中で使用し、特定の仮想ホストに対してSSLを有効にします。デフォルトでは、SSLプロトコル・エンジンは、メイン・サーバーとすべての構成済仮想ホストの両方で無効にされています。例11–1は、SSLEngineディレクティブの使用例です。

カテゴリ

値

構文

SSLEngine on|off

例

SSLEngine on

デフォルト

off

G.2.6 SSLFIPS

このディレクティブは、SSLライブラリのFIPS_modeフラグの使用方法を切り替えます。これは、グローバル・サーバー・コンテキスト内に設定される必要があり、競合する設定(SSLFIPS offが続くSSLFIPS onなど)があると構成できません。このモードはすべてのSSLライブラリ操作に適用されます。

カテゴリ

値

構文

SSLFIPS ON | OFF

例

SSLFIPS ON

デフォルト

Off

SSLFIPSの変更を構成する場合は、SSLFIPS on/offディレクティブがssl.conf内でグローバルに設定されている必要があります。仮想レベルの構成はSSLFIPSディレクティブ内で無効になっています。したがって、仮想ディレクティブにSSLFIPSを設定するとエラーになります。

SSLFIPSモードでサポートされている暗号スイートは次のとおりです。

- SSL_RSA_WITH_3DES_EDE_CBC_SHA

- SSL_RSA_WITH_AES_128_CBC_SHA

- SSL_RSA_WITH_AES_256_CBC_SHA

- RSA_WITH_AES_128_CBC_SHA256

- RSA_WITH_AES_256_CBC_SHA256

- RSA_WITH_AES_256_GCM_SHA384

- ECDHE_ECDSA_WITH_AES_128_CBC_SHA

- ECDHE_ECDSA_WITH_AES_256_CBC_SHA

- ECDHE_ECDSA_WITH_AES_128_CBC_SHA256

- ECDHE_ECDSA_WITH_AES_256_CBC_SHA384

- ECDHE_ECDSA_WITH_AES_128_GCM_SHA256

- ECDHE_ECDSA_WITH_AES_256_GCM_SHA384

これらの暗号スイートの実装方法の手順は、第G.2.4項「SSLCipherSuite」を参照してください。

G.2.7 SSLInsecureRenegotiation

最初は指定されていたように、SSLプロトコルとTLSプロトコルのすべてのバージョン(TLS/1.2を含めて、これまで)は、ネゴシエーション中の中間者攻撃(CVE-2009-3555)に対して脆弱でした。この脆弱性によって、攻撃者は、Webサーバーで表示される任意の平文をHTTPリクエストの前に付け加えることができます。クライアントとサーバーの両方でサポートされている場合は、この脆弱性を修正するプロトコルの拡張が開発されています。デフォルトでは、セキュアでない再ネゴシエーションは無効化されています。NZ (ssl.renegotiate = "compatible")。このモードによって、脆弱なピアの接続が可能になりますが、再ネゴシエーションはRI/SCSVをサポートしているピアとのみ許可されます。再ネゴシエーションを有効化するには、ssl.confファイルでSSLInsecureRenegotiationを設定します。このモードはNZ (ssl.renegotiate = "insecure")と同等です。このモードによって、脆弱なピアの接続が可能になりますが、再ネゴシエーションはRI/SCSVをサポートしているピアとのみ許可されます。

カテゴリ

値

構文

SSLInsecureRenegotiation ON | OFF

例

SSLInsecureRenegotiation ON

デフォルト

Off

SSLInsecureRenegotiationを構成するには、ssl.confファイルを編集して、SSLInsecureRenegotiation ON/OFFをグローバルまたは仮想的に設定し、セキュアでない再ネゴシエーションを有効(または無効)に設定します。

G.2.8 SSLMutex

Oracle HTTP Serverプロセス間で同期化する必要がある操作の、SSLエンジンによる相互排他を行うために使用するセマフォ(ロック)のタイプ。使用できる値は次のとおりです。

- none: mutexは使用されません。mutexによりSSLセッション・キャッシュへの書込みアクセスが同期化されるため、この設定はお薦めしません。mutexを構成しない場合、セッション・キャッシュが不整合になります。

- file:path/to/mutex: ロック用のファイルを使用します。ファイル名が確実に一意になるように、Oracle HTTP Serverの親プロセスのプロセスID (PID)が、ファイル名に追加されます。このファイル名の先頭にスラッシュ(/)がない場合は、ServerRootへの相対ファイル名とみなされます。この設定はWindowsでは使用できません。

- sem: 書込みの同期化にオペレーティング・システムのセマフォを使用します。UNIXではSys V IPCセマフォ、WindowsではWindows Mutexが使用されます。オペレーティング・システムがサポートしている場合は、これが最善の選択肢です。

カテゴリ

値

構文

SSLMutex none | file | sem

例

SSLMutex sem

デフォルト

なし

G.2.9 SSLNZTraceLogLevel

SSLNZTraceLogLevelは、NZライブラリのエラー・ログに記録されるメッセージの冗長性を調整します。特定のレベルを指定すると、それより上位レベルの重要度のメッセージもすべて報告されます。たとえば、SSLNZTraceLogLevel sslが設定されていると、error、warn、userおよびdebugのログ・レベルのメッセージも報告されます。

SSLNZTraceLogLevelでは次のログ・レベルが使用されます。

- none: NZトレースが無効

- fatal: 致命的なエラーが発生してシステムが使用できない状態

- error: エラー状態

- warn: 警告状態

- user: 正常ではあるが、重大な状態

- debug: デバッグ・レベルの状態

- ssl: SSLレベルのデバッグ

カテゴリ

値

構文

SSLNZTraceLogLevel none | fatal | error | warn | user | debug | ssl

例

SSLNZTraceLogLevel fatal

デフォルト

なし

G.2.10 SSLOptions

ディレクトリ単位で様々なランタイム・オプションを制御します。一般に、1つのディレクトリに複数のオプションが適用される場合は、最も包括的なオプションが適用されます(オプションはマージされません)。ただし、SSLOptionsディレクティブのすべてのオプションの前にプラス(+)またはマイナス(-)符号が付いている場合は、オプションがマージされます。プラスが前に付いているオプションは、現在有効なオプションに追加され、マイナスが前に付いているオプションは、現在有効なオプションから除外されます。

使用できる値は次のとおりです。

- StdEnvVars: SSLに関連するCGI/SSI環境変数の標準セットを作成します。抽出操作はCPU時間が長くかかること、また静的コンテンツを提供するときには一般に適用されないことから、これはデフォルトでは無効になっています。一般に、この値はCGI/SSIリクエストの場合にのみ有効にします。

- ExportCertData: 次の追加CGI/SSI変数を有効にします。
SSL_SERVER_CERT

SSL_CLIENT_CERT

SSL_CLIENT_CERT_CHAIN_n (ここでn= 0, 1, 2...)

これらの変数には、現在のHTTPS接続のサーバーおよびクライアント用にPrivacy Enhanced Mail (PEM)でエンコードされたX.509証明書が含まれています。CGIスクリプトではこれを使用して、より詳しい証明書チェックを行うことができます。クライアント証明書連鎖の他の証明書がすべて提供されます。このオプションを使用するとパフォーマンスに時間がかかるため、デフォルトではOffになっています。

SSL_CLIENT_CERT_CHAIN_n変数の順序は、次のようになります。SSL_CLIENT_CERT_CHAIN_0は、SSL_CLIENT_CERTを署名する中間的なCAです。SSL_CLIENT_CERT_CHAIN_1は、SSL_CLIENT_ROOT_CERTをルートCAとして、SSL_CLIENT_CERT_CHAIN_0などを署名する中間的なCAです。

- FakeBasicAuth: クライアントのX.509証明書の対象識別名をHTTP Basic認証のユーザー名に変換します。これは、標準のHTTPサーバー認証方式がアクセス制御に使用できることを意味します。ユーザーからはパスワードが取得されず、文字列passwordが置き換えられることに注意してください。

- StrictRequire: SSLRequireSSLまたはディレクティブに従ってアクセスを禁止する必要がある場合にアクセスを拒否します。StrictRequireを指定しないと、Satisfy anyディレクティブ設定がSSLRequireまたはSSLRequireSSLディレクティブをオーバーライドして、クライアントがホスト制約を渡した場合、または有効なユーザー名とパスワードを指定した場合に、アクセスが許可されてしまう可能性があります。
このように、SSLRequireSSLまたはSSLRequireをSSLOptions +StrictRequireと組み合せることで、mod_osslはあらゆる場合にSatisfy anyディレクティブをオーバーライドできます。

- CompatEnvVars: Apache SSL 1.x、mod_ssl 2.0.x、Sioux 1.0およびStronghold 2.xとの後方互換性のために、廃止された環境変数をエクスポートします。これは、既存のCGIスクリプトに対する互換性を提供するために使用します。

- OptRenegotiate: SSLのディレクティブがディレクトリ単位のコンテキストで使用されるときに、最適化されたSSL接続再ネゴシエーション処理を有効にします。

カテゴリ

値

構文

SSLOptions [+-] StdEnvVars | ExportCertData | FakeBasicAuth | StrictRequire | CompatEnvVars | OptRenegotiate

例

SSLOptions -StdEnvVars

デフォルト

なし

G.2.11 SSLPassPhraseDialog

ウォレット・アクセス用のパスフレーズ・ダイアログのタイプ。mod_osslでは、ウォレットにアクセスするために管理者にパスフレーズの入力が要求されます。使用できる値は次のとおりです。

- builtin: サーバー起動時に、mod_osslは各ウォレットのパスワードの入力を求めます。

- exec:path/to/program - サーバー起動時に、mod_osslは各ウォレット用に構成されている外部プログラムをコールします。このプログラムは、servername:portnumberと、RSAまたはDSAの2つの引数を使用して起動されます。

カテゴリ

値

構文

SSLPassPhraseDialog builtin | exec

例

SSLPassPhraseDialog exec:/usr/local/sbin/pfilter

デフォルト

builtin

G.2.12 SSLProtocol

mod_osslがサーバー環境を設定するときに使用するSSLプロトコルを指定しますクライアントは、指定されたプロトコルのいずれかでのみ接続できます。使用できる値は次のとおりです。

- SSLv3

- TLSv1

- TLSv1.1

- TLSv1.2

- All

カテゴリ

値

構文

SSLProtocol [+-] SSLv3 | TLSv1 | TLSv1.1 | TLSv1.2 | All

例

SSLProtocol +SSLv3

デフォルト

ALL

G.2.13 SSLProxyCipherSuite

プロキシがSSLハンドシェイク時に使用できるSSL暗号スイートを指定します。このディレクティブでは、コロンで区切られた暗号指定文字列を使用して暗号スイートを識別します。表11-2は、必要な暗号スイートを記述するためにこの文字列で使用できるタグを示しています。SSLCipherSuiteには次の値を使用できます。

- none: リストに暗号を追加します。

- +: リストに暗号を追加し、リスト内の正しい位置に配置します。

- -: リストから暗号を削除します(後で追加できます)。

- !: リストから暗号を永続的に削除します。

タグは、暗号指定文字列を構成する接頭辞と結合されます。表G-3に、暗号スイートのタグを示します。

カテゴリ

値

例

SSLProxyCipherSuite ALL:!MD5

この例では、MD5強度暗号を除くすべての暗号が指定されています。

構文

SSLProxyCipherSuite cipher-spec

デフォルト

ALL:!ADH:+HIGH:+MEDIUM:+LOW

表G-3 SSLProxy暗号スイートのタグ

機能

タグ

意味

鍵の交換

kRSA

RSA鍵の交換

鍵の交換

kDHr

RSA鍵を使用したDiffie-Hellman鍵の交換

認証

aNULL

認証なし

認証

aRSA

RSA認証

認証

aDH

Diffie-Hellman認証

暗号化

eNULL

暗号化なし

暗号化

DES

DESエンコード

暗号化

3DES

Triple DESエンコード

暗号化

RC4

RC4エンコード

暗号化

ECC

楕円曲線暗号エンコード

データの整合性

MD5

MD5ハッシュ関数

データの整合性

SHA

SHAハッシュ関数

データの整合性

SHA256

SHA256ハッシュ関数

データの整合性

SHA384

SHA384ハッシュ関数

別名

SSLv3

すべてのSSL V3.0暗号

別名

TLSv1.1

すべてのTLS V1.1暗号

別名

TLSv1.2

すべてのTLS V1.2暗号

別名

LOW

すべての低強度暗号(エクスポートおよびシングルDES)

別名

MEDIUM

128ビット暗号化を使用したすべての暗号

別名

HIGH

Triple-DESを使用したすべての暗号

別名

AES

AES暗号化を使用したすべての暗号

別名

RSA

RSA鍵交換を使用したすべての暗号

別名

DH

Diffie-Hellman鍵交換を使用したすべての暗号

G-4に、Oracle Advanced Security 12.1.2でサポートされている暗号スイートを示します。

表G-4 Oracle Advanced Security 12.1.2でサポートされている暗号スイート

暗号スイート

認証

暗号化

データの整合性

SSL_RSA_WITH_RC4_128_MD5

RSA

RC4 (128)

MD5

SSL_RSA_WITH_RC4_128_SHA

RSA

RC4 (128)

SHA

SSL_RSA_WITH_3DES_EDE_CBC_SHA

RSA

3DES (168)

SHA

SSL_RSA_WITH_AES_128_CBC_SHA

RSA

AES (128)

SHA

SSL_RSA_WITH_AES_256_CBC_SHA

RSA

AES (256)

SHA

RSA_WITH_AES_128_CBC_SHA256

RSA

AES (128)

SHA256

RSA_WITH_AES_256_CBC_SHA256

RSA

AES (256)

SHA256

RSA_WITH_AES_128_GCM_SHA256

RSA

AES (128)

SHA256

RSA_WITH_AES_256_GCM_SHA384

RSA

AES (256)

SHA384

ECDHE_ECDSA_WITH_AES_128_CBC_SHA

RSA

AES (128)

SHA

ECDHE_ECDSA_WITH_AES_256_CBC_SHA

RSA

AES (256)

SHA

ECDHE_ECDSA_WITH_AES_128_CBC_SHA256

RSA

AES (128)

SHA256

ECDHE_ECDSA_WITH_AES_256_CBC_SHA384

RSA

AES (256)

SHA384

ECDHE_ECDSA_WITH_AES_128_GCM_SHA256

RSA

AES (128)

SHA256

ECDHE_ECDSA_WITH_AES_256_GCM_SHA384

RSA

AES (256)

SHA384

G.2.14 SSLProxyEngine

プロキシのSSL/TLSプロトコル・エンジンを有効または無効にします。SSLProxyEngineは<VirtualHost>セクションの中で使用し、特定の仮想ホストでのプロキシの使用に対してSSL/TLSを有効にします。デフォルトでは、SSL/TLSプロトコル・エンジンは、メイン・サーバーとすべての構成済仮想ホストの両方でプロキシに対して無効になっています。

SSLProxyEngineは、(ProxyディレクティブまたはProxyRequestディレクティブを使用した)フォワード・プロキシとして動作する仮想ホストに含めることはできません。プロキシSSL/TLSリクエストに対してフォワード・プロキシ・サーバーを有効化する際に、SSLProxyEngineは必須ではありません。

カテゴリ

値

構文

SSLProxyEngine ON | OFF

例

SSLProxyEngine on

デフォルト

Disable

G.2.15 SSLProxyProtocol

mod_osslがサーバー環境でプロキシ接続を設定するときに使用するSSLプロトコルを指定します。プロキシは、指定されたプロトコルのいずれかでのみ接続できます。使用できる値は次のとおりです。

- SSLv3

- TLSv1

- TLSv1.1

- TLSv1.2

- All

カテゴリ

値

構文

SSLProxyProtocol [+-] SSLv3 | TLSv1 | TLSv1.1 | TLSv1.2 | All

例

SSLProxyProtocol +SSLv3

デフォルト

ALL

G.2.16 SSLProxyWallet

プロキシ接続が使用する必要のある、WRLを使用してウォレットの場所を指定(ファイルパスとして指定)します。

カテゴリ

値

構文

SSLProxyWallet file:path to wallet

例

SSLProxyWallet "${ORACLE_INSTANCE}/config/fmwconfig/components/${COMPONENT_TYPE}/instances/${COMPONENT_NAME}/keystores/proxy"

デフォルト

なし

G.2.17 SSLRequire

任意の複合ブール式がTRUEでないかぎり、アクセスを拒否します。

カテゴリ

値

構文

SSLRequire expression (「式の理解」を参照)

例

SSLRequire word ">=" word |word "ge" word

デフォルト

なし

式の理解

expressionは、次の構文と一致する必要があります(BNF構文表記として示してあります)。

expr ::= "true" | "false"
"!" expr
expr "&&" expr
expr "||" expr
"(" expr ")"

comp ::=word "==" word | word "eq" word
word "!=" word |word "ne" word
word "<" word |word "lt" word
word "<=" word |word "le" word
word ">" word |word "gt" word
word ">=" word |word "ge" word
word "=~" regex
word "!~" regex
wordlist ::= word
wordlist "," word

word ::= digit
cstring
variable
function

digit ::= [0-9]+

cstring ::= "..."

variable ::= "%{varname}"

表G-5と表G-6に標準変数とSSL変数を示します。これらの値はvarnameの有効値です。

function ::= funcname "(" funcargs ")"

funcnameには、次の関数を使用できます。

file(filename)

file関数は文字列引数(ファイル名)を1つ取り、そのファイルの内容に拡張します。これは、正規表現に照らしてファイルの内容を評価する場合に役立ちます。

表G-5には、SSLRequireのvarnameの標準変数を示します。

表G-5 SSLRequireのvarnameの標準変数

標準変数

標準変数

標準変数

HTTP_USER_AGENT

PATH_INFO

AUTH_TYPE

HTTP_REFERER

QUERY_STRING

SERVER_SOFTWARE

HTTP_COOKIE

REMOTE_HOST

API_VERSION

HTTP_FORWARDED

REMOTE_IDENT

TIME_YEAR

HTTP_HOST

IS_SUBREQ

TIME_MON

HTTP_PROXY_CONNECTION

DOCUMENT_ROOT

TIME_DAY

HTTP_ACCEPT

SERVER_ADMIN

TIME_HOUR

HTTP:headername

SERVER_NAME

TIME_MIN

THE_REQUEST

SERVER_PORT

TIME_SEC

REQUEST_METHOD

SERVER_PROTOCOL

TIME_WDAY

REQUEST_SCHEME

REMOTE_ADDR

TIME

REQUEST_URI

REMOTE_USER

ENV:variablename

REQUEST_FILENAME

表G-6には、SSLRequireのvarnameのSSL変数を示します。

表G-6 SSLRequireのvarnameのSSL変数

SSL変数

SSL変数

SSL変数

HTTPS

SSL_PROTOCOL

SSL_CIPHER_ALGKEYSIZE

SSL_CIPHER

SSL_CIPHER_EXPORT

SSL_VERSION_INTERFACE

SSL_CIPHER_USEKEYSIZE

SSL_VERSION_LIBRARY

SSL_SESSION_ID

SSL_CLIENT_V_END

SSL_CLIENT_M_SERIAL

SSL_CLIENT_V_START

SSL_CLIENT_S_DN_ST

SSL_CLIENT_S_DN

SSL_CLIENT_S_DN_C

SSL_CLIENT_S_DN_CN

SSL_CLIENT_S_DN_O

SSL_CLIENT_S_DN_OU

SSL_CLIENT_S_DN_G

SSL_CLIENT_S_DN_T

SSL_CLIENT_S_DN_I

SSL_CLIENT_S_DN_UID

SSL_CLIENT_S_DN_S

SSL_CLIENT_S_DN_D

SSL_CLIENT_I_DN_C

SSL_CLIENT_S_DN_Email

SSL_CLIENT_I_DN

SSL_CLIENT_I_DN_O

SSL_CLIENT_I_DN_ST

SSL_CLIENT_I_DN_L

SSL_CLIENT_I_DN_T

SSL_CLIENT_I_DN_OU

SSL_CLIENT_I_DN_CN

SSL_CLIENT_I_DN_S

SSL_CLIENT_I_DN_I

SSL_CLIENT_I_DN_G

SSL_CLIENT_I_DN_Email

SSL_CLIENT_I_DN_D

SSL_CLIENT_I_DN_UID

SSL_CLIENT_CERT

SSL_CLIENT_CERT_CHAIN_n

SSL_CLIENT_ROOT_CERT

SSL_CLIENT_VERIFY

SSL_CLIENT_M_VERSION

SSL_SERVER_M_VERSION

SSL_SERVER_V_START

SSL_SERVER_V_END

SSL_SERVER_M_SERIAL

SSL_SERVER_S_DN_C

SSL_SERVERT_S_DN_ST

SSL_SERVER_S_DN

SSL_SERVER_S_DN_OU

SSL_SERVER_S_DN_CN

SSL_SERVER_S_DN_O

SSL_SERVER_S_DN_I

SSL_SERVER_S_DN_G

SSL_SERVER_S_DN_T

SSL_SERVER_S_DN_D

SSL_SERVER_S_DN_UID

SSL_SERVER_S_DN_S

SSL_SERVER_I_DN

SSL_SERVER_I_DN_C

SSL_SERVER_S_DN_Email

SSL_SERVER_I_DN_L

SSL_SERVER_I_DN_O

SSL_SERVER_I_DN_ST

SSL_SERVER_I_DN_CN

SSSL_SERVER_I_DN_T

SSL_SERVER_I_DN_OU

SSL_SERVER_I_DN_G

SSL_SERVER_I_DN_I

G.2.18 SSLRequireSSL

SSLを使用していないクライアントに対してアクセスを拒否します。構成エラーにより、セキュリティがぜい弱になる可能性があるSSL対応の仮想ホストまたはディレクトリの完全保護に役立つディレクティブです。

カテゴリ

値

構文

SSLRequireSSL

例

SSLRequireSSL

デフォルト

なし

G.2.19 SSLSessionCache

グローバル・セッションまたはプロセス間セッションのセッション・キャッシュ・ストレージ・タイプを指定します。キャッシュは、リクエストのパラレル処理を高速化するオプションの方法を提供します。使用できる値は次のとおりです。

- none: グローバルまたはプロセス間セッション・キャッシュを無効にします。機能に対する影響はありませんが、パフォーマンスに大きな差が出ます。

- shmht:/path/to/datafile[bytes]: RAM内の共有メモリー・セグメントの中で、高パフォーマンス・ハッシュ表を使用します(bytesはおおよそのサイズを指定)。この表は、/path/to/datafileにより設定されます。このハッシュ表は、サーバー・プロセスのローカルSSLメモリー・キャッシュと同期化します。

- shmcb:/path/to/datafile[bytes]: 高パフォーマンスのShared Memory Cyclic Buffer (SHMCB)セッション・キャッシュを使用して、サーバー・プロセスのローカルSSLメモリー・キャッシュと同期化します。shmcbのパフォーマンスの方が、shmhtに比べて、すべての環境で均一です。

カテゴリ

値

構文

SSLSessionCache none | shmht: /path/to/datafile[bytes] | shmcb:/path/to/datafile[bytes]

例

SSLSessionCache "shmcb:${ORACLE_INSTANCE}/servers/${COMPONENT_NAME}/logs/ssl_scache(512000)"

デフォルト

SSLSessionCache none

G.2.20 SSLSessionCacheTimeout

セッション・キャッシュ内でSSLセッションの有効期限が満了になるまでの秒数を指定します。

カテゴリ

値

構文

SSLSessionCacheTimeout seconds

例

SSLSessionCacheTimeout 120

デフォルト

300

G.2.21 SSLVerifyClient

接続時にクライアントが証明書を提示する必要があるかどうかを指定します。使用できる値は次のとおりです。

- none: クライアント証明書は不要です。

- optional: クライアントは有効な証明書を提示できます。

- require: クライアントは有効な証明書を提示する必要があります。

カテゴリ

値

構文

SSLVerifyClient none | optional | require

例

SSLVerifyClient optional

デフォルト

なし

注意:

mod_sslに含まれているレベルoptional_no_ca(クライアントは有効な証明書を提示できるが、証明書が検証可能である必要はない)は、mod_osslではサポートされていません。

G.2.22 SSLWallet

WRLを使用してウォレットの場所を指定します。ファイルパスとして指定されます。

カテゴリ

値

構文

SSLWallet file:path to wallet

例

SSLWallet "${ORACLE_INSTANCE}/config/fmwconfig/components/${COMPONENT_TYPE}/instances/${COMPONENT_NAME}/keystores/default"

デフォルト

なし

G.3 mod_plsql

次の各項で、mod_plsql構成パラメータについて説明します。

- G.3.1項「plsql.conf」

- G.3.2項「dads.conf」

- G.3.3項「cache.conf」

G.3.1 plsql.conf

plsql.confファイルでは、次のパラメータを使用します。

- PlsqlDMSEnable

- PlsqlLogEnable

- PlsqlLogDirectory

- PlsqlIdleSessionCleanupInterval

G.3.1.1 PlsqlDMSEnable

mod_plsqlモジュールのDynamic Monitoring Service (DMS)を有効にします。

カテゴリ

値

構文

PlsqlDMSEnable On | Off

例

PlsqlDMSEnable On

デフォルト

On

G.3.1.2 PlsqlLogEnable

mod_plsqlモジュールのデバッグ・レベル・ログを有効にします。デバッグ・レベル・ログは、デバッグ専用に使用されます。

ロギングが有効な場合、Oracle HTTP Serverログ・ファイルは、通常、PlsqlCacheDirectory DOMAIN_HOME/servers/componentName/ディレクトリ内に作成されます。ただし、最終的な場所はPlsqlLogDirectory内に指定された場所によって決まります。

このパラメータは、Oracleサポート・サービスよりmod_plsqlモジュール問題のデバッグ指示がないかぎり、Offに設定しておきます。

mod_plsqlモジュールの内部処理の詳細を表示する場合は、このディレクティブをOnに設定します。これによって、mod_plsqlモジュールは処理されるすべてのリクエストのロギングを開始します。ログ・ファイルは、PlsqlLogDirectoryディレクティブで指定された場所に生成されます。

カテゴリ

値

構文

PlsqlLogEnable On | Off

例

PlsqlLogEnable Off

デフォルト

Off

G.3.1.3 PlsqlLogDirectory

デバッグ・レベル・ログが書き出されるディレクトリを指定します。

ロギングが有効なときにログ・ファイルが生成される場所のディレクトリ名を設定します。このディレクトリの場所について混乱が生じないように、絶対パスの使用をお薦めします。

UNIXでは、httpd子プロセスの所有者がこのディレクトリに対する書込み権限を持っている必要があります。

カテゴリ

値

構文

PlsqlLogDirectory directory

例

PlsqlLogDirectory "${ORACLE_INSTANCE}/servers/${COMPONENT_NAME}/logs"

デフォルト

なし

G.3.1.4 PlsqlIdleSessionCleanupInterval

アイドル・データベース・セッションがmod_plsqlモジュールによりクローズされてクリーンアップされるまでの時間(分数)を指定します。

このディレクティブは、mod_plsqlモジュール内でデータベース接続とセッションの接続プーリングとともに使用されます。セッションがある一定の期間使用されないと、そのセッションはクローズされて解放されます。これは、使用されていないセッションをクリーンアップし、データベース側でメモリーが解放されるようにするためです。

この時間を小さい値に設定すると、使用されていないデータベース・セッションのクリーンアップが高速になります。ただし、極端に小さい値に設定すると、mod_plsqlモジュール内の接続プーリングが提供するパフォーマンスに悪影響を及ぼすことがあります。

オープンされているデータベース・セッションの数が重要でない場合は、最大のパフォーマンスが得られるように、このパラメータの値を大きくすることができます。その場合、アクセス頻度が高く、セッション・クリーンアップ間隔に達することがないサイトについては、プーリングされたデータベース・セッションが確実に定期的にリサイクルされるように、DAD構成パラメータPlsqlMaxRequestsPerSessionを調整できます。

ほとんどのインストールでは、デフォルト値で十分です。

カテゴリ

値

構文

PlsqlIdleSessionCleanupInterval number

例

PlsqlIdleSessionCleanupInterval 10

デフォルト

15(分)

G.3.2 dads.conf

dads.confファイルには、PL/SQLのデータベース・アクセス・ディスクリプタの構成パラメータが含まれています。(ファイルに場所については表G-1を参照してください。)DADは、mod_plsqlモジュールがデータベース・サーバーに接続してHTTPリクエストを実行する方法を指定する値のセットです。

dads.confファイルでは、次のパラメータを使用します。

- PlsqlAfterProcedure

- PlsqlAlwaysDescribeProcedure

- PlsqlAuthenticationMode

- PlsqlBeforeProcedure

- PlsqlBindBucketLengths

- PlsqlBindBucketWidths

- PlsqlCGIEnvironmentList

- PlsqlConnectionTimeout

- PlsqlConnectionValidation

- PlsqlConnectionValidation

- PlsqlDatabaseConnectString

- PlsqlDatabasePassword

- PlsqlDatabaseUserName

- PlsqlDefaultPage

- PlsqlDocumentPath

- PlsqlDocumentProcedure

- PlsqlDocumentTablename

- PlsqlErrorStyle

- PlsqlExclusionList

- PlsqlFetchBufferSize

- PlsqlInfoLogging

- PlsqlMaxRequestsPerSession

- PlsqlNLSLanguage

- PlsqlPathAlias

- PlsqlPathAliasProcedure

- PlsqlRequestValidationFunction

- PlsqlSessionCookieName

- PlsqlSessionStateManagement

- PlsqlTransferMode

- PlsqlUploadAsLongRaw

G.3.2.1 PlsqlAfterProcedure

リクエストされたプロシージャのコール後に起動するプロシージャを指定します。これにより、リクエストされたプロシージャがコールされた後にフック・ポイントを置くことができます。これは、リクエストされたプロシージャ内の問題のデバッグ中に、SQLトレース/SQLプロファイルを実行する場合に役立ちます。また、各プロシージャの実行後に特定のコールを確実に行う必要がある場合にも役立ちます。

カテゴリ

値

構文

PlsqlAfterProcedure string

例

PlsqlAfterProcedure portal.mypkg.myafterproc

デフォルト

なし

注意:

このパラメータは、デバッグ目的にのみ使用してください。また、このパラメータを使用すると、SQLトレース/SQLプロファイルを停止できます。

G.3.2.2 PlsqlAlwaysDescribeProcedure

mod_plsqlモジュールでプロシージャを実行する前に記述する必要があるかどうかを指定します。このパラメータをOnに設定すると、mod_plsqlモジュールではプロシージャを起動する前に常に記述します。それ以外の場合は、mod_plsqlモジュールが内部的な経験則によりパラメータ・タイプを不正に解析した場合にのみ、プロシージャを記述します。

カテゴリ

値

構文

PlsqlAlwaysDescribeProcedure On | Off

例

PlsqlAlwaysDescribeProcedure On

デフォルト

Off

注意:

このパラメータは、デバッグ目的にのみ使用してください。

G.3.2.3 PlsqlAuthenticationMode

DAD経由でアクセスできるように、使用する認証モードを指定します。PlsqlAuthenticationModeに対して指定できる値は、Basic、SingleSignOn、GlobalOwa、CustomOwa、PerPackageOwaです。

カテゴリ

値

構文

PlsqlAuthenticationMode Basic | SingleSignOn | GlobalOwa | CustomOwa | PerPackageOwa

例

PlsqlAuthenticationMode CustomOwa

デフォルト

Basic

- Basicはデフォルトのモードであり、PlsqlDatabaseUsernameとPlsqlDatabasePasswordにユーザー名とパスワードが指定されていない場合に、それらを求めるかどうかを決定します。WebDB 2.xアプリケーションにはこの設定が必要です。DADでBasic認証を使用しない場合は、DAD構成に有効なユーザー名とパスワードを含める必要があります。

- SingleSignOnは、シングル・サインオン・サーバーを使用することを指定します。これは、Oracle9iAS Portalを使用するDADに必要です。前述のとおり、指定されたユーザー名とパスワードは、シングル・サインオン・サーバーからのものである必要があります。

- GlobalOwa、CustomOwaおよびPerPackageOwaは、ごく少数のPL/SQLアプリケーションによってのみ使用されます。カスタム認証を使用すると、データベース・レベルではなくアプリケーション自体でユーザーを認証できます。
認証は、ユーザー記述の認証ファンクションをコールすることで実行されます。カスタム認証では、DADに保存されている静的ユーザー名/パスワードを使用します。動的ユーザー名/パスワード認証と組み合せることはできません。カスタム認証を有効にするには、PlsqlAuthenticationModeの認証のレベルを設定し、認可機能を実装します。

次の点にも注意する必要があります。

- DADでBasic認証を使用しない場合は、DAD構成に有効なユーザー名とパスワードを含める必要があります。Basicモードで動的認証を実行する場合は、DADのusernameおよびpasswordパラメータを省略できます。

- SingleSignOnモードがサポートされるのは、Oracle Fusion Middlewareのリリースのみで、Oracle PortalおよびOracle Single Sign-Onで使用されます。ほとんどの顧客アプリケーションでは、Basic認証を使用します。カスタム認証モード(GlobalOwa、CustomOwaおよびPerPackageOwa)を使用するPL/SQLアプリケーションは、ごく少数です。

G.3.2.4 PlsqlBeforeProcedure

リクエストされたプロシージャのコール前に起動するプロシージャを指定します。これにより、リクエストされたプロシージャがコールされる前にフック・ポイントを置くことができます。これは、リクエストされたプロシージャ内の問題のデバッグ中に、SQLトレース/SQLプロファイルを実行する場合に役立ちます。また、各プロシージャの実行前に特定のコールを確実に行う必要がある場合にも役立ちます。

カテゴリ

値

構文

PlsqlBeforeProcedure string

例

PlsqlBeforeProcedure portal.mypkg.mybeforeproc

デフォルト

なし

注意:

このパラメータは、デバッグ目的にのみ使用してください。また、このパラメータを使用すると、SQLトレース/SQLプロファイルを起動できます。

G.3.2.5 PlsqlBindBucketLengths

注意:

この構成プロパティが変更されることはほとんどないため、たいていの場合はシステムのデフォルトで間に合います。

コレクション・バインド内の要素数のバインド中に使用する丸めサイズを指定します。PL/SQL文の実行中は、Oracle Databaseにより共有SQL領域内でPL/SQL文のキャッシュがメンテナンスされ、同じ文が再び実行される場合はキャッシュされた文が再利用されます。Oracleの一致条件では、文のテキストが同一で、バインド変数のデータ型が一致する必要があります。文字列の型が一致するには正確なバイト・サイズを指定する必要があり、コレクション・バインドの場合もコレクション内の要素数が重要になります。mod_plsqlモジュールでは文が動的にバインドされるため、共有キャッシュのヒット率は低く、ほぼ重複する値で満杯になって、共有領域でラッチの競合が発生する傾向があります。このパラメータでは、バインド長を最も近いレベルにバケット化して、このような影響を軽減します。

すべての数値は昇順で指定する必要があります。最後に指定したサイズに続くバケット・サイズは、最後のサイズの2倍とみなされます。

カテゴリ

値

構文

PlsqlBindBucketLengths number multiline

例

PlsqlBindBucketLengths 4

PlsqlBindBucketLengths 25

PlsqlBindBucketLengths 125

デフォルト

4,20,100,400

- このパラメータが関連するのは、配列パラメータを持つプロシージャを使用し、可変個のパラメータをプロシージャに渡す場合のみです。

- ほとんどのPL/SQLアプリケーションの場合は、デフォルトで十分です。

- このパラメータの変更が必要かどうかを調べるには、SQL領域内でSQL文のバージョン番号をチェックします。

- より大きい構成値の後は、mod_plsqlが必要に応じて最後の値を2倍にすることによって、さらに大きな値のバケット・サイズの自動生成を開始します。したがって、400の次のバケット値は800、その次は1600、のように続いていきます。

- 問題を軽減するために、パラメータの受渡しを柔軟にすることを考慮してください。

G.3.2.6 PlsqlBindBucketWidths

注意:

この構成プロパティが変更されることはほとんどないため、たいていの場合はシステムのデフォルトで間に合います。

コレクション・バインド内の要素数のバインド中に使用する丸めサイズを指定します。PL/SQL文の実行中は、Oracle Databaseにより共有SQL領域内でPL/SQL文のキャッシュがメンテナンスされ、同じ文が再び実行される場合はキャッシュされた文が再利用されます。Oracleの一致条件では、文のテキストが同一で、バインド変数のデータ型が一致する必要があります。文字列の型が一致するには正確なバイト・サイズを指定する必要があり、コレクション・バインドの場合もコレクション内の要素数が重要になります。mod_plsqlモジュールでは文が動的にバインドされるため、共有キャッシュのヒット率は低く、ほぼ重複する値で満杯になって、共有領域でラッチの競合が発生する傾向があります。このパラメータでは、バインド幅を最も近いレベルにバケット化して、このような影響を軽減します。

すべての数値は昇順で指定する必要があります。最後に指定したサイズに続くバケット・サイズは、最後のサイズの2倍とみなされます。

最後のバケット幅は4000以下にする必要があります。これは、配列のバインド幅を4000以下にするというOCIの制限によるものです。

カテゴリ

値

構文

PlsqlBindBucketWidths number multiline

例

PlsqlBindBucketWidths 40

PlsqlBindBucketWidths 400

PlsqlBindBucketWidths 2000

デフォルト

32,128,1450,2048,4000

- このパラメータが関連するのは、配列パラメータを持つプロシージャを使用し、可変個のパラメータをプロシージャに渡す場合のみです。

- ほとんどのPL/SQLアプリケーションの場合は、デフォルトで十分です。

- このパラメータの変更が必要かどうかを調べるには、SQL領域内でSQL文のバージョン番号をチェックします。

- より大きい構成値の後は、mod_plsqlが必要に応じて最後の値を2倍にすることによって、さらに大きな値のバケット・サイズの自動生成を開始します。したがって、400の次のバケット値は800、その次は1600、のように続いていきます。

- 問題を軽減するために、パラメータの受渡しを柔軟にすることを考慮してください。

G.3.2.7 PlsqlCGIEnvironmentList

PL/SQLプロシージャに渡される環境変数のデフォルト・セットに、CGI環境変数のオーバーライドおよび追加を実行するように指定します。これは、追加、オーバーライドまたは削除する名前/値ペアの複数行からなるディレクティブです。1つのディレクティブに指定できる環境変数は1つのみです。

変数名を指定して、Oracle HTTP Server環境からCGI環境変数を追加できます。CGI環境変数を削除するには、空白に設定します。独自の名前/値ペアを追加するには、myname=myvalue構文を使用します。

カテゴリ

値

構文

PlsqlCGIEnvironmentList string multiline

デフォルト

なし

例

- Oracle HTTP Server環境から新しい環境変数を追加するには、次のように設定します。
PlsqlCGIEnvironmentList DOCUMENT_ROOT

- 環境変数を削除するには、次のように設定します。
PlsqlCGIEnvironmentList MYENVAR2=

- Oracle HTTP Server環境からオーバーライドするには、次のように設定します。
PlsqlCGIEnvironmentList REQUEST_PROTOCOL=HTTPS

- 独自の環境変数を追加するには、次のように設定します。
PlsqlCGIEnvironmentList MY_VARNAME=MY_VALUE

- ここで追加した環境変数は、ファンクションowa_util.get_cgi_envを介してPL/SQLアプリケーションで使用できます。

G.3.2.8 PlsqlConnectionTimeout

mod_plsqlモジュールの接続プールをテストするためのタイムアウトをミリ秒単位で指定します。

カテゴリ

値

構文

PlsqlConnectionTimeout number

例

PlsqlConnectionTimeout 5000

デフォルト

10000(ミリ秒)

PlsqlConnectionValidationがAutomaticまたはAlwaysValidateに設定されていると、mod_plsqlモジュールはプーリングされたデータベース接続をテストしようとします。このパラメータは、mod_plsqlモジュールが接続は使用できないと判断する前に、テスト・リクエストの完了を待機する最大時間を指定します。

G.3.2.9 PlsqlConnectionValidation

mod_plsqlモジュールが接続プールで終了済接続を検出するために使用するメカニズムを指定します。

注意:

この構成プロパティが変更されることはほとんどないため、たいていの場合はシステムのデフォルトで間に合います。

パフォーマンス上の理由で、mod_plsqlモジュールはデータベース接続をプーリングします。データベース・インスタンスが停止し、mod_plsqlモジュールがそのインスタンスに対する接続プールを保持していた場合、プーリングされた各データベース接続は、次回リクエストの処理に使用される際にエラーとなります。これは、あるノードが停止しても、他のデータベース処理を実行しているノードではリクエストを正常に処理できる、RACなどの高可用性の構成で問題となります。mod_plsqlモジュールでは、データベース・ノードの停止による障害を検出した後に自己修正するためのメカニズムを提供しています。この自己修正メカニズムは、PlsqlConnectionValidationパラメータによって制御されます。

次に、PlsqlConnectionValidationの有効な値を示します。

- Automatic: mod_plsqlモジュールは、障害(インスタンスの障害)の検出前に作成され、プーリングされたすべてのデータベース接続をテストします。

- ThrowAwayOnFailure: mod_plsqlモジュールは、障害(インスタンスの障害)の検出前に作成され、プーリングされたすべてのデータベース接続を放棄します。

- AlwaysValidate: mod_plsqlモジュールは、リクエストの発行前に作成され、プーリングされたすべてのデータベース接続を常にテストします。このオプションは、各リクエストのパフォーマンス・オーバーヘッドと関連しているため、注意して使用する必要があります。

- NeverValidate: mod_plsqlモジュールは、プーリングされたデータベース接続を一切pingしません。

カテゴリ

値

構文

PlsqlConnectionValidation Automatic | ThrowAwayOnFailure | AlwaysValidate | NeverValidate

例

PlsqlConnectionValidation ThrowAwayOnFailure

デフォルト

Automatic

mod_plsqlモジュールでは、次のいずれかのエラーが発生すると、データベースは停止していると判断します。

- 00443 — バックグラウンド・プロセス<string>が起動しませんでした

- 00444 — バックグラウンド・プロセス<string>の起動中に障害が発生しました。

- 00445 — バックグラウンド・プロセスが<x>秒後に起動しませんでした。

- 00447 — バックグラウンド・プロセスに致命的なエラーが発生しました。

- 00448 — バックグラウンド・プロセスが正常終了しました。

- 00449 — バックグラウンド・プロセス<string>がエラーで予期せず終了しました

- 00470 — LGWRプロセスはエラーで終了しました。

- 00471 — DBWRプロセスはエラーで終了しました。

- 00472 — PMONプロセスはエラーで終了しました。

- 00473 — ARCHプロセスはエラーで終了しました。

- 00474 — SMONプロセスはエラーで終了しました。

- 00475 — TRWRプロセスはエラーで終了しました。

- 00476 — RECOプロセスはエラーで終了しました。

- 00480 — LCK*プロセスはエラーで終了しました。

- 00481 — LMONプロセスはエラーで終了しました。

- 00482 — LMD*プロセスはエラーで終了しました。

- 00484 — LMS*プロセスはエラーで終了しました

- 00485 — DIAGプロセスはエラーで終了しました

- 01014 — Oracleのシャットダウン処理中です。

- 01033 — Oracleの初期化またはシャットダウン中です。

- 01034 — Oracleは使用できません。

- 01041 — 内部エラーが発生しました。hostdefエクステンションが存在しません。

- 01077 — バックグラウンド・プロセス初期化に失敗しました

- 01089 — 即時シャットダウン処理中 - 操作はできません

- 01090 — シャットダウン処理中 - 接続はできません

- 01091 — 強制起動時にエラーが発生しました。

- 01092 — Oracleインスタンスが終了しました。強制的に切断されます

- 03106 — 致命的な2タスク通信プロトコル・エラーが発生しました

- 03113 — 通信チャネルでend-of-fileが検出されました

- 03114 — Oracleに接続されていません。

- 12570 — TNS: パケット・リーダーに障害が発生しました。

- 12571 — TNS: パケット・ライターに障害が発生しました

G.3.2.10 PlsqlDatabaseConnectString

Oracle Databaseへの接続を指定します。

カテゴリ

値

構文

PlsqlDatabaseConnectString string {ServiceNameFormat | SIDFormat | TNSFormat | NetServiceNameFormat}

stringパラメータは、2番目の引数に応じて次のように変化します。

- 2番目の引数がServiceNameFormatの場合、stringはHOST:PORT:SERVICE_NAMEになります。ここで、HOSTはデータベースを実行中のホスト名、PORTはTNSリスナーがリスニングしているポート番号、SERVICE_NAMEはデータベース・サービス名です。
IPv6アドレスを指定するには、[IPv6_ADDRESS]:PORT:SERVICE_NAMEという書式を使用します。

- 2番目の引数がSIDFormatの場合、stringはHOST:PORT:SIDになります。ここで、HOSTはデータベースを実行中のホスト名、PORTはTNSリスナーがリスニングしているポート番号、SIDはデータベースSIDです。
IPv6アドレスを指定するには、[IPv6_ADDRESS]:PORT:SIDという書式を使用します。

- 2番目の引数がTNSFormatの場合、stringは、tnspingなどのNet8ユーティリティとSQL*Plusを使用して解決できる有効なTNS別名になります。

- 2番目の引数がNetServiceNameFormatの場合、stringは、接続ディスクリプタに解決できる有効なネット・サービス名になります。接続ディスクリプタは、ネットワーク接続の宛先を特殊なフォーマットで記述したものです。接続記述子は、宛先サービスおよびネットワーク・ルート情報を含みます。

フォーマット引数を指定しない場合、mod_plsqlモジュールでは、stringがHOST:PORT:SID形式であるか、Net8で解決可能であると想定します。この2つは、指定された文字列にコロンがあるかどうかにより区別されます。

新しいDADではSIDFormat構文を使用しないことをお薦めします。この構文は、後方互換性を保つためにのみ設けられています。新しく作成するDADには、新しいフォーマット引数を使用してください。

例

- PlsqlDatabaseConnectString example.com:1521:myhost.iasdb.inst ServiceNameFormat

- PlsqlDatabaseConnectString [2001:DB8:f1ff:f1ff]:1521:myhost.iasdb.inst ServiceNameFormat

- PlsqlDatabaseConnectString example.com:1521:iasdb SIDFormat

- PlsqlDatabaseConnectString [2001:DB8:ff1ff:f1ff]:1521:iasdb SIDFormat

- PlsqlDatabaseConnectString myhost_tns TNSFormat

- PlsqlDatabaseConnectString cn=oracle,cn=iasdb NetServiceNameFormat

- PlsqlDatabaseConnectString (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(Host=example.com)(Port= 1521))(CONNECT_DATA=(SID=iasdb))) TNSFormat

- PlsqlDatabaseConnectString myhost_tns

- PlsqlDatabaseConnectString example.com:1521:iasdb

デフォルト

なし

- データベースが同じOracleホームで稼働している場合、あるいは環境変数TWO_TASKが設定されている場合は、このパラメータを指定する必要はありません。

- データベースが別々のOracleホームで稼働している場合、このパラメータは必須です。

- データベースに接続できない場合は、次のことを確認します。

- DADのユーザー名およびパスワード情報を確認します。

- tnsping db_connect_stringおよび次のようなコマンドを実行することを確認します。

sqlplus DADUsername/DADPassword@db_connect_string

- TNS_ADMINが適切に構成されているかどうかを確認します。

- HOST:PORT:SERVICE_NAME形式で正しく動作するかどうかを確認します。

- TNSリスナーとデータベースが起動され実行されているかどうかを確認します。

- このマシンからホストをpingできるかどうかを確認します。

- mod_plsqlモジュールの観点からは、TNSFormatとNetServiceNameFormatは類似しており、Net8により解決される接続記述子を意味します。TNSFormatが便宜上提供されているため、エンド・ユーザーはこれを使用して、名前解決がローカルのtnsnames.oraを介して行われることを示します。sqlnet.oraに構成されているLDAP参照を使用して解決が行われる場合は、NetServiceNameFormatフォーマット指定子の使用をお薦めします。
高可用性をサポートするデータベース(たとえば、Oracle Real Application Clustersデータベースなど)の場合は、ネット・サービス名の解決がLDAPを使用して行われるように、NetServiceNameFormatの使用をお薦めします。これにより、新規ノードまたは削除されたノードの情報を使用してOracle Internet Directoryを変更することで、mod_plsqlモジュール経由でアクセス可能なRACノードを追加または削除できます。その場合は、データベース・リスナーのHOST:PORT情報をdads.confまたはローカルtnsnames.oraにハードコードしないことをお薦めします。

G.3.2.11 PlsqlDatabasePassword

データベースへのログインに使用するパスワードを指定します。

カテゴリ

値

構文

PlsqlDatabasePassword string

例

PlsqlDatabasePassword tiger

デフォルト

なし

- PlsqlAuthenticationModeをBasicに設定して動的認証を使用するDADの場合を除き、これは必須パラメータです。

- SingleSignOn認証を使用するDADの場合、このパラメータではスキーマの所有者名を使用します。

DADパスワードを手動で構成変更した後に、ORACLE_HOME/binにあるdadTool.plスクリプトを実行して、DADパスワードを不明瞭化する必要があります。

DADパスワードを不明瞭化するには、次の手順を実行します。

1. 必要に応じて、次のコマンドを使用して、ユーザーをOracleソフトウェアの所有者ユーザー(通常はoracle)に変更します。

$ su - oracle

2. 現行リリースのOracleホーム・ディレクトリへのパスを指定するようにORACLE_HOME環境変数を設定して、Perl実行可能ファイルおよびdadTool.plスクリプトの場所を含むディレクトリを含むようにPATH環境変数を設定します。
Bourne、Bash、またはKornシェルの場合:

$ ORACLE_HOME=new_ORACLE_HOME_path;export ORACLE_HOME
$ PATH=ORACLE_HOME/bin:ORACLE_HOME/perl/bin:$PATH;export PATH

Cまたはtcshシェルの場合:

% setenv ORACLE_HOME new_ORACLE_HOME_PATH
% setenv PATH ORACLE_HOME/bin:ORACLE_HOME/perl/bin:PATH

Microsoft Windowsでは、PATHおよびPERL5LIB環境変数を設定します。

set PATH=ORACLE_HOME\bin;ORACLE_HOME\perl\bin;%PATH%
set PERL5LIB=ORACLE_HOME\perl\lib

3. UNIXプラットフォームでは、共有ライブラリ・パス環境変数を設定します。
ORACLE_HOME/libまたはlib32ディレクトリを共有ライブラリ・パスに含めます。表G-7に、各プラットフォームに対応するディレクトリおよび環境変数を示します。

表G-7 共有ライブラリ・パス環境変数

プラットフォーム

環境変数

含めるディレクトリ

AIXベース・システム

LIBPATH

ORACLE_HOME/lib

HP-UX PA-RISC

SHLIB_PATH

ORACLE_HOME/lib

Solarisオペレーティング・システム

LD_LIBRARY_PATH

ORACLE_HOME/lib32

その他のUNIXプラットフォーム(Linux、HP Tru64 UNIXなど)

LD_LIBRARY_PATH

ORACLE_HOME/lib

たとえば、HP-UX PA-RISCシステムの場合、次のようにORACLE_HOME/libディレクトリを含めるようにSHLIB_PATH環境変数を設定します。

SHLIB_PATH=$ORACLE_HOME/lib:$SHLIB_PATH;export SHLIB_PATH

4. ディレクトリを、Oracle HTTP Serverの現行リリースのbinディレクトリに変更します。

cd $ORACLE_HOME/ohs/bin

5. 次のPerlスクリプトを起動して、DADパスワードを不明瞭化します。

perl dadTool.pl -f dadfilename

dadfilenameはdads.confのファイル名で、DADファイルへのフルパスが含まれます。

例:

perl dadTool.pl -f /u01/app/oracle/user_projects/domains/base_domain/config/fmwconfig/components/OHS/ohs1/mod_plsql/dads.conf

G.3.2.12 PlsqlDatabaseUserName

データベースへのログインに使用するユーザー名を指定します。

カテゴリ

値

構文

PlsqlDatabaseUsername string

例

PlsqlDatabaseUsername scott

デフォルト

なし

- PlsqlAuthenticationModeをBasicに設定して動的認証を使用するDADの場合を除き、これは必須パラメータです。

- SingleSignOn認証を使用するDADの場合、このパラメータはスキーマの所有者名です。

G.3.2.13 PlsqlDefaultPage

URLに何も指定されていない場合にコールするデフォルトのプロシージャを指定します。

カテゴリ

値

構文

PlsqlDefaultPage string

例

PlsqlDefaultPage myschema.mypackage.home

デフォルト

なし

Oracle HTTP Serverリライト規則を使用しても、この構成パラメータを設定した場合と同じ結果になります。

G.3.2.14 PlsqlDocumentPath

これは、ドキュメント表からのドキュメントのダウンロードを開始する、URL内の仮想パスです。たとえば、このパラメータをdocsに設定すると、次のURLによってこの形式のURLでドキュメントのダウンロード・プロセスが開始されます。

/pls/dad/docs
/pls/plsqlapp/docs

カテゴリ

値

構文

PlsqlDocumentPath string

例

PlsqlDocumentPath docs

デフォルト

docs

ドキュメントのアップロードまたはダウンロードを実行しないアプリケーションの場合は、このパラメータを省略します。

G.3.2.15 PlsqlDocumentProcedure

ドキュメントのダウンロード開始時にコールするプロシージャを指定します。このプロシージャは、ダウンロード処理用にコールされます。

カテゴリ

値

構文

PlsqlDocumentProcedure string

例

PlsqlDocumentProcedure portal.wwdoc_process.process_download

デフォルト

なし

ドキュメントのアップロードまたはダウンロードを実行しないアプリケーションの場合は、このパラメータを省略します。

G.3.2.16 PlsqlDocumentTablename

すべてのドキュメントのアップロード先となるデータベース内の表を指定します。

カテゴリ

値

構文

PlsqlDocumentTablename string

例

PlsqlDocumentTablename myschema.document_table

デフォルト

なし

ドキュメントのアップロードまたはダウンロードを実行しないアプリケーションの場合は、このパラメータを省略します。

G.3.2.17 PlsqlErrorStyle

mod_plsqlエラーのエラー・レポート・モードを指定します。

カテゴリ

値

構文

PlsqlErrorStyle {ApacheStyle | ModplsqlStyle | DebugStyle}

- ApacheStyle: mod_plsqlモジュールは発生したHTTPエラーをOracle HTTP Serverに示します。その後、Oracle HTTP Serverでエラー・ページが生成されます。これをOracle HTTP ServerのErrorDocumentディレクティブとともに使用すると、カスタマイズされたエラー・メッセージを生成できます。

- ModplsqlStyle: mod_plsqlモジュールでエラー・ページが生成されます。通常、これは、発生したPL/SQLエラーと、PL/SQL例外スタック(存在する場合)を示す短いメッセージです。例:

scott.foo PROCEDURE NOT FOUND

- DebugStyle: このモードでは、ModplsqlStyleを指定した場合よりも詳細な情報が得られます。mod_plsqlモジュールによってURLとパラメータの詳細が提供され、サーバー構成情報も生成されます。このモードはデバッグ専用です。内部サーバー変数を表示するとセキュリティ上のリスクを伴うため、本番システムではこのモードを使用しないでください。

例

PlsqlErrorStyle ModplsqlStyle

デフォルト

ApacheStyle

G.3.2.18 PlsqlExclusionList

ブラウザから直接実行することが禁じられているプロシージャ、パッケージまたはスキーマ名のパターンを指定します。これは複数行からなるディレクティブで、各パターンを個別の行に指定します。パターンには大/小文字の区別がなく、アスタリスク(*)などのワイルドカードを使用できます。ダイレクトURLアクセスが禁じられるデフォルト・パターンは、次のとおりです。

- sys.*

- dbms_*

- utl_*

- owa_util*

- owa.*

- htp.*

- htf.*

- wpg_docload.*

このディレクティブを#NONE#に設定すると、すべての保護が無効になります。この設定は、アクティブなサイトには推奨されないため、指定しないでください。この設定は、デバッグ目的の場合に使用可能です。

このパラメータがオーバーライドされても、デフォルトは有効です。つまり、除外されるパターンのリストにデフォルト・リストを明示的に追加する必要はありません。

カテゴリ

値

構文

PlsqlExclusionList {string | "#NONE#" multiline}

例

PlsqlExclusionList myschema.private.*

PlsqlExclusionList myschema.private1.*

これらは、次のいずれかを含むURLにアクセスできません。

sys.*、dbms_*、utl_*、owa_util*、owa.*、htp.*、htf.*、wpg_docload.*、myschema.private.*、myschema.private1.*

PlsqlExclusionList "#NONE#"

これは、すべての保護が無効になります。この使用方法は、アクティブなサイトには推奨されません。

デフォルト

sys.*

dbms_*

utl_*

owa_util*

owa.*

htp.*

htf.*

wpg_docload.*

- mod_plsqlモジュールでは、このパラメータで指定したパターン以外に、次の特殊文字を含むプロシージャ名も使用できません。

- タブ

- 改行

- 復帰

- 一重引用符

- 逆スラッシュ

- 改ページ

- 左カッコ

- 右カッコ

- スペース

これは変更できません。

G.3.2.19 PlsqlFetchBufferSize

owa_util.get_pageまたはowa_util.get_page_rawを使用して、データベースからフェッチする内容のトリップごとの行数を指定します。

デフォルトで、mod_plsqlモジュールは各行が255バイトのレスポンス出力行を200行フェッチします。レスポンス・バイトがシングルバイトの場合、レスポンス・バッファは最大限まで移入され、1回のラウンドトリップに255×200=51000バイトをパックできます。マルチバイト・データを含むレスポンスの場合は、各行のバイトのパックが理想的にならない場合があり、ラウンドトリップごとに送信されるバイト数が少なくなります。アプリケーションで大きなページを頻繁に生成し、レスポンスが1回のラウンドトリップに収められない場合は、このパラメータを高めに設定することを考慮してください。mod_plsqlモジュールによるメモリー使用量は増加します。

カテゴリ

値

構文

PlsqlFetchBufferSize number

例

PlsqlFetchBufferSize 256

デフォルト

200

- このパラメータは、パフォーマンスに問題がある場合にのみ変更してください。このパラメータの最小値は28ですが、それより小さくなることはほとんどありません。

- このパラメータは、次の場合にのみ変更してください。

- 平均的なレスポンス・ページが大きく、mod_plsqlモジュールがレスポンスをフェッチするためにデータベースへラウンドトリップする回数を減らす必要がある場合。

- 使用中の文字セットがマルチバイトで、get_pageまたはget_page_rawで1行ごとにフェッチされるバイト数が少ないという問題に対処する必要がある場合。PL/SQL Web ToolKitでの計算は文字ベースであり、マルチバイト・キャラクタの場合、OWAパッケージでは文字の最小のバイト・サイズが想定されるため、各行のサイズが最大値まで変更されることはありません。

G.3.2.20 PlsqlInfoLogging

mod_plsqlモジュールが追加のパフォーマンス・ロギングを行うために使用するモードを指定します。

InfoDebugモード: より多くの情報がApacheのerror_logに記録されます。これは、Apacheのinfoロギング・レベルとともに使用されます。Apacheのロギング・レベルがこのレベル以上に設定されていない場合は、この設定が無視されます。

カテゴリ

値

構文

PlsqlInfoLogging InfoDebug

例

PlsqlInfoLogging InfoDebug

デフォルト

空

このロギング設定は、PL/SQLアプリケーションでの問題のデバッグに役立ちます。

G.3.2.21 PlsqlMaxRequestsPerSession

プーリングされたデータベース接続がクローズされて再オープンされる前に処理する必要のある最大リクエスト数を指定します。

カテゴリ

値

構文

PlsqlMaxRequestsPerSession number

例

PlsqlMaxRequestsPerSession 500

デフォルト

1000

- このパラメータを使用すると、PL/SQLアプリケーションによる長期間のセッション再利用により発生する、メモリーとリソースの問題を軽減できます。

- このパラメータは変更しないでください。ほとんどの場合は、デフォルトで十分です。

- このパラメータを小さい値に設定すると、パフォーマンスが低下することがあります。使用頻度が低くパフォーマンスが問題にならないDADや、リクエスト数が限られているDADの場合は、小さい値に設定するとメリットが得られることがあります。

G.3.2.22 PlsqlNLSLanguage

このDADの変数NLS_LANGを指定します。このパラメータにより、環境変数NLS_LANGがオーバーライドされます。このパラメータを設定すると、PL/SQL Gatewayは指定されているNLS_LANGを使用してデータベースに接続します。接続後は、指定の言語と地域に切り替えるためにalter sessionコマンドが発行されます。中間層の文字セットがデータベースの文字セットと一致する場合、mod_plsqlモジュールによりセッション変更コールは発行されません。

カテゴリ

値

構文

PlsqlNLSLanguage string

例

PlsqlNLSLanguage America_America.UTF8

デフォルト

なし

- ほとんどのアプリケーションでは、PlsqlTransferModeがCHARに設定されています。これは、PlsqlNLSLanguage内の文字セットがデータベースの文字セットと一致する必要があることを意味します。ただし、データベースとmod_plsqlモジュールの文字セットがどちらも固定サイズで、幅が一致している場合は、文字セットが一致していなくてもかまいません。レスポンスの文字セットは、常にmod_plsqlモジュールの文字セットです。

- PlsqlTransferModeがRAWに設定されている場合は、このパラメータを無視できます。

G.3.2.23 PlsqlPathAlias

プロシージャ・コールにマップする仮想パスの別名を指定します。これはアプリケーション固有です。このディレクティブは、PlsqlPathAliasProcedureと組み合せて使用します。

カテゴリ

値

構文

PlsqlPathAlias string

例

PlsqlPathAlias url

デフォルト

なし

パスの別名を使用しないアプリケーションの場合は、このパラメータを省略できます。

G.3.2.24 PlsqlPathAliasProcedure

URLの仮想パスが、PlsqlPathAliasで構成されたパス別名と一致した場合にコールするプロシージャを指定します。

カテゴリ

値

構文

PlsqlPathAliasProcedure string

例

PlsqlPathAliasProcedure portal.wwpth_api_alias.process_download

デフォルト

なし

パスの別名を使用しないアプリケーションの場合は、このパラメータを省略できます。

G.3.2.25 PlsqlRequestValidationFunction

アプリケーション定義のPL/SQLファンクションを指定します。このファンクションにより、リクエストされたプロシージャのこれ以上の処理を許可および禁止できます。このファンクションは、DADからの実行を禁止されたパッケージおよびプロシージャ・コールをブロック・アウトして、PL/SQLアプリケーションについて厳重なセキュリティを実装する場合に役立ちます。

このパラメータによって定義されるファンクションには、次のプロトタイプが必要です。

boolean function_name (procedure_name IN varchar2)

procedure_nameパラメータには、リクエストで実行しようとしているプロシージャの名前が含まれます。

たとえば、ブラウザからコールできるすべてのPL/SQLアプリケーション・プロシージャがパッケージmypkg内にある場合、このファンクションの実装は次のようなものになります。

boolean my_validation_check (procedure_name varchar2)
is
begin
if (upper (procedure_name) like upper ('myschema.mypkg%')) then
return TRUE
else
return FALSE
end if;
end;

カテゴリ

値

構文

PlsqlRequestValidationFunction string

例

PlsqlRequestValidationFunction myschema.mypkg.my_validation_check

デフォルト

なし

- デフォルトでは、すでにmod_plsqlモジュールは、特定のスキーマおよびパッケージへのダイレクトURLアクセスを禁止しています。詳細は、「PlsqlExclusionList」を参照してください。

- アプリケーションに属し、ブラウザからコールできるリクエストのみを許可するように、このファンクションを実装することをお薦めします。

- このファンクションは、すべてのリクエストについてコールされるため、できるだけ最適化してください。たとえば、次のようにすることをお薦めします。

- 前述の例と同じようにこのファンクションが実装されるように、PL/SQLパッケージに名前を付けます。

- 実装で表参照を実行し、許可するパッケージおよびプロシージャを決定する場合、共有プールにカーソルを固定すると、パフォーマンスが改善されることがあります。

G.3.2.26 PlsqlSessionCookieName

PlsqlAuthenticationModeがSingleSignOnに設定されている場合、Cookie名を指定します。このパラメータがサポートされるのは、Oracle Fusion Middlewareのリリースのみで、Oracle PortalおよびOracleシングル・サインオンで使用されます。

カテゴリ

値

構文

PlsqlSessionCookieName cookie_name

例

PlsqlSessionCookieName mycookie

デフォルト

DAD名と同じ

- DADでSingleSignOn認証を使用しない場合は、このパラメータを省略できます。他のほとんどの場合は、セッションのCookie名を省略する必要があります(また、このパラメータはデフォルトで自動的にDAD名に設定されます)。

- セッションのCookie名を指定する必要があるのは、分散Oracle Portal環境に参加する必要があるOracle Portalインスタンスについてのみです。これらのOracle Portalノードを、統合されたクラスタとしてシームレスに参加する必要がある場合は、すべての参加ノードのセッションCookie名が同じであることを確認してください。

- 独立したOracle Portalノードでは、別のセッションCookie名を使用する必要があります。

G.3.2.27 PlsqlSessionStateManagement

各mod_plsqlリクエストの終了時に、パッケージとセッションの状態をクリーンアップする方法を指定します。

- StatelessWithResetPackageStateに設定すると、mod_plsqlモジュールは各mod_plsqlリクエストの終了時にdbms_session.reset_package_stateをコールします。これがデフォルトです。

- StatelessWithPreservePackageStateに設定すると、mod_plsqlモジュールは各mod_plsqlリクエストの終了時にhtp.initをコールします。これにより、PL/SQL Web ToolKit内でセッション変数の状態がクリーンアップされます。PL/SQLアプリケーションは、そのアプリケーション固有のセッション状態のクリーンアップを行います。クリーンアップに失敗すると異常動作が発生し、リクエストは以前のリクエストで変更された状態の認識または操作を開始します。

- StatelessWithFastResetPackageStateに設定すると、mod_plsqlモジュールは各mod_plsqlリクエストの終了時にdbms_session.modify_package_state(dbms_session.reinitialize)をコールします。このAPIはStatelessWithResetPackageStateモードより高速であり、一部のラッチ競合問題は回避されますが、このAPIが存在するのはリリース8.1.7.2以上のOracle Databaseのみです。このモードでは、メモリー使用量がデフォルト・モードよりやや多くなります。

カテゴリ

値

構文

PlsqlSessionStateManagement {StatelessWithResetPackageState | StatelessWithFastResetPackageState | StatelessWithPreservePackageState}

例

PlsqlSessionStateManagement StatelessWithPreservePackageState

デフォルト

StatelessWithResetPackageState

- 旧リリースの値stateful=noまたはstateful=STATELESS_RESETは、StatelessWithResetPackageStateに対応しています。

- 旧リリースの値stateful=STATELESS_FAST_RESETは、StatelessWithFastResetPackageStateに対応しています。

- 旧リリースの値stateful=STATELESS_PRESERVEは、StatelessWithPreservePackageStateに対応しています。

mod_plsqlモジュールでは、ステートフル・モードの操作はサポートされません。PL/SQLアプリケーションでステートフル動作を可能にするには、状態をCookieまたはデータベース(あるいはその両方)に保存します。

G.3.2.28 PlsqlTransferMode

データベースからのデータをmod_plsqlモジュールに送信するためのモードを指定します。ほとんどのアプリケーションでは、デフォルト値CHARを使用します。

カテゴリ

値

構文

PlsqlTransferMode {CHAR | RAW}

例

PlsqlTransferMode CHAR

デフォルト

CHAR

このパラメータを変更する必要があるのは、同一のDADからのレスポンスを異なる文字セットで返送できるようにする場合のみです。このような場合にはCHARモードは使用できません。レスポンス・データが常にデータベースの文字セットからmod_plsqlの文字セットに変換されるためです。

G.3.2.29 PlsqlUploadAsLongRaw

デフォルトのBLOBデータ型を使用せずに、LONGRAWデータ型としてアップロードするファイルの拡張子を指定します。フィールドのファイル拡張子に複数行からなるディレクティブを指定することで、デフォルトをオーバーライドできます。このフィールドにアスタリスク(*)の値を指定すると、すべてのドキュメントがLONGRAW型としてアップロードされます。

カテゴリ

値

構文

PlsqlUploadAsLongRaw string multiline

例

PlsqlUploadAsLongRaw jpg

PlsqlUploadAsLongRaw gif

デフォルト

なし

ドキュメントをアップロードまたはダウンロードしないアプリケーションの場合は、このパラメータを省略できます。

G.3.3 cache.conf

cache.confファイルには、mod_plsqlモジュールに実装されたファイル・システム・キャッシュ機能の構成の設定が含まれています。この構成ファイルが関係するのは、PL/SQLアプリケーションがOWA_CACHEパッケージを使用して、ファイル・システム内の動的生成コンテンツをキャッシュする場合のみです。

次のパラメータは、cache.confファイルで指定されます。

- PlsqlCacheCleanupTime

- PlsqlCacheDirectory

- PlsqlCacheEnable

- PlsqlCacheMaxAge

- PlsqlCacheMaxSize

- PlsqlCacheTotalSize

G.3.3.1 PlsqlCacheCleanupTime

キャッシュ・ストレージのクリーンアップの開始時刻を指定します。

この設定は、クリーンアップが発生する正確な日と時刻を定義します。頻度は日次、週次および月次に設定できます。

- 頻度を日次で定義するには、キーワードEverydayを使用します。クリーンアップは毎日定義された時刻に始まります。たとえば、Everyday 2:00と指定すると、クリーンアップが毎日午前2時(現地時間)に発生します。

- 頻度を週次で定義するには、曜日(Sunday、Monday、Tuesday、Wednesday、Thursday、Friday、Saturday)を使用します。たとえば、Wednesday 15:30と指定すると、クリーンアップが毎週水曜日の午後3時30分(現地時間)に発生します。

- 頻度を月次で定義するには、キーワードEverymonthを使用します。クリーンアップは月の最初の土曜日の定義された時刻に始まります。たとえば、Saturday Everymonth 23:00と指定すると、クリーンアップが毎月最初の土曜日の午後11時(現地時間)に発生します。

カテゴリ

値

構文

PlsqlCacheCleanupTime {Sunday-Saturday | Everyday | Everymonth} {hh:mm}

例

PlsqlCacheCleanupTime Monday 20:00

デフォルト

Saturday 23:00

G.3.3.2 PlsqlCacheDirectory

mod_plsqlモジュールによってキャッシュ・ファイルが書き出されるディレクトリを指定します。このディレクトリは存在している必要があります。存在しない場合、Oracle HTTP Serverは起動しません。

UNIXでは、httpd子プロセスの所有者がこのディレクトリに対する書込み権限を持っている必要があります。

カテゴリ

値

構文

PlsqlCacheDirectory directory

例

PlsqlCacheDirectory "${ORACLE_INSTANCE}/servers/${COMPONENT_NAME}"

デフォルト

なし

G.3.3.3 PlsqlCacheEnable

mod_plsqlのキャッシュを有効にします。

カテゴリ

値

構文

PlsqlCacheEnable {On | Off}

例

PlsqlCacheEnable On

デフォルト

Off

アプリケーションでPL/SQL Web ToolkitのOWA_CACHEパッケージを使用しない場合は、キャッシュを無効にできます。そのような場合は、パフォーマンス上のメリットはほとんどありません。

G.3.3.4 PlsqlCacheMaxAge

キャッシュ済ファイルを、キャッシュ・メンテナンスのために削除されるまで、ファイル・システム・キャッシュに置くことができる最大期間(日数)を指定します。

この設定は、キャッシュ・システムに古いコンテンツが含まれないようにするためです。この設定により、古いキャッシュ・ファイルが削除され、新しいファイル用のスペースが作成されます。

カテゴリ

値

構文

PlsqlCacheMaxAge number

例

PlsqlCacheMaxAge 20

デフォルト

30(日)

G.3.3.5 PlsqlCacheMaxSize

キャッシュ・ファイルの最大サイズを指定します。

この設定は、1つのファイルがキャッシュ全体を占有できないようにします。一般的には、この値は総キャッシュ・サイズ(PlsqlCacheTotalSizeで指定)の約1から3パーセントに設定することをお薦めします。

カテゴリ

値

構文

PlsqlCacheMaxSize number

例

PlsqlCacheMaxSize 1048576

デフォルト

1048576

G.3.3.6 PlsqlCacheTotalSize

キャッシュ・ディレクトリの合計サイズを指定します。デフォルトは20MBです。

この設定により、キャッシュで使用できる領域の量が制限されます。PL/SQLキャッシュとセッションCookieキャッシュがこのキャッシュ領域を共有します。この設定は厳密な制限ではありません。通常の処理中に、一時的にこの制限を超えることがあります。これは正常な動作です。

クリーンアップ・アルゴリズムでは、この設定を使用してキャッシュ・ファイルをどの程度削減するかを判断します。したがって、実際のスペース上限は、物理的なストレージの最大使用可能サイズです。

このパラメータは、次のように値としてバイト数を取ります。

- 1MB=1048576バイト

- 10MB=10485760バイト

カテゴリ

値

構文

PlsqlCacheTotalSize number

例

PlsqlCacheTotalSize 20971520

デフォルト

20971520(バイト)

用語集

Apache HTTP Server

Apache HTTP Serverは、米国立スーパー・コンピュータ応用研究所(National Center for Supercomputing Applications: NCSA)での開発を基にしたオープン・ソースWebサーバーです。

認証

ユーザー、デバイス、またはホスト・システムにおけるその他のエンティティのアイデンティティを検証する処理で、しばしば、システム内のリソースへのアクセスを付与するための前提条件とされます。認証されたメッセージの受信者は、メッセージの起点(送信者)を信頼できます。認証は、別人が送信者になりすましているという可能性を排除すると考えられます。

可用性

スケジュールされた時間のうち、コンピューティング・システムがアプリケーション・サービスを提供する割合または時間。

証明書

デジタル証明ともいいます。公開鍵に対してアイデンティティをセキュアにバインドするITU x.509 v3の標準データ構造です。

証明書は、あるエンティティの公開鍵が信頼できる機関(認証局)によって署名されたときに作成され、そのエンティティの情報が正しいこと、および公開鍵が実際にそのエンティティに属していることを保証します。

証明書には、エンティティの名前、識別情報および公開鍵が含まれます。シリアル番号、有効期限、ならびにその証明書に関連する権利、使用および権限についての情報が含まれていることもあります。また、発行元の認証局に関する情報が含まれます。

認証局

他のエンティティ(ユーザー、データベース、管理者、クライアント、サーバー)が本物であることを証明する、信頼できる第三者。ユーザーを証明するとき、認証局は最初にそのユーザーが証明書失効リスト(CRL)に掲載されていないことを確認してからそのユーザーのアイデンティティを検証し、証明書を付与し、認証局の秘密鍵を使用してその証明書に署名します。認証局には自身の証明書と公開鍵があり、公開されています。サーバーおよびクライアントは、これらを使用して認証局の署名を検証します。認証局は、証明書サービスを提供する外部の会社の場合や、企業のMIS部門のような内部の組織の場合があります。

CGI

Common Gateway Interface (CGI)。Webサーバー、およびCGI仕様に準拠したデータを受け入れて返すように設計されたプログラム間で、情報を送信する業界標準の技術です。

暗号文

暗号化されたデータ。暗号文は、鍵を使用して平文に変換(復号化)しないかぎり読むことができません。「復号化」を参照してください。

クリアテキスト

「平文」を参照してください。

暗号化

読むことのできない形式に変換(暗号化)することで情報を保護する技法。「暗号化」を参照してください。

DAD

「データベース・アクセス・ディスクリプタ」を参照してください。

データベース・アクセス・ディスクリプタ

HTTPリクエストを実行するためにアプリケーションからOracle Databaseに接続する方法を指定する一連の値。DADには、ユーザー名(スキーマと権限も指定)、パスワード、接続文字列、エラー・ログ・ファイル、標準エラー・メッセージおよびNational Language Support (NLS)パラメータ(NLS言語、NLS日付書式、NLS日付言語、NLS通貨など)の情報が含まれます。

復号化

暗号化されたメッセージ(暗号文)の内容を、元の判読可能な書式(平文)に変換する処理。

デジタル証明

「証明書」を参照してください。

デジタル・ウォレット

「ウォレット」を参照してください。

暗号化

意図した受信者以外はだれも判読できないようにメッセージを変換する処理。暗号化は、データを権限のないユーザーまたはシステムから理解できないコードに変換することによって行われます。暗号化には主に、公開鍵暗号(非対称鍵暗号化)と対称鍵暗号化の2つの種類があります。

エントリ

ディレクトリ・サービスのコンテキストでは、エントリはディレクトリの基本構成要素です。エントリは、ディレクトリ内のオブジェクトに関する情報の集まりです。各エントリは、オブジェクトのある1つの特性を表す属性のセットで構成されます。たとえば、ディレクトリ・エントリが人物を示す場合、エントリには姓、名、電話番号、電子メール・アドレスなどの属性が含まれます。

実行コンテキストID

実行コンテキストID (ECID)は、Fusion Middlewareの異なるコンポーネント内または異なるログ・ファイル内で、同一のリクエスト実行フローの一部として、イベントを関連付けるために使用できる一意の識別子です。

フェイルオーバー

コンポーネントに障害が発生したときに、類似するアクティブな代替コンポーネントを利用して、コンピューティング・システムを再構成する機能。

Fusion Middleware Control

「Oracle Enterprise Manager Fusion Middleware Controlコンソール」を参照してください。

HTTP

「Hypertext Transfer Protocol」を参照してください。

ハイパーテキスト転送プロトコル

メッセージを書式化して送信し、各種コマンドへのレスポンスのためにWebサーバーとブラウザで実行する必要がある処理を決定するためにWebで使用される、基礎となる形式。HTTPはOracle Fusion Middlewareとクライアントの間で使用されるプロトコルです。

LDAP

「Lightweight Directory Access Protocol」を参照してください。

Lightweight Directory Access Protocol

拡張可能な標準ディレクトリ・アクセス・プロトコル。LDAPクライアントとサーバーが通信で使用する共通言語。業界標準のディレクトリ製品(Oracle Internet Directoryなど)をサポートする設計規則のフレームワーク。

モジュール

モジュールは、Webサーバーの基本機能を拡張し、Oracle HTTP Serverとその他のOracle Fusion Middlewareコンポーネントとの統合をサポートします。

Oracle Enterprise Manager Fusion Middleware Control

Oracle Enterprise Manager Fusion Middleware Control (Fusion Middleware Control)は、Oracle Fusion Middleware専用に設計されたWebベースの管理ツールを提供します。Fusion Middleware Controlを使用すると、アプリケーション・サーバーのコンポーネントを監視および構成できます(アプリケーションのデプロイ、セキュリティの管理、Oracle Fusion Middlewareクラスタの作成および管理など)。

PEM

プライバシ保護が強化された電子メールの形式。暗号化、認証、メッセージ整合性および鍵管理を行う暗号化技術。

PL/SQL

SQL言語のOracle独自の拡張機能。PL/SQLは、アプリケーションの記述に適合するように、SQLにプロシージャおよび他の構文を追加します。

平文

クリアテキストともいいます。暗号化されていないASCII形式のデータです。

プラグイン

より大きいシステムに特定の機能やサービスを追加するモジュール。

ポート

特定のプログラムとの間で送信データをルーティングするため、TCPで使用される番号。

秘密鍵

公開鍵暗号における秘密鍵。主に復号化に使用されますが、デジタル署名の場合、暗号化にも使用されます。「公開鍵と秘密鍵のペア」を参照してください。

プロキシ・サーバー

通常はネットワーク・ファイアウォール上に位置し、ファイアウォールの後方にあるクライアントの、Webリソースへのアクセスを許可するサーバー。クライアントからのリクエストはすべて、宛先サーバーに直接送信されず、プロキシ・サーバーに送信されます。プロキシ・サーバーはリクエストを宛先サーバーに転送し、受信した情報をクライアントに渡します。また、Webのすべての通信量を単一のセキュアなポートを介してチャネルします。これにより、組織はWebアクセスを許可する一方で中間システムへのインターネット・アクセスを禁止することにより、セキュアなファイアウォールを実現できます。

公開鍵

公開鍵暗号において一般に公開される鍵。主に暗号化に使用されますが、署名の確認にも使用されます。「公開鍵と秘密鍵のペア」を参照してください。

公開鍵暗号

2つの異なる乱数(鍵)を使用する暗号化手法。「公開鍵」および「公開鍵暗号」を参照してください。

公開鍵暗号

メッセージの送信側が受信側の公開鍵でメッセージを暗号化する処理。配信されたメッセージは、受信側の秘密鍵で復号化されます。

公開鍵と秘密鍵のペア

暗号化および復号化に使用される2つの数字のセットで、1つは秘密鍵、もう1つは公開鍵と呼ばれます。公開鍵は通常広く使用可能であるのに対して、秘密鍵はそれぞれの所有者によって保持されます。数学的に関連付けられてはいますが、計算によって公開鍵から秘密鍵を求めるのはほぼ不可能と考えられています。公開鍵と秘密鍵は、非対称型暗号化アルゴリズム(公開鍵暗号アルゴリズムともいう)または公開鍵暗号システムでのみ使用されます。鍵のペアの公開鍵または秘密鍵を使用して暗号化されたデータは、鍵のペアによってそれに関連付けられている鍵で復号化できます。ただし、公開鍵で暗号化されたデータを同じ公開鍵で復号化することや、秘密鍵で暗号化されたデータを同じ秘密鍵で復号化することはできません。

RSA

RSA Data Security社によって開発された公開鍵暗号技術。RSAアルゴリズムは、非常に大きな数の因数分解は困難であることに基づいています。RSA鍵のデコードに必要な処理能力および時間を考えると、数学的には実現不可能です。

スケーラビリティ

ビジネス・ニーズの変化に、ソフトウェアまたはハードウェア製品を対応させる手段。

Secure Sockets Layer

HTTPS(セキュアなHTTP)を使用した、インターネット経由でドキュメントを安全に送信するための標準。SSLは、デジタル署名を使用して送信データが改ざんされていないことを保証します。

シングル・サインオン

ユーザーが一度認証を受けると、その後の他のデータベースやアプリケーションへの接続時には厳密認証が透過的に発生する機能のこと。シングル・サインオンにより、ユーザーは1回の接続時に入力した1つのパスワードで、複数のアカウントおよびアプリケーションにアクセスできるようになります。

SSL

「Secure Sockets Layer」を参照してください。

ウォレット

デジタル・ウォレットとも呼ばれます。ウォレットとは、個々のエンティティに対するセキュリティ資格証明の格納と管理に使用されるデータ構造です。様々な暗号化サービスで使用できるように、資格証明の格納と取出しを実現します。Wallet Resource Locator(WRL)は、ウォレットの位置を特定するために必要な情報を提供します。

Wallet Resource Locator

Wallet Resource Locator (WRL)は、ウォレットの位置を特定するために必要な情報をすべて提供します。ウォレットの保存場所であるオペレーティング・システムのディレクトリへのパスです。

WRL

「Wallet Resource Locator」を参照してください。

X.509

デジタル証明を作成するための標準。

索引
A  C  D  E  F  H  I  L  M  N  O  P  R  S  T  U  W  X

A

アクセス・ログ, 7.1.2

アクセス

Fusion Middleware Control, 3.3

Al16UTF-16, 2.6.1.3 Apache, 用語集

セキュリティ・パッチ, B.4

バージョン, 1.1

Apache HTTP Server, 1.1 ApacheStyle, G.3.2.17 アプリケーション固有のエラー・ページ, B.1 認証, 8.1, 用語集 認可, 8.1 可用性, 用語集

C

cache.conf, 2.7.2.3, G.3.3

証明書, 用語集

デジタル, 用語集

X.509, G.2.10

認証局, 用語集 証明書失効リスト, G.2.2 CGI, 用語集 暗号文, 用語集 クリアテキスト, 用語集 CompatEnvVars, G.2.10 秘匿性, 8.1 構成ファイル

cache.conf, 2.7.2.3, G.3.3

dads.conf, 2.7.2.2, G.3.2

plsql.conf, 2.7.2.1

構文, 1.6

作成

DAD, 2.7.1

暗号化, 用語集

D

DAD, 用語集

作成, 2.7.1

パスワード

不明瞭化, G.3.2.11

dads.conf, 2.7.2.2, G.3.2 dadTool.pl, G.3.2.11 データベース・アクセス・ディスクリプタ, 2.7.2.2, G.3.2, 用語集 データベース使用上の注意, 2.6.1 DebugStyle, G.3.2.17 復号化, 用語集 デジタル証明, 用語集 デジタル・ウォレット, 用語集 ディレクティブ

ネームスペースの作成, B.7

RewriteLogLevel, C.6.1

ディレクトリ構造, 1.5, 1.5 識別名, G.2.10 Dynamic Monitoring Service, G.3.1.1

E

暗号化, 1.3.1, 用語集

エントリ, 用語集

エラー・ログ, C.6.3

ExportCertData, G.2.10

F

フェイルオーバー, 用語集

FakeBasicAuth, G.2.10

FAQ, B

Apacheセキュリティ・パッチ, B.4

圧縮

出力, B.6

ISPの顧客に対するHTTPSの提供, B.2 Webサイトの保護

ハッカー, B.8

機能, 1.1 よくある質問, B Fusion Middleware Control, 用語集

アクセス, 3.3

管理, 3

Oracle HTTP Server, 3.4

Oracle HTTP Serverのホームページ, 3.4

H

ハッカー, B.8

HTTP, 用語集

HTTPリスナー, 1.1

Hypertext Transfer Protocol, 用語集

I

identd, 7.1.2

IdentityCheck, 7.1.2

InfoDebug, G.3.2.20

L

LDAP, 用語集

Lightweight Directory Access Protocol, 用語集

リスナー・アドレス, 6.3

リスナー・ポート, 6.3

LoadModuleディレクティブ, 2.7.2.1

ログ・ファイル, C.6

場所, C.6

ログの形式

認証ユーザー, 7.1.2

バイト, 7.1.2

共通ログ形式, 7.1.2

データ, 7.1.2

ホスト, 7.1.2

ident, 7.1.2

リクエスト, 7.1.2

ステータス, 7.1.2

ログの切替え, 7.2.1.3

M

管理

Fusion Middleware Control, 3

Oracle HTTP Server, 3.4

mod_certheaders, 2.2 mod_dms, 2.4 mod_ossl, 2.5, 2.5

ディレクティブ

SSLAccelerator, G.2.1

SSLCARevocationFile, G.2.2

SSLCARevocationPath, G.2.3

SSLCipherSuite, G.2.4, G.2.13

SSLEngine, G.2.5

SSLMutex, G.2.8

SSLOptions, G.2.10

SSLPassPhraseDialog, G.2.11

SSLProtocol, G.2.12

SSLRequire, G.2.17

SSLRequireSSL, G.2.18

SSLSessionCache, G.2.19

SSLSessionCacheTimeout, G.2.20

SSLVerifyClient, G.2.21

SSLWallet, G.2.22

mod_perl, 1.1, 2.6, 2.6

データベース使用上の注意, 2.6.1

データベース接続のテスト, 2.6.1.2

mod_plsql, 2.7

構成ファイル, 2.7.2, G.3

cache.conf, 2.7.2.3, G.3.3

dads.conf, 2.7.2.2, G.3.2

plsql.conf, 2.7.2.1

構成パラメータ, 2.7.3 CustomOwa, G.3.2.3 PerPackageOwa, G.3.2.3 mod_ssl, 2.5 ModplsqlStyle, G.3.2.17 モジュール, 1.1, 用語集

mod_certheaders, 2.2

mod_dms, 2.4

mod_ossl, 2.5

mod_perl, 2.6

mod_plsql, 2.7

mod_ssl, 2.5

Multipurpose Internet Mail Extension, 4.6.2 multiviews, B.3, B.3

N

nFast, G.2.1

O

OptRenegotiate, G.2.10

ORA_IMPLICIT, 2.6.1.3

ORA_NCHAR, 2.6.1.3

Oracle Enterprise Manager Application Server Control, 用語集

Oracle HTTP Server

C/C++, 1.3.8

コンポーネント

HTTPリスナー, 1.1

モジュール, 1.1

Perlインタプリタ, 1.1

圧縮

出力, B.6

構成ファイルの構文, 1.6 ディレクトリ構造, 1.5 FAQ, B 機能, 1.1 ロード・バランシング, 1.3.9 管理, 3.4 概要, 1 Perl, 1.3.6 PHP, 1.3.7 PL/SQL Server Pages, 1.3.4 プロセス・モデル

セキュリティに関する考慮事項, 5.4

再起動, 4.3.4 セキュリティ, 1.3.1 サーバー側インクルード, 1.3.5 シングル・サインオン, 1.3.2 起動, 4.3.2 停止, 4.3.3 サポート, 1.7 URLリライティングとプロキシ・サーバー, 1.3.3 Oracle HTTP Serverのホームページ, 3.4 概要, 1

P

PEM, 用語集

Perl

データベースへのアクセス, 2.6.1.1

Perlインタプリタ, 1.1 PIDファイル, 4.3.1 平文, 用語集 PL/SQL, 用語集 plsql.conf, 2.7.2.1 PlsqlErrorStyle

ApacheStyle, G.3.2.17

DebugStyle, G.3.2.17

ModplsqlStype, G.3.2.17

PlsqlInfoLogging

InfoDebug, G.3.2.20

プラグイン, 用語集 ポート, 用語集 秘密鍵, 用語集 保護

Webサイト, B.8

プロキシ・サーバー, 用語集 公開鍵, 用語集 公開鍵暗号, 用語集 公開鍵暗号, 用語集 公開鍵と秘密鍵のペア, 用語集

R

再起動, 4.3.4

リライト・ログ, C.6.1, C.6.1

RewriteLogLevel, C.6.1

RSA, 用語集

S

スケーラビリティ, 用語集

スクリプト・ログ, C.6.2

Secure Sockets Layer, 用語集

Secure Sockets Layer, 4.6.1

セキュリティ

認証, 8.1

認可, 8.1

秘匿性, 8.1

シングル・サインオン, 用語集 指定

リスナー・アドレス, 6.3

リスナー・ポート, 6.3

ログ・ファイルの場所, C.6

ログ・ファイル, C.6

アクセス・ログ, 7.1.2

エラー・ログ, C.6.3

ログの切替え, 7.2.1.3

PIDファイル, 4.3.1

リライト・ログ, C.6.1, C.6.1

スクリプト・ログ, C.6.2

SQL NCHARデータ型, 2.6.1.3 SSL, 4.6.1, 用語集 SSL HWアクセラレーション・サポート, 1.3.1 SSLAccelerator, G.2.1

nFast, G.2.1

SSLCARevocationFile, G.2.2 SSLCARevocationPath, G.2.3 SSLCipherSuite, G.2.4, G.2.13

タグ, G.2.4, G.2.13

SSLEngine, G.2.5 SSLMutex, G.2.8 SSLOptions, G.2.10

CompatEnvVars, G.2.10

ExportCertData, G.2.10

FakeBasicAuth, G.2.10

OptRenegotiate, G.2.10

StdEnvVars, G.2.10

StrictRequire, G.2.10

SSLPassPhraseDialog, G.2.11 SSLProtocol, G.2.12 SSLReqiureSSL, G.2.18 SSLRequire, G.2.17

変数

SSL, G.2.17

標準, G.2.17

SSLSessionCache, G.2.19 SSLSessionCacheTimeout, G.2.20 SSLVerifyClient, G.2.21 SSLWallet, G.2.22 起動, 4.3.2 StdEnvVars, G.2.10 停止, 4.3.3 StrictRequire, G.2.10 サポート, 1.7

T

トラブルシューティング, C

PMファイルが正しく検出されない場合にOracle HTTP Serverが起動できない, C.4

権限拒否, C.3

U

UTF8, 2.6.1.3

W

ウォレット, 用語集

デジタル, 用語集

Wallet Resource Locator, 用語集 WRL, 用語集

X

X.509, 用語集

オラクル社の法律上の注意点について

コピーライトについて

Copyright © 1994-2014, Oracle and/or its affiliates.All rights reserved.

商標と登録商標について

OracleおよびJavaはOracle Corporationおよびその関連企業の登録商標です。その他の名称は、それぞれの所有者の商標または登録商標です。

Intel、Intel Xeonは、Intel Corporationの商標または登録商標です。すべてのSPARCの商標はライセンスをもとに使用し、SPARC International, Inc.の商標または登録商標です。AMD、Opteron、AMDロゴ、AMD Opteronロゴは、Advanced Micro Devices, Inc.の商標または登録商標です。UNIXは、The Open Groupの登録商標です。

ライセンス制約の保証と結果的に生じる損害の免責

このソフトウェアおよび関連ドキュメントの使用と開示は、ライセンス契約の制約条件に従うものとし、知的財産に関する法律により保護されています。ライセンス契約で明示的に許諾されている場合もしくは法律によって認められている場合を除き、形式、手段に関係なく、いかなる部分も使用、複写、複製、翻訳、放送、修正、ライセンス供与、送信、配布、発表、実行、公開または表示することはできません。このソフトウェアのリバース・エンジニアリング、逆アセンブル、逆コンパイルは互換性のために法律によって規定されている場合を除き、禁止されています。

保証免責

ここに記載された情報は予告なしに変更される場合があります。また、誤りが無いことの保証はいたしかねます。誤りを見つけた場合は、オラクル社までご連絡ください。

制限付権利

このソフトウェアまたは関連ドキュメントを、米国政府機関もしくは米国政府機関に代わってこのソフトウェアまたは関連ドキュメントをライセンスされた者に提供する場合は、次の通知が適用されます。

U.S. GOVERNMENT END USERS: Oracle programs, including any operating system, integrated software, any programs installed on the hardware, and/or documentation, delivered to U.S. Government end users are "commercial computer software" pursuant to the applicable Federal Acquisition Regulation and agency-specific supplemental regulations.As such, use, duplication, disclosure, modification, and adaptation of the programs, including any operating system, integrated software, any programs installed on the hardware, and/or documentation, shall be subject to license terms and license restrictions applicable to the programs.No other rights are granted to the U.S. Government.

危険な用途への使用について

このソフトウェアもしくはハードウェアは様々な情報管理アプリケーションでの一般的な使用のために開発されたものです。このソフトウェアもしくはハードウェアは、危険が伴うアプリケーション（人的傷害を発生させる可能性があるアプリケーションを含む）への用途を目的として開発されていません。このソフトウェアもしくはハードウェアを危険が伴うアプリケーションで使用する際、安全に使用するために、適切な安全装置、バックアップ、冗長性（redundancy）、その他の対策を講じることは使用者の責任となります。このソフトウェアもしくはハードウェアを危険が伴うアプリケーションで使用したことに起因して損害が発生しても、オラクル社およびその関連会社は一切の責任を負いかねます。

第三者のコンテンツ、製品、サービスに対する免責事項

このソフトウェアまたはハードウェア、そしてドキュメントは、第三者のコンテンツ、製品、サービスへのアクセス、あるいはそれらに関する情報を提供することがあります。オラクル社およびその関連会社は、第三者のコンテンツ、製品、サービスに関して一切の責任を負わず、いかなる保証もいたしません。オラクル社およびその関連会社は、第三者のコンテンツ、製品、サービスへのアクセスまたは使用によって損失、費用、あるいは損害が発生しても一切の責任を負いかねます。

ドラフトのアルファ版およびベータ版ドキュメントについて

このドキュメントが試作版の場合:

このドキュメントは試作版であり、デモおよび暫定使用のみを目的としたものです。このソフトウェアを使用するハードウェアに限定するものではありません。オラクル社およびその関連会社は、このドキュメントに関して一切の責任を負わず、いかなる保証もいたしません。また、このドキュメントを使用したことによって損失、費用、あるいは損害が発生しても、一切の責任を負いかねます。