Oracle® Fusion Middleware Oracle HTTP Server管理者ガイド

11g リリース1(11.1.1)

B55928-06(原本部品番号:E10144-07)

目次

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

はじめに

- 対象読者

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

- 関連ドキュメント

- 表記規則

第I部 Oracle HTTP Serverの理解

1 Oracle HTTP Serverの概要

- 1.1 Oracle HTTP Serverについて

- 1.1.1 Oracle HTTP Serverの主要機能

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

- 1.1.1.2 セキュリティ: シングル・サインオン

- 1.1.1.3 分散オーサリングおよびバージョニング(DAV)のサポート

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

- 1.1.1.5 Oracle Process Manager and Notification Server

- 1.1.1.6 Oracleプラグイン

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

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

- 1.1.1.9 Perl

- 1.1.1.10 PHP

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

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

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

- 1.3 構成ファイルの理解

- 1.4 Oracle HTTP Serverのサポート

2 Oracle HTTP Serverの管理ツール

- 2.1 Oracle HTTP Serverの管理の概要

- 2.2 Fusion Middleware Controlへのアクセス

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

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

- 2.4 opmnctlコマンドライン・ツールの使用方法

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

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

- 3.2 mod_certheaders

- 3.3 mod_dms

- 3.4 mod_onsint

- 3.5 mod_oradav

- 3.6 mod_ossl

- 3.7 mod_osso

- 3.8 mod_perl

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

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

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

- 3.8.1.3 SQL NCHARデータ型の使用

- 3.9 mod_reqtimeout

- 3.10 mod_plsql

- 3.10.1 DADの作成

- 3.10.2 mod_plsqlの構成ファイル

- 3.10.2.1 plsql.conf

- 3.10.2.2 dads.conf

- 3.10.2.3 cache.conf

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

- 3.11 mod_security

- 3.11.1 mod_securityの有効化

- 3.11.2 mod_securityの構成

- 3.12 mod_wl_ohs

第II部 Oracle HTTP Serverの管理

4 Oracle HTTP Serverのスタート・ガイド

- 4.1 Oracle HTTP Serverの起動、停止および再起動

- 4.1.1 PIDファイルの理解

- 4.1.2 Oracle HTTP Serverの起動

- 4.1.2.1 Fusion Middleware Controlを使用したOracle HTTP Serverの起動

- 4.1.2.2 opmnctlを使用したOracle HTTP Serverの起動

- 4.1.2.3 特権ポートでのOracle HTTP Serverの起動

- 4.1.3 Oracle HTTP Serverの停止

- 4.1.3.1 Fusion Middleware Controlを使用したOracle HTTP Serverの停止

- 4.1.3.2 opmnctlを使用したOracle HTTP Serverの停止

- 4.1.4 Oracle HTTP Serverの再起動

- 4.1.4.1 Fusion Middleware Controlを使用したOracle HTTP Serverの再起動

- 4.1.4.2 opmnctlを使用したOracle HTTP Serverの再起動

- 4.2 Oracle HTTP Serverコンポーネントの作成

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

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

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

- 4.4 Oracle HTTP Serverの構成

- 4.4.1 Secure Sockets Layerの構成

- 4.4.2 MIME設定の構成

- 4.4.2.1 MIMEタイプの構成

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

- 4.4.2.3 MIME言語の構成

- 4.4.3 mod_perlモジュールの構成

- 4.4.4 mod_wl_ohsの構成

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

- 4.4.6 apxsスクリプトを使用するためのOracle HTTP Server環境の構成

- 4.4.7 Optionsメソッドの無効化

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

- 4.5 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.1.1 Fusion Middleware Controlを使用したポート番号の使用状況の表示

- 6.2 ポートの管理

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

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

- 6.2.3 管理ポートの変更後のWebLogicドメインへのOracle HTTP Serverの登録の更新

- 6.3 仮想ホストの構成

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

- 6.3.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 mod_ossoを使用したユーザーの認証

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

9 mod_oradavの構成

- 9.1 mod_oradavモジュールの概要

- 9.1.1 WebDAV

- 9.1.2 OraDAV

- 9.1.3 OraDAVのアーキテクチャ

- 9.1.4 OraDAVの使用モデル

- 9.1.5 PROPFINDのセキュリティ

- 9.2 mod_oradavの構成

- 9.2.1 OraDAVの構成ディレクティブ

- 9.2.2 Fusion Middleware Controlを使用したmod_oradavの構成

- 9.2.3 mod_oradev.confの編集

- 9.3 WebDAV WebDAVセキュリティに関する考慮事項

- 9.4 OraDAVのパフォーマンスに関する考慮事項

- 9.4.1 ディスク・キャッシュとOraDAVの併用

- 9.4.2 WebDAVアクティビティ用のOracle Web Cacheのバイパス

- 9.5 OraDAVでのグローバリゼーション・サポートに関する考慮事項

- 9.6 DAVファイルの場所

第III部 付録および用語集

A サード・パーティのWebサーバーに対するOracleプラグインの使用

- A.1 Oracle Proxy Plug-Inの使用

- A.1.1 Oracle Proxy Plug-Inの概要

- A.1.2 Oracle Proxy Plug-Inのインストール

- A.1.3 Oracle Proxy Plug-Inの構成

- A.1.3.1 プロキシ・サーバー定義ファイル

- A.1.3.2 プロキシ定義ファイルのパラメータ

- A.1.3.3 Oracle Proxy Plug-Inの動作の定義

- A.1.4 Oracle Proxy Plug-Inを使用するためのSun Java System Webサーバーの構成

- A.1.5 Oracle Proxy Plug-Inを使用するためのMicrosoft IIS 6.0リスナーの構成

- A.1.6 Oracle Proxy Plug-Inを使用するためのMicrosoft IIS 7.0リスナーの構成

- A.1.7 リクエストをOHSにプロキシする際のIISからのファイルの同時処理

- A.1.8 Oracle Proxy Plug-Inの使用上の注意

- A.1.9 Oracle Proxy Plug-Inのトラブルシューティング

- A.2 Oracle SSO Plug-Inの使用

- A.2.1 Oracle SSO Plug-Inの概要

- A.2.2 Oracle SSO Plug-Inのインストール

- A.2.3 Oracle Single Sign-On Serverへの登録

- A.2.4 Oracle SSO Plug-Inの構成

- A.2.4.1 Oracle SSO Plug-Inのディレクティブ

- A.2.4.2 リソースを保護するためのルール

- A.2.5 Oracleシングル・サインオンを使用するためのMicrosoft IIS 6.0リスナーの構成

- A.2.6 Oracleシングル・サインオンを使用するためのMicrosoft IIS 7.0リスナーの構成

- A.2.7 Oracle SSO Plug-Inのトラブルシューティング

B よくある質問

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

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

- B.3 Oracle HTTP Serverをキャッシュとして使用できますか

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

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

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

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

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

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

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

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

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

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 EMでPerSetEnvを設定解除して構成済のPerSetEnv変数を削除すると例外がスローされる

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

- C.6.1 リライト・ログ

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

- C.6.3 エラー・ログ

- C.7 クライアントIPアドレスがOracle Web Cacheによる構成で使用されない

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

- D.1 mod_certheaders

- D.1.1 AddCertHeader

- D.1.2 SimulateHttps

- D.2 mod_onsint

- D.2.1 OpmnHostPort

- D.3 mod_oradav

- D.3.1 ORAAllowIndexDetails

- D.3.2 ORAAltPassword

- D.3.3 ORACacheDirectory

- D.3.4 ORACacheMaxResourceSize

- D.3.5 ORACachePrunePercent

- D.3.6 ORACacheTotalSize

- D.3.7 ORAConnect

- D.3.8 ORAConnectSN

- D.3.9 ORAContainerName

- D.3.10 ORAException

- D.3.11 ORAGetSource

- D.3.12 ORALockExpirationPad

- D.3.13 ORAPackageName

- D.3.14 ORAPassword

- D.3.15 ORARootPrefix

- D.3.16 ORAService

- D.3.17 ORATraceEvents

- D.3.18 ORATraceLevel

- D.3.19 ORAUser

- D.4 mod_ossl

- D.4.1 SSLAccelerator

- D.4.2 SSLCARevocationFile

- D.4.3 SSLCARevocationPath

- D.4.4 SSLCipherSuite

- D.4.5 SSLEngine

- D.4.6 SSLLog

- D.4.7 SSLLogLevel

- D.4.8 SSLMutex

- D.4.9 SSLOptions

- D.4.10 SSLPassPhraseDialog

- D.4.11 SSLProtocol

- D.4.12 SSLRequire

- D.4.13 SSLRequireSSL

- D.4.14 SSLSessionCache

- D.4.15 SSLSessionCacheTimeout

- D.4.16 SSLVerifyClient

- D.4.17 SSLWallet

- D.4.18 SSLWalletPassword

- D.5 mod_osso

- D.5.1 OssoConfigFile

- D.5.2 OssoIdleTimeout

- D.5.3 OssoIgnoreUri

- D.5.4 OssoIpCheck

- D.5.5 OssoLegacyApp

- D.5.6 OssoProtectedOnly

- D.5.7 OssoRedirectByForm

- D.5.8 OssoSecureCookies

- D.5.9 OssoSendCacheHeaders

- D.5.10 OssoHTTPOnly

- D.6 mod_plsql

- D.6.1 plsql.conf

- D.6.1.1 PlsqlDMSEnable

- D.6.1.2 PlsqlLogEnable

- D.6.1.3 PlsqlLogDirectory

- D.6.1.4 PlsqlIdleSessionCleanupInterval

- D.6.2 dads.conf

- D.6.2.1 PlsqlAfterProcedure

- D.6.2.2 PlsqlAlwaysDescribeProcedure

- D.6.2.3 PlsqlAuthenticationMode

- D.6.2.4 PlsqlBeforeProcedure

- D.6.2.5 PlsqlBindBucketLengths

- D.6.2.6 PlsqlBindBucketWidths

- D.6.2.7 PlsqlCGIEnvironmentList

- D.6.2.8 PlsqlConnectionTimeout

- D.6.2.9 PlsqlConnectionValidation

- D.6.2.10 PlsqlDatabaseConnectString

- D.6.2.11 PlsqlDatabasePassword

- D.6.2.12 PlsqlDatabaseUserName

- D.6.2.13 PlsqlDefaultPage

- D.6.2.14 PlsqlDocumentPath

- D.6.2.15 PlsqlDocumentProcedure

- D.6.2.16 PlsqlDocumentTablename

- D.6.2.17 PlsqlErrorStyle

- D.6.2.18 PlsqlExclusionList

- D.6.2.19 PlsqlFetchBufferSize

- D.6.2.20 PlsqlInfoLogging

- D.6.2.21 PlsqlMaxRequestsPerSession

- D.6.2.22 PlsqlNLSLanguage

- D.6.2.23 PlsqlPathAlias

- D.6.2.24 PlsqlPathAliasProcedure

- D.6.2.25 PlsqlRequestValidationFunction

- D.6.2.26 PlsqlSessionCookieName

- D.6.2.27 PlsqlSessionStateManagement

- D.6.2.28 PlsqlTransferMode

- D.6.2.29 PlsqlUploadAsLongRaw

- D.6.3 cache.conf

- D.6.3.1 PlsqlCacheCleanupTime

- D.6.3.2 PlsqlCacheDirectory

- D.6.3.3 PlsqlCacheEnable

- D.6.3.4 PlsqlCacheMaxAge

- D.6.3.5 PlsqlCacheMaxSize

- D.6.3.6 PlsqlCacheTotalSize

- D.7 mod_wl_ohs

- D.7.1 ConnectRetrySecs

- D.7.2 ConnectTimeoutSecs

- D.7.3 Debug

- D.7.4 DebugConfigInfo

- D.7.5 DefaultFileName

- D.7.6 DynamicServerList

- D.7.7 ErrorPage

- D.7.8 FileCaching

- D.7.9 Idempotent

- D.7.10 KeepAliveEnabled

- D.7.11 KeepAliveSecs

- D.7.12 MatchExpression

- D.7.13 MaxPostSize

- D.7.14 MaxSkipTime

- D.7.15 PathPrepend

- D.7.16 PathTrim

- D.7.17 QueryFromRequest

- D.7.18 WebLogicCluster

- D.7.19 WebLogicHost

- D.7.20 WebLogicPort

- D.7.21 WebLogicSSLVersion

- D.7.22 WLCookieName

- D.7.23 WLDNSRefreshInterval

- D.7.24 WLExcludePathOrMimeType

- D.7.25 WLForwardUriUnparsed

- D.7.26 WLIOTimeoutSecs

- D.7.27 WLLocalIP

- D.7.28 WLLogFile

- D.7.29 WLProxyPassThrough

- D.7.30 WLProxySSL

- D.7.31 WLProxySSLPassThrough

- D.7.32 WLServerInitiatedFailover

- D.7.33 WLSocketTimeoutSecs

- D.7.34 WLSRequest

- D.7.35 WLTempDir

用語集

索引

Oracle® Fusion Middleware

Oracle HTTP Server管理者ガイド

11g リリース1(11.1.1)

B55928-06(原本部品番号:E10144-07)

2013年3月

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

Oracle Fusion Middleware Oracle HTTP Server管理者ガイド, 11g リリース1(11.1.1)

B55928-06

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

原本主著者: Srinivas Sudhindra

原本協力者: Jeff Trawick, 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の管理方法(Oracle HTTP Serverの起動および停止方法を含む)、ネットワーク・コンポーネントの管理方法、リスニング・ポートの構成方法、およびモジュールを使用した基本機能の拡張方法について説明します。

対象読者

『Oracle Fusion Middleware 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 Fusion Middleware Oracle Web Tierインストレーション・ガイド』のスタンドアロン・モードでのOracle Web Tierのインストールに関する項を参照してください。

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

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=accid=infoまたはhttp://www.oracle.com/pls/topic/lookup?ctx=accid=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の管理者ガイド

- 『Oracle Fusion Middleware高可用性ガイド』

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

注意:

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

表記規則

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

規則

意味

太字

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

イタリック体

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

固定幅フォント

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

第I部

Oracle HTTP Serverの理解

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

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

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

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

1 Oracle HTTP Serverの概要

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

注意:

特に他に記載のないかぎり、このドキュメントに収められている情報は、Oracle HTTP ServerがOracle WebLogic ServerおよびOracle Fusion Middleware Controlにインストールされている場合に適用できます。このドキュメントの対象読者は、『Oracle Fusion Middlewareコンセプト・ガイド』および『Oracle Fusion Middleware管理者ガイド』の説明に従ってOracle Fusion Middlewareの主要概念を十分に理解しておく必要があります。

スタンドアロン・モードでのOracle HTTP Serverのインストールについては、『Oracle Fusion Middleware Oracle Web Tierインストレーション・ガイド』のスタンドアロン・モードでのOracle Web Tierのインストールに関する項を参照してください。

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

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

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

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

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

1.1 Oracle HTTP Serverについて

Oracle HTTP Server 11gリリース1(11.1.1.7.0)は、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を使用)

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

- C++(FastCGIを使用)

- PHP(mod_phpを使用)

- Oracle PL/SQL

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

図1-1は、Oracleホーム、およびOracleインスタンスとOracle WebLogic Serverドメインから成るファーム(farm1)の例を示しています。この例のOracleインスタンスには、2つのコンポーネント(Oracle HTTP Server (ohs1)およびOracle Web Cache (webcache1))が含まれています。Oracle WebLogic Serverドメインには、2つの管理対象サーバーが含まれています。

注意:

Fusion Middlewareの概念の詳細は、『Oracle Fusion Middlewareコンセプト・ガイド』を参照してください。

図1-1 Oracle Fusion Middlewareファーム

「図1-1 Oracle Fusion Middlewareファーム」の説明

1.1.1 Oracle HTTP Serverの主要機能

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

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

- 1.1.1.2項「セキュリティ: シングル・サインオン」

- 1.1.1.3項「分散オーサリングおよびバージョニング(DAV)のサポート」

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

- 1.1.1.5項「Oracle Process Manager and Notification Server」

- 1.1.1.6項「Oracleプラグイン」

- 1.1.1.7項「PL/SQL Server Pages」

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

- 1.1.1.9項「Perl」

- 1.1.1.10項「PHP」

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

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

1.1.1.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 Fusion Middlewareセキュリティ・ガイド』

1.1.1.2 セキュリティ: シングル・サインオン

HTTPサーバーのBasic認証では、暗号化パスワード付きのフラット・ファイルを使用します。Oracle HTTP Serverでは、シングル・サインオンと同様に標準の認証がサポートされます。シングル・サインオンをサイト間およびアプリケーション間でサポートするために、mod_ossoモジュールが組み込まれています。このセキュリティ機能により、ユーザーは1回ログインするだけで済むため、エンド・ユーザーの利便性が向上します。また、セキュリティのほとんどが宣言的に処理されるため、開発サイクルが簡略化されます。

関連項目:

- 『Oracle Fusion Middlewareセキュリティ・ガイド』

- 3.7項「mod_osso」

1.1.1.3 分散オーサリングおよびバージョニング(DAV)のサポート

WebDAVは、HTTPベースのプロトコルです。このプロトコルを使用すると、Microsoft OfficeやMicrosoft Windows ExplorerなどのDAV対応クライアントでサーバー上のファイルを編集できます。Oracle HTTP Serverでは、mod_oradavモジュールによりDAVサポートが拡張されています。このモジュールにより、WebDAVクライアントはOracle Databaseに接続し、内容の読取りと書込み、および各種スキーマ内のドキュメントの問合せとロックを実行できます。

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

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

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

1.1.1.5 Oracle Process Manager and Notification Server

Oracle Fusion Middlewareは、Oracle Process Manager and Notification Server(OPMN)と統合された高可用性インフラストラクチャであり、Oracle HTTP Serverプロセスのプロセス管理、障害検出およびフェイルオーバーに対応しています。

関連項目:

- 『Oracle Fusion Middleware高可用性ガイド』

- 『Oracle Fusion Middleware Oracle Process Manager and Notification Server管理者ガイド』

1.1.1.6 Oracleプラグイン

Oracleは、サード・パーティのWebサーバーがOracle HTTP Serverと連携できるようにするために、次のプラグインを提供しています。

- Oracle Proxy Plug-Inは、単独で使用可能なコンポーネントです。このコンポーネントにより、Microsoft IISおよびSun Java System WebサーバーはリクエストをOracle HTTP Serverにルーティングできます。

- Oracle SSO Plug-Inは、単独で使用可能なコンポーネントです。このコンポーネントにより、Microsoft IISをOracle Fusion Middleware Single Sign-Onと統合できます。

これらのプラグインの詳細は、付録A「サード・パーティのWebサーバーに対するOracleプラグインの使用」を参照してください。

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

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

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

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

1.1.1.9 Perl

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

関連項目:

3.8項「mod_perl」

1.1.1.10 PHP

Hypertext Preprocessor(PHP)は、HTMLに埋込み可能なスクリプト言語であるため、Web開発に非常に適しています。

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

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

1.1.1.12 ロード・バランシング

Oracle HTTP Serverには、Oracle WebLogic Serverにリクエストをルーティングするmod_wl_ohsモジュールが含まれます。mod_wl_ohsモジュールは、Apache HTTP Server用のOracle WebLogic Serverプラグイン(mod_wl)と同じロード・バランシング機能を提供します。この項に記載されているモジュールは、1.1.1.6項「Oracleプラグイン」で説明されているプラグインとは異なることに注意してください。

詳細は、『Oracle WebLogic ServerにおけるWebサーバー・プラグインの使用』の動的サーバー・リストに関する項を参照してください。

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

Oracle HTTP Serverのディレクトリは、OracleホームとOracleインスタンスに分割されます。Oracleホーム・ディレクトリは読取り専用で、Oracle Fusion Middlewareのバイナリを含みます。Oracleインスタンス・ディレクトリは、Oracle HTTP Serverのモジュール構成ファイルおよびコンテンツ・ページを含みます。表1-1に、Oracleホーム・ディレクトリ内のOracle HTTP Server用のサブディレクトリを示します。

表1-1 Oracleホーム・ディレクトリ

ディレクトリ

目次

ohs/bin

Oracle HTTP Serverのバイナリ・ファイル。

ohs/conf

Oracle HTTP Serverテンプレート構成ファイル。Oracle HTTP Serverコンポーネントが構成されるときにOracleインスタンスにプロビジョニングされます。

注意: これらのファイルは、Oracle HTTP Serverの上級ユーザー以外は編集しないでください。

ohs/modules

Oracle HTTP Serverのモジュール

表1-2に、Oracleインスタンス・ディレクトリ内のOracle Fusion Middleware用のサブディレクトリを示します。

表1-2 Oracleインスタンス・ディレクトリ

ディレクトリ名

目次

config/OHS/component_name

Oracle HTTP Serverの構成ファイル。

config/OHS/component_name/htdocs

Oracle HTTP Serverの静的コンテンツおよびCGIスクリプト。

config/OHS/component_name/moduleconf

Oracle HTTP Server構成に自動的に含められる構成ファイル。構成に含めないファイルで拡張子が.confのものは、このディレクトリ内に作成しないように注意してください。

diagnostics/logs/OHS/component_name

Oracle HTTP Serverコンポーネント・インスタンスのログ・ファイル。

1.3 構成ファイルの理解

Oracle HTTP Serverの構成は、Apache HTTP Server構成ファイルとまったく同じ方法で、構成ファイル内のディレクティブを介して指定します。Apache HTTP Server構成ファイルの詳細は、『Apache HTTP Server 2.2 Users Guide』を参照してください。

1.4 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がOracle WebLogic ServerおよびOracle Fusion Middleware Controlにインストールされている場合に適用できます。このドキュメントの対象読者は、『Oracle Fusion Middlewareコンセプト・ガイド』および『Oracle Fusion Middleware管理者ガイド』の説明に従ってOracle Fusion Middlewareの主要概念を十分に理解しておく必要があります。

スタンドアロン・モードでのOracle HTTP Serverのインストールについては、『Oracle Fusion Middleware Oracle Web Tierインストレーション・ガイド』のスタンドアロン・モードでのOracle Web Tierのインストールに関する項を参照してください。

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

- Fusion Middleware Control(ブラウザベースの管理ツール)。

- opmnctl(コマンドライン管理ツール)。

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

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

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

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

- 2.4項「opmnctlコマンドライン・ツールの使用方法」

2.1 Oracle HTTP Serverの管理の概要

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

関連項目:

Oracle Fusion Middlewareの管理者ガイド

2.2 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のインストール中に指定したパスワードです。

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

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

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

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

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

図2-1 Oracle HTTP Serverのホームページ

「図2-1 Oracle HTTP Serverのホームページ」の説明

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

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

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

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

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

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

関連項目:

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

2.4 opmnctlコマンドライン・ツールの使用方法

opmnctlコマンドライン・インタフェースを使用すると、システム・コンポーネントの起動と停止、システム・コンポーネントの監視、およびプロセス管理に関連するその他多くのタスクの実行ができます。

Oracle HTTP Serverコンポーネントを使用して実行できるopmnctl操作の一部を次に示します。

- 追加コンポーネントの作成。

- 既存コンポーネントの削除。

- コンポーネントの起動と停止。

- コンポーネントのステータスの確認。

- コンポーネントのポート使用状況の確認(第6章「接続の管理」を参照)。

関連項目:

Oracle Process Manager and Notification Server

opmnctlコマンドは、OracleホームのORACLE_HOME/opmn/binディレクトリと、OracleインスタンスのORACLE_INSTANCE/binディレクトリ内にあります。

注意:

Oracle HTTP Serverが稼働している同じORACLE_INSTANCEからopmnctlを実行することをお薦めします(そのインスタンスが使用できない場合を除きます)。

ORACLE_INSTANCEが作成されていなければ、ORACLE_HOME/opmn/binからopmnctlを実行します。

次の例では、コマンド・シェルでopmnctlを使用してOracle HTTP Serverコンポーネントを起動してから、そのコンポーネントのステータスを確認しています。

> $ORACLE_INSTANCE/bin/opmnctl startproc ias-component=ohs1
> $ORACLE_INSTANCE/bin/opmnctl status
Processes in Instance: instance1
---------------------------------+--------------------+---------+---------
ias-component                    | process-type       |     pid | status
---------------------------------+--------------------+---------+---------
webcache1                        | WebCache-admin     |   19556 | Alive
webcache1                        | WebCache           |   19555 | Alive
ohs1                             | OHS                |    7249 | Alive

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

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

注意:

特に他に記載のないかぎり、このドキュメントに収められている情報は、Oracle HTTP ServerがOracle WebLogic ServerおよびOracle Fusion Middleware Controlにインストールされている場合に適用できます。このドキュメントの対象読者は、『Oracle Fusion Middlewareコンセプト・ガイド』および『Oracle Fusion Middleware管理者ガイド』の説明に従ってOracle Fusion Middlewareの主要概念を十分に理解しておく必要があります。

スタンドアロン・モードでのOracle HTTP Serverのインストールについては、『Oracle Fusion Middleware Oracle Web Tierインストレーション・ガイド』のスタンドアロン・モードでのOracle Web Tierのインストールに関する項を参照してください。

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

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

- 3.2項「mod_certheaders」

- 3.3項「mod_dms」

- 3.4項「mod_onsint」

- 3.5項「mod_oradav」

- 3.6項「mod_ossl」

- 3.7項「mod_osso」

- 3.8項「mod_perl」

- 3.10項「mod_plsql」

- 3.11項「mod_security」

- 3.12項「mod_wl_ohs」

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

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

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

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

- mod_certheaders

- mod_dms

- mod_onsint

- mod_oradav

- mod_ossl

- mod_osso

- mod_plsql

- mod_security

- mod_wl_ohs

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

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

関連項目:

有効なディレクティブのリストと説明を含む、Apache HTTP Serverモジュールの詳細は、次のApacheドキュメントを参照してください。

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

- mod_authz_host

- mod_actions

- mod_alias

- mod_asis

- mod_auth_basic

- mod_auth_dbm

- mod_authn_anon

- mod_autoindex

- mod_authn_dbm

- mod_authn_file

- mod_authz_groupfile

- mod_authz_host

- mod_authz_user

- mod_cern_meta

- mod_cgi

- mod_cgid (UNIXのみ)

- mod_deflate

- mod_dir

- mod_env

- mod_expires

- mod_fastcgi

- mod_headers

- mod_imagemap

- mod_include

- mod_info

- mod_log_config

- mod_logio

- mod_mime

- mod_mime_magic

- mod_negotiation

- mod_perl

- mod_proxy

- mod_proxy_balancer

- mod_proxy_connect

- mod_proxy_ftp

- mod_proxy_http

- mod_rewrite

- mod_reqtimeout

- mod_setenvif

- mod_speling

- mod_status

- mod_unique_id

- mod_userdir

- mod_usertrack

3.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経由で受信されたものとして扱います。

3.3 mod_dms

注意:

Oracle HTTP Server 11.1.1では、mod_dmsはデフォルトで無効になっています。

mod_dmsモジュールでは、Oracle Dynamic Monitoring Service(DMS)を使用してサイト・コンポーネントのパフォーマンスを監視できます。

DMSの詳細は、『Oracle Fusion Middlewareパフォーマンスおよびチューニング・ガイド』のOracleダイナミック・モニタリング・サービス(DMS)に関する章を参照してください。

3.4 mod_onsint

mod_onsintモジュールは、Oracle Notification Service(ONS)およびOracle Process Manager and Notification Server(OPMN)を使用した統合サポートを提供します。これはOracleモジュールであり、次の機能を提供します。

- Oracle HTTP Server内でのONS通知にサブスクリプション・メカニズムを提供します。mod_onsintは、Oracle HTTP Serverインスタンス内のすべてのモジュールに対する通知を受信します。

- リスナーが起動され使用可能であることをOPMNが認識できるように、PROC_READY ONS通知をパブリッシュします。また、DMSメトリックなどの情報や、リスナーへの接続方法に関する情報も提供します。これらの通知は、Oracle HTTP Serverインスタンスが実行されているかぎり、mod_onsintにより定期的に送信されます。

mod_onsintは、UNIXではOracle HTTP Server親プロセス内のスレッドとして、Windowsでは子プロセス内のスレッドとして実行されます。このスレッドは、ONSメッセージの送受信を担当します。

mod_onsintに対して構成できるOpmnHostPortというオプションのディレクティブがあります。このディレクティブを使用すると、mod_onsintが動作中のOracle HTTP Serverインスタンスをpingするため、OPMNが使用するホスト名とポートを指定できます。OpmnHostPortが指定されていないと、mod_onsintはHTTPポートを自動的に選択します。状況によっては、OPMNがリスナーのpingに使用するHTTPポートとホスト名に特定のものを選択する場合があります。

OpmnHostPortの構文形式は次のとおりで、OPMNに渡す値を指定します。

OpmnHostPort [<http> | <https>://]<host>:<port>

たとえば、次の行は、OPMNがこのリスナーをpingするときにHTTP、localhostインタフェースおよびポート7778を使用することを指定しています。

OpmnHostPort http://localhost:7778

ONSおよびOPMNの詳細は、『Oracle Fusion Middleware Oracle Process Manager and Notification Server管理者ガイド』のOracle Process Manager and Notificationの概要に関する章を参照してください。

mod_onsintのディレクティブ

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

3.5 mod_oradav

mod_oradavモジュールは、mod_davの実装を拡張するC言語で記述されたOracle Call Interface(OCI)アプリケーションです。mod_oradavディレクティブでは、ローカル・ファイルまたはOracle Databaseに対する読取りと書込みができます。Oracle Databaseには、mod_oradavモジュールがWebDAVアクティビティをデータベース・アクティビティにマップするためのOraDAVドライバ(ストアド・プロシージャ・パッケージ)が必要です。実際には、WebDAVクライアントはmod_oradavモジュールによりOracle Databaseに接続し、内容の読取りと書込み、および各種スキーマ内のドキュメントの問合せとロックを実行できます。

Oracle HTTP Serverの標準ディレクティブを使用して、mod_oradavモジュールを構成できます。mod_oradavモジュールを構成するには、Fusion Middleware Controlの「サーバーの詳細構成」ページを使用します。mod_oradavディレクティブでは、コンテンツ管理タスクを実行するために、他のモジュール・コード(mime_magicなど)をすぐに活用できます。ほとんどのOraDAV処理アクティビティでは、コンテンツ・プロバイダとの間でコンテンツをストリーム化する必要があります。mod_oradavディレクティブでは、Oracle HTTP Server内でOCIストリーム・ロジックが直接使用されます。

関連項目:

- 第9章「mod_oradavの構成」

- 『Oracle Portal Administrator's Guide』

- mod_oradavモジュールを使用してデータベース・スキーマにアクセスし、サード・パーティ・ツール(Adobe GoLiveやMacromedia Dreamweaverなど)とOracle interMediaからのアクセスを可能にする方法は、次のOTNで入手可能なOraDAV情報を参照してください。
http://otn.oracle.co.jp/

mod_oradavのディレクティブ

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

3.6 mod_ossl

mod_osslモジュールは、Oracle HTTP Serverに対して厳密な暗号化を有効にします。このOracleモジュールは、サーバーでSSLを使用できるようにするOracle HTTP Serverへのプラグインです。これは、OpenSSLモジュールのmod_sslと非常によく似ています。mod_osslモジュールは、SSLバージョン3およびTLSバージョン1をサポートするOracleのSSL実装を基盤とし、CerticomおよびRSAセキュリティ・テクノロジに基づいています。

mod_osslのディレクティブ

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

関連項目:

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

3.7 mod_osso

注意:

mod_ossoは使用されていません。シングル・サインオンを実行する場合は、Webgateプラグインを使用してください。詳細は、『Oracle® Fusion Middleware Oracle Identity Managementインストレーション・ガイド』のOAMのためのOracle HTTP Server 11g Webゲートのインストールと構成に関する項を参照してください。

mod_ossoモジュールは、受信リクエストを検査して、リクエストされたリソースが保護されているかどうかを判断することで、Oracle HTTP Serverのシングル・サインオンを有効化します。リソースが保護されている場合、Oracle HTTP ServerのCookieを取得します。

デフォルトでは、モジュールは無効ですmod_ossoモジュールは、Fusion Middleware Controlのサーバー構成プロパティ・ページで有効化できます。詳細は、4.3.1項「Fusion Middleware Controlを使用したサーバー・プロパティの指定」を参照してください。

mod_ossoのディレクティブ

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

関連項目:

強制認証の詳細は、『Oracle Fusion Middleware Oracle Identity Managementアプリケーション開発者ガイド』を参照してください。

シングル・サインオンの詳細は、『Oracle Fusion Middlewareセキュリティ・ガイド』を参照してください。

3.8 mod_perl

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

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

関連項目:

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

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

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

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

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

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

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.1.4項「Oracle HTTP Serverの再起動」の説明に従って、Oracle HTTP Serverを再起動します。

実行するPerlスクリプトをORACLE_INSTANCE/config/OHS/component_name/cgi-binディレクトリに配置します。

例3-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からのみです。

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

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

例3-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 "cant't log off Oracle";

3.8.1.3 SQL NCHARデータ型の使用

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

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

例3-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;

例3-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はデータベース・ハンドルのファンクションであるため、データベース・ハンドルの各文は任意に選択した構成になります。

例3-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' );

3.9 mod_reqtimeout

mod_reqtimeoutは、リクエストを受信するためのタイムアウトおよび最小データ率を設定します。mod_reqtimeoutモジュールはDOS攻撃および関連する問題に対する保護を提供します。詳細は、次の資料を参照してください。

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

3.10 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を作成する必要があります。

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

- 3.10.1項「DADの作成」

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

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

mod_plsqlのディレクティブ

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

3.10.1 DADの作成

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

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

注意:

4.4.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パスワードを不明瞭化します。

関連項目:

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

5. 4.1.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>

3.10.2 mod_plsqlの構成ファイル

表3-1に示すように、mod_plsql構成パラメータは、ORACLE_INSTANCEディレクトリ内の構成ファイルに含まれています。

表3-1 Oracleインスタンス内のmod_plsql構成ファイル

ディレクトリ名

目次

config/OHS/component_name/moduleconf

plsql.conf構成ファイル。

config/OHS/component_name/mod_plsql

dads.confおよびcache.conf構成ファイル。

mod_plsql構成ディレクティブは、次の構成ファイルで使用されます。

- plsql.conf

- dads.conf

- cache.conf

3.10.2.1 plsql.conf

plsql.confファイルは、ORACLE_INSTANCE/config/OHS/config/OHS/component_name/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で使用されるディレクティブのリストおよび説明は、D.6.1項を参照してください。

関連項目:

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

3.10.2.2 dads.conf

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

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

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

3.10.2.3 cache.conf

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

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

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

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

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

PlsqlNLSLanguage "TRADITIONAL CHINESE_TAIWAN.UTF8"

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

3.11 mod_security

mod_securityは、Oracle HTTP Serverに対する侵入攻撃を検出および防止するために使用できる、オープンソース・モジュールです。たとえば、mod_securityルールを指定して、すべての受信リクエストをスクリーニングし、ルールで指定された条件に一致するリクエストを拒否することができます。mod_securityモジュール(バージョン2.6.2)とその前提条件は、UNIXの場合はmod_security2.so(Windowsの場合はmod_security2.dll)という共有オブジェクトとして、ORACLE_HOME/ohs/modulesディレクトリ内のOracle HTTP Serverインストールに含まれています。別途ダウンロードしてインストールする必要はありません。

このバージョンのOHSは、すべてのmod_security (バージョン2.6.2)のディレクティブ、変数、アクション、フェーズおよび関数をサポートしています。これらのディレクティブの詳細は、リファレンス・マニュアル(http://sourceforge.net/apps/mediawiki/mod-security/index.php?title=Main_Page)を参照してください。

3.11.1 mod_securityの有効化

Oracle HTTP Serverが実行されているときにmod_securityモジュールを使用できるようにするには、httpd.confファイルに次の行を追加します。

LoadModule security2_module "${ORACLE_HOME}/modules/mod_security2.so"

3.11.2 mod_securityの構成

mod_securityを構成する際には、Oracle HTTP Server構成ファイルで特定のディレクティブを指定する必要があります。IfModuleコンテナにあるhttpd.confファイルで直接ディレクティブを指定できます。もう1つの方法として、別個の.confファイルにmod_securityディレクティブを指定し、Includeディレクティブを使用してhttpd.confにその.confファイルを含めることもできます。

次のコード・スニペットは、httpd.confファイルでmod_securityを有効にして、特定の構成ディレクティブを設定する方法を示しています。

<IfModule security2_module >
include "modsecurity.conf"
SecAuditEngine RelevantOnly
SecAuditLog logs/audit/audit.log
SecAuditLogParts ABCFHZ
SecAuditLogType concurrent
SecAuditLogStorageDir logs/audit
SecAuditLogRelevantStatus ^(?:5|4(?!04))
SecChrootDir /chroot
SecComponentSignature "core ruleset/2.1.3"
SecDebugLogLevel 4
SecEncryptionEngine On
</IfModule>

次のドキュメントでは、mod_securityに対して推奨される最小構成について説明しています。

http://www.modsecurity.org/documentation/modsecurity-apache/1.9.3/html-multipage/aa-recommended_configuration.html

mod_securityを実装および使用する方法の詳細は、次のmod_securityリファレンス・マニュアルを参照してください。

http://sourceforge.net/apps/mediawiki/mod-security/index.php?title=Reference_Manual

3.12 mod_wl_ohs

mod_wl_ohsモジュールにより、Oracle HTTP Server 11gからOracle WebLogic Serverへのリクエストをプロキシ処理できます。

mod_wl_ohsを構成する際の前提条件と手順の詳細は、『Oracle WebLogic ServerにおけるWebサーバー1.1プラグインの使用』のOracle HTTP Serverのmod_wl_ohsプラグインの構成に関する項を参照してください。

mod_wl_ohsのディレクティブ

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

注意:

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

第II部

Oracle HTTP Serverの管理

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

- 第4章「Oracle HTTP Serverのスタート・ガイド」

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

- 第6章「接続の管理」

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

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

- 第9章「mod_oradavの構成」

4 Oracle HTTP Serverのスタート・ガイド

この章では、Oracle HTTP Serverの基本情報を提供します。また、現在の環境でOracle 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 Fusion Middleware Oracle Web Tierインストレーション・ガイド』のスタンドアロン・モードでのOracle Web Tierのインストールに関する項を参照してください。

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

- 4.1項「Oracle HTTP Serverの起動、停止および再起動」

- 4.2項「Oracle HTTP Serverコンポーネントの作成」

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

- 4.4項「Oracle HTTP Serverの構成」

- 4.5項「Oracle HTTP Serverコンポーネントの削除」

4.1 Oracle HTTP Serverの起動、停止および再起動

Oracle HTTP Serverを起動、停止および再起動するには、Fusion Middleware Controlまたはopmnctlコマンドを使用できます。

注意:

Oracle HTTP Serverの管理に、apachectlユーティリティは使用しないでください。

次の図に示すように、Fusion Middleware Controlのホームページには、Oracle HTTP Serverを含むすべてのインストール済コンポーネントのステータスが表示されます。

図em_home.gifの説明

次のようにopmnctlを使用すると、Oracle HTTP Serverコンポーネントのステータスを確認できます。

> $ORACLE_INSTANCE/bin/opmnctl status

Processes in Instance: instance1
---------------------------------+--------------------+---------+---------
ias-component                    | process-type       |     pid | status
---------------------------------+--------------------+---------+---------
webcache1                        | WebCache-admin     |   19556 | Alive
webcache1                        | WebCache           |   19555 | Alive
ohs1                             | OHS                |    7249 | Alive

4.1.1 PIDファイルの理解

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

ORACLE_INSTANCE/diagnostics/logs/OHS/component_name

管理者は、デーモンの再起動時と終了時にプロセスIDを使用できます。プロセスが異常終了した場合は、killコマンドを使用してhttpd子プロセスを停止する必要があります。

httpd.confのPidFileディレクティブで、PIDファイルの場所を指定します。

注意:

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

関連項目:

Apache HTTP Serverドキュメントの「PidFile directive」

4.1.2 Oracle HTTP Serverの起動

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

4.1.2.1 Fusion Middleware Controlを使用したOracle HTTP Serverの起動

Fusion Middleware Controlを使用してOracle HTTP Serverを起動するには、次の手順を実行します。

1. Oracle HTTP Serverのホームページに移動します。

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

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

4.1.2.2 opmnctlを使用したOracle HTTP Serverの起動

opmnctlを使用してOracleインスタンス内のすべてのOracle HTTP Serverコンポーネントを起動するには、次のコマンドを使用します。

> $ORACLE_INSTANCE/bin/opmnctl startproc process-type=OHS

opmnctlを使用して、特定のOracle HTTP Serverコンポーネントを起動するには、次を実行します。

> $ORACLE_INSTANCE/bin/opmnctl startproc ias-component=component_name

起動プロセスの詳細情報を確認するには、次のようにコマンドにverboseオプションを含めます。

> $ORACLE_INSTANCE/bin/opmnctl verbose startproc ias-component=component_name

次に、verboseオプションの使用時に表示される情報の例を示します。

HTTP/1.1 200 OK
Content-Length: 656
Content-Type: text/html
Response: 1 of 1 processes started.

<?xml version='1.0' encoding='WINDOWS-1252'?>
<response>
<opmn id="stadk58:6701" http-status="200" http-response="1 of 1 processes started.">
<ias-instance id="inst1">
<ias-component id="ohs1">
<process-type id="OHS">
<process-set id="OHS">
<process id="699033550" pid="11366" status="Alive" index="1" log="/scratch/oracle/product/11110/test090306/instances/inst1/diagnostics/logs/OHS/ohs1/console~OHS~1.log" operation="request" result="success">
<msg code="0" text="">
</msg>
</process>
</process-set>
</process-type>
</ias-component>
</ias-instance>
</opmn>
</response>

4.1.2.3 特権ポートでのOracle HTTP Serverの起動

UNIXシステムでは、1024未満のTCP/IPポート番号は、root権限を持つプロセスのみがそれらのポートでリスニングを許可されるという点で特別です。

デフォルトでは、Oracle HTTP Serverはroot以外のユーザー(Oracle Fusion Middlewareをインストールしたユーザー)として実行されます。このため、UNIXシステムでOracle HTTP Serverを特権ポート(たとえば、ポート80)で実行する場合は、次の手順でrootとしてOracle HTTP Serverを実行できるようにする必要があります。

1. Fusion Middleware Controlを使用するか、次のopmnctlコマンドを使用してOracle HTTP Serverを停止します。

> $ORACLE_INSTANCE/bin/opmnctl stopproc ias-component=component_name

2. rootユーザーに変更します。

3. ORACLE_HOME/ohs/binにナビゲートし、次のコマンドを実行します。

chown root .apachectl
chmod 6750 .apachectl

4. rootユーザーとして終了します。

5. httpd.confファイルにUserディレクティブとGroupディレクティブを追加またはコメント解除し、Oracle Fusion Middlewareのインストールおよび構成に使用したユーザーまたはグループに設定します。UNIXオペレーティング・システムでは、httpd.confファイルのユーザーおよびグループが、インストールを実行したユーザーおよびグループに必ず設定されるようにしてください。

6. Fusion Middleware Controlを使用するか、次のコマンドを使用してOracle HTTP Serverを起動します。

> $ORACLE_INSTANCE/bin/opmnctl startproc ias-component=component_name

4.1.3 Oracle HTTP Serverの停止

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

4.1.3.1 Fusion Middleware Controlを使用したOracle HTTP Serverの停止

Fusion Middleware Controlを使用してOracle HTTP Serverを停止するには、次の手順を実行します。

1. Oracle HTTP Serverのホームページに移動します。

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

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

4.1.3.2 opmnctlを使用したOracle HTTP Serverの停止

opmnctlを使用してOracleインスタンス内のすべてのOracle HTTP Serverコンポーネントを停止するには、次のコマンドを使用します。

> $ORACLE_INSTANCE/bin/opmnctl stopproc process-type=OHS

opmnctlを使用して、特定のOracle HTTP Serverコンポーネントを停止するには、次を実行します。

> $ORACLE_INSTANCE/bin/opmnctl stopproc ias-component=component_name

停止プロセスの詳細情報を確認するには、次のようにコマンドにverboseオプションを含めます。

> $ORACLE_INSTANCE/bin/opmnctl verbose stopproc ias-component=component_name

4.1.4 Oracle HTTP Serverの再起動

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

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

4.1.4.1 Fusion Middleware Controlを使用したOracle HTTP Serverの再起動

Fusion Middleware Controlを使用してOracle HTTP Serverを再起動するには、次の手順を実行します。

1. Oracle HTTP Serverのホームページに移動します。

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

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

4.1.4.2 opmnctlを使用したOracle HTTP Serverの再起動

opmnctlを使用してOracleインスタンス内のすべてのOracle HTTP Serverコンポーネントを再起動するには、次のコマンドを使用します。

> $ORACLE_INSTANCE/bin/opmnctl restartproc process-type=OHS

opmnctlを使用して特定のOracle HTTP Serverコンポーネントを再起動するには、次のコマンドを使用します。

> $ORACLE_INSTANCE/bin/opmnctl restartproc ias-component=component_name

起動プロセスの詳細情報を確認するには、次のようにコマンドにverboseオプションを含めます。

> $ORACLE_INSTANCE/bin/opmnctl verbose restartproc ias-component=component_name

4.2 Oracle HTTP Serverコンポーネントの作成

Oracle Web Tierをインストールするときには、次のいずれかの方法を選択できます。

- ソフトウェアをインストールし、Oracle HTTP Serverコンポーネントを使用してOracleインスタンスを構成します。

- ソフトウェアのみをインストールします。

ソフトウェアのみをインストールすることを選択した場合は、後で構成ツール(UNIXの場合はconfig.sh、Windowsの場合はconfig.bat)を実行してOracleインスタンスを構成する必要があります。構成ツールはORACLE_HOME/binディレクトリにあります。詳細は、『Oracle Fusion Middleware Oracle Web Tierインストレーション・ガイド』を参照してください。

いずれの方法においても、この項の説明に従って、ORACLE_INSTANCE/binディレクトリにあるopmnctlコマンドを使用して、Oracleインスタンスで追加のOracle HTTP Serverコンポーネントを作成できます。Fusion Middleware Controlを使用してOracle HTTP Serverコンポーネントを作成できないことに注意してください。

opmnctlを使用してOracle HTTP Serverコンポーネントを作成するには、次のコマンドを実行します。

> $ORACLE_INSTANCE/bin/opmnctl createcomponent -componentType OHS -componentName component_name

たとえば、ohs2という名前のOracle HTTP Serverコンポーネントを作成するには、次のコマンドを使用します。

> $ORACLE_INSTANCE/bin/opmnctl createcomponent -componentType OHS -componentName ohs2

Oracle HTTP Serverコンポーネントを作成すると、ポートが自動的に割り当てられます。ただし、次のパラメータを使用すると、手動でポートを指定できます。

- -listenPort: HTTPリスニング・ポート

- -sslPort: HTTPS (SSL)リスニング・ポート

- -proxyPort: Oracle HTTP ServerがFusion Middleware Controlとの通信に内部的に使用するプロキシMBeanポート

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

Oracle HTTP Serverのサーバー・プロパティを設定する場合、Fusion Middleware Controlを使用するか、Oracle HTTP Serverの構成ファイルを直接編集します。opmnctlコマンドを使用してサーバー・プロパティを指定することはできません。

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

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

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

Fusion Middleware Controlを使用してサーバー・プロパティを指定するには、次の手順を実行します。

1. 「Oracle HTTP Server」メニューから「管理」を選択します。

2. 「管理」メニューから「サーバー構成」を選択します。「サーバー構成」ページが表示されます。
図srv_prop3.gifの説明

3. 「ドキュメント・ルート」フィールドに、Webサイトから表示できるメイン・ドキュメント・ツリーを構成するドキュメント・ルート・ディレクトリを入力します。

4. 「管理者の電子メール・アドレス」フィールドに、サーバーがクライアントに送信するエラー・メッセージに挿入する電子メール・アドレスを入力します。

5. 「ディレクトリの索引」フィールドにディレクトリの索引を入力します。これは、クライアントがWebサイトに最初にアクセスしたときに表示されるメイン・ページ(indexページ)です。

6. 「オペレーティング・システム・ユーザー」フィールドにユーザー名を入力します。
これは、リクエストの送信時およびリクエストへの応答時におけるサーバー用のユーザー名です。このユーザーに対して、ファイルへのアクセスや内部使用専用のプログラムの実行を許可する権限を付与しないでください。たとえば、Oracle HTTP Serverは、Oracle Portalからのリクエストを受信すると、このフィールドに定義されたユーザーとしてそのリクエストに応答します。このユーザーは、Oracle Portalのコンテンツにアクセスするための権限を保持している必要があります。ただし、企業秘密のコンテンツにアクセスする権限をこのユーザーに付与することは避けてください。

サーバー実行専用のユーザーを設定することをお薦めします。また、このユーザーはrootに設定しないことをお薦めします。

7. 「オペレーティング・システム・グループ」フィールドにグループ名を入力します。これは、リクエストの送信時およびリクエストへの応答時におけるサーバー用のグループです。Oracle HTTP Serverに対して定義されるユーザーは、このグループのメンバーである必要があります。
サーバー実行専用のグループを設定することをお薦めします。また、このグループはrootとして設定しないことをお薦めします。

8. 「モジュール」リージョンは、モジュールを有効化または無効化するために使用します。有効化または無効化できるモジュールは、mod_perl、mod_fcgiおよびmod_ossoの3つです。
mod_perlモジュールの構成手順は、「mod_perlモジュールの構成」を参照してください。

9. 必要な場合は、「別名」表に別名を作成します。別名は、指定したディレクトリにマップされます。たとえば、あるグループでコンテンツ・ページの特定のセットを使用するため、そのコンテンツ・ページを含むディレクトリに別名を作成できます。

10. 設定を確認します。設定に問題がない場合、「適用」をクリックして変更を適用します。設定に問題がある場合、または変更を適用しない場合、「元に戻す」をクリックして元の設定に戻します。

11. 4.1.4項の説明に従って、Oracle HTTP Serverを再起動します。

サーバー・プロパティが保存され、「サーバー構成」ページに表示されます。

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

httpd.confファイルを使用してサーバー・プロパティを指定するには、次の手順を実行します。

1. テキスト・エディタまたはFusion Middleware Controlの「サーバーの詳細構成」ページを使用して、httpd.confファイルを開きます。(4.4.5項「Oracle HTTP Server構成ファイルの変更」を参照してください。)

2. ファイルのDocumentRootセクションに、Webサイトのメイン・コンテンツを格納するディレクトリを入力します。次に、構文例を示します。

DocumentRoot "${ORACLE_INSTANCE}/config/${COMPONENT_TYPE}/${COMPOENT_NAME}/htdocs"

3. ファイルのServerAdminセクションに、管理者の電子メール・アドレスを入力します。これは、クライアント・ページに表示される電子メール・アドレスです。次に、構文例を示します。

ServerAdmin WebMaster@example.com

4. ファイルのDirectoryIndexセクションに、ディレクトリの索引を入力します。これは、クライアントがWebサイトに最初にアクセスしたときに表示されるメイン・ページ(indexページ)です。次に、構文例を示します。

DirectoryIndex index.html index.html.var

5. ファイルのUserおよびGroupセクションに、ユーザー名とグループを入力します。次に、構文例を示します。

User nobody
Group nobody

ユーザー名は、リクエストの送信時およびリクエストへの応答時におけるサーバー用の名前です。このユーザーに対して、ファイルへのアクセスや内部使用専用のプログラムの実行を許可する権限を付与しないでください。たとえば、Oracle HTTP Serverは、Oracle Portalからのリクエストを受信すると、このフィールドに定義されたユーザーとしてそのリクエストに応答します。このユーザーは、Oracle Portalのコンテンツにアクセスするための権限を保持している必要があります。ただし、企業秘密のコンテンツにアクセスする権限をこのユーザーに付与することは避けてください。

サーバー実行専用のグループを設定することをお薦めします。Oracle HTTP Serverに対して定義されるユーザーは、このグループのメンバーである必要があります。また、このグループをrootとして設定しないことをお薦めします。

注意:

UserおよびGroupは、Oracle HTTP ServerがUNIX上でrootとして稼働している場合のみ関連があります。

6. 必要に応じて別名を作成します。別名は、指定したディレクトリにマップされます。たとえば、アイコンの特定のセットを使用するため、Webページ用のアイコンを含むディレクトリに別名を作成できます。次に、構文例を示します。

Alias /icons/ "${ORACLE_HOME}/config/${COMPONENT_TYPE}/${COMPONENT_NAME}/icons/"

<Directory "${ORACLE_HOME}/content/${COMPONENT_TYPE}/${COMPONENT_NAME}/icons/">
Options MultiViews
Order allow, deny
Allow from all
</Directory>

7. ファイルを保存します。

8. 4.1.4項の説明に従って、Oracle HTTP Serverを再起動します。

4.4 Oracle HTTP Serverの構成

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

- 4.4.1項「Secure Sockets Layerの構成」

- 4.4.2項「MIME設定の構成」

- 4.4.3項「mod_perlモジュールの構成」

- 4.4.4項「mod_wl_ohsの構成」

- 4.4.5項「Oracle HTTP Server構成ファイルの変更」

- 4.4.6項「apxsスクリプトを使用するためのOracle HTTP Server環境の構成」

- 4.4.7項「Optionsメソッドの無効化」

4.4.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とともに自動的にインストールされるデフォルトのウォレットは、テスト目的のみに使用されるものです。本番サーバーに対して実際のウォレットを作成する必要があります。デフォルトのウォレットは、ORACLE_INSTANCE/config/OHS/component_name/keystores/defaultディレクトリ内にあります。新規のウォレットをこの場所に格納することも、ORACLE_INSTANCE/config/OHS/component_name/ssl.conf内のSSLWalletディレクティブを変更して実際のウォレットの場所を指し示すこともできます。

変更を有効にするには、4.1.4項の説明に従って、Oracle HTTP Serverコンポーネントを再起動する必要があります。

Fusion Middleware Controlを使用したウォレットとSSLの構成の詳細は、『Oracle Fusion Middleware管理者ガイド』のOracle HTTP Server仮想ホストでのSSLの有効化に関する項を参照してください。

4.4.2 MIME設定の構成

Oracle HTTP Serverでは、Multipurpose Internet Mail Extension(MIME)設定を使用してファイル・タイプ、エンコーディングおよび言語の解析を行います。Oracle HTTP ServerのMIME設定は、Fusion Middleware Controlでのみ指定できます。opmnctlコマンドではMIME設定を指定できません。

「MIME構成」ページでは、次のタスクを実行できます。

- MIMEタイプの構成

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

- MIME言語の構成

4.4.2.1 MIMEタイプの構成

MIMEタイプにより、指定されたコンテンツ・タイプに特定のファイル拡張子がマップされます。MIMEタイプは、拡張子を含むファイル名に使用されます。

4.4.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.1.4項の説明に従って、Oracle HTTP Serverを再起動します。

MIME構成が保存され、「MIME構成」ページに表示されます。

4.4.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.1.4項の説明に従って、Oracle HTTP Serverを再起動します。

4.4.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.1.4項の説明に従って、Oracle HTTP Serverを再起動します。

4.4.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スクリプトのベースURLとしては/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.1.4項の説明に従って、Oracle HTTP Serverを再起動します。

mod_perlモジュール構成が保存され、「mod_perl構成」ページに表示されます。

注意:

Fusion Middleware Controlを使用せずにmod_perl構成を手動で編集する場合は、すべてのディレクティブをmod_perl.confファイルの<IfModule mod_perl.c>ブロック内に定義する必要があります。このブロックの外で定義されたmod_perl関連ディレクティブは、無視される可能性があります。

4.4.4 mod_wl_ohsの構成

mod_wl_ohsを構成するには、Fusion Middleware Controlを使用するか、またはmod_wl_ohs.conf構成ファイルを手動で編集します。

リクエストをOracle HTTP ServerからOracle WebLogic Serverにプロキシできるようにmod_wl_ohsを構成する際の前提条件と手順の詳細は、『Oracle WebLogic ServerにおけるWebサーバー1.1プラグインの使用』のOracle HTTP Serverのmod_wl_ohsプラグインの構成に関する項を参照してください。

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

Fusion Middleware Controlを使用してOracle HTTP Serverの構成ファイルを変更するには、次の手順を実行します。

1. 「HTTP Server」メニューから「管理」を選択します。

2. 「管理」メニュー・アイテムから「詳細構成」を選択します。「サーバーの詳細構成」ページが表示されます。

3. リストから構成ファイル(httpd.confファイルなど)を選択します。

4. 必要に応じてファイルを編集します。

5. 設定を確認します。設定に問題がない場合、「適用」をクリックして変更を適用します。設定に問題がある場合、または変更を適用しない場合、「元に戻す」をクリックして元の設定に戻します。

6. 4.1.4項の説明に従って、Oracle HTTP Serverを再起動します。

ファイルが保存され、「サーバーの詳細構成」ページに表示されます。

4.4.6 apxsスクリプトを使用するためのOracle HTTP Server環境の構成

$ORACLE_HOME/ohs/binディレクトリにあるapxsコマンドを使用して、Oracle HTTP Server用のApache拡張モジュールをビルドおよびインストールすることができます。apxsコマンドを使用できるようにするには、次のようにOracle HTTP Server環境を構成する必要があります。

コマンドラインから次の環境変数を設定します。

- ORACLE_HOME=~/oraHome1

- ORACLE_INSTANCE=~/oraInstance1

- CONFIG_FILE_PATH=$ORACLE_INSTANCE/config/OHS/oraInstance1

- LD_LIBRARY_PATH=$ORACLE_HOME/lib:$ORACLE_HOME/ohs/lib:$LD_LIBRARY_PATH

ここで、ORACLE_HOMEおよびORACLE_INSTANCEは顧客にとって適切な値に設定されます。たとえば、次のようになります。

export ORACLE_HOME=/scratch/jjones/PS6/Middleware/Oracle_WT1
export ORACLE_INSTANCE=$ORACLE_HOME/instances/instance1
export CONFIG_FILE_PATH=$ORACLE_INSTANCE/config/OHS/ohs1
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:$ORACLE_HOME/ohs/lib:$LD_LIBRARY_PATH

これで、ORACLE_HOMEのapxsを使用して、新しいモジュールをビルド、インストールおよび構成することができます。たとえば、モジュールのソース・ディレクトリからmod_experimentalという新しい拡張モジュールをビルド、インストールおよび構成するには、次のように入力します。

$ORACLE_HOME/ohs/bin/apxs -c mod_experimental.c
$ORACLE_HOME/ohs/bin/apxs -i -a mod_experimental.c

apxsコマンドの詳細は、http://httpd.apache.org/docs/2.0/programs/apxs.htmlにあるApache HTTP Serverのドキュメントを参照してください。

注意:

apxsは、OHSのUnix/Linuxバージョンでのみ使用可能です。

4.4.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.4.8 共有ファイルシステムにおけるOracle HTTP Serverインスタンスの構成の更新

NFS(ネットワーク・ファイルシステム)などの共有ファイルシステムでOHSインスタンスが作成される際、機能上またはパフォーマンス上の問題が発生する場合があります。特に、OHSで使用されるロック・ファイルまたはUNIXソケットが機能しない、またはそのパフォーマンスが大幅に低下する可能性があります。また、mod_wl_ohsでルーティングされるWLSリクエストが、デフォルト構成のファイルシステム・アクセスが原因で、パフォーマンスが大幅に低下する場合があります。

表4-1に、ロック・ファイルの問題と推奨されるhttpd.confファイルの変更に関する詳細を、オペレーティング・システム別に示します。

表4-1 ロック・ファイルの問題

オペレーティング・システム

説明

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ソケットをローカル・ファイル・システムに配置します。

4.5 Oracle HTTP Serverコンポーネントの削除

この項では、opmnctlを使用してOracle HTTP Serverコンポーネントを削除する方法について説明します。Fusion Middleware Controlを使用してOracle HTTP Serverコンポーネントを削除することはできません。

opmnctlを使用してOracle HTTP Serverコンポーネントを削除するには、次のコマンドを使用します。

> $ORACLE_INSTANCE/bin/opmnctl deletecomponent -componentName component_name

たとえば、ohs2という名前のOracle HTTP Serverコンポーネントを削除するには、次のコマンドを使用します。

> $ORACLE_INSTANCE/bin/opmnctl deletecomponent -componentName ohs2

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

この章では、Oracle HTTP Serverを管理および監視する方法について説明します。また、現在の環境でOracle 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 Fusion Middleware Oracle Web Tierインストレーション・ガイド』のOracle WebLogic Serverを使用せずに行うOracle Web Tierのインストールに関する項を参照してください。

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

- 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またはHTTPSリクエストをリスニングしてレスポンスを返す準備ができたことになります。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内の監視機能により、親プロセスが監視されます。親プロセスの障害発生が検出されると、残りの子プロセスはすべて停止されます。

この機能をOPMNと組み合せると、親プロセスの障害発生時にOracle HTTP Serverを簡単に再起動できることになります。UNIXではDMSインストゥルメンテーション・レイヤーにより、WindowsではWinNT MPM内のモニターにより、Oracle HTTP Serverのすべての子プロセスが確実に停止され、新しいOracle HTTP Serverインスタンスのために常にポートは開かれた状態となります。またOPMNにより、元のインスタンスの障害が検出されると確実に新しいインスタンスが起動されます。

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の「パフォーマンス・サマリー」ページを示しています。

図perf_summary.gifの説明

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のパフォーマンス関連ディレクティブをチューニングできます(次の図を参照)。

図directive2.gifの説明

パフォーマンス・ディレクティブの管理は、リクエスト構成、接続構成およびプロセス構成という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.1.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.1.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です。デフォルトは2です。これは、UNIX専用です。

4. 「最大アイドル・スレッド」フィールド(MaxSpareThreadsディレクティブ)に最大アイドル・スレッド数を入力します。アイドル・スレッドは、稼働しているがリクエストを処理していないプロセスです。

5. 「最小アイドル・スレッド」フィールド(MinSpareThreadsディレクティブ)に最小アイドル・スレッド数を入力します。

6. 「1子サーバー・プロセス当たりのスレッド数」フィールド(ThreadsPerChildディレクティブ)に子サーバー・プロセス当たりのスレッド数を入力します。

7. 設定を確認します。設定に問題がない場合、「適用」をクリックして変更を適用します。設定に問題がある場合、または変更を適用しない場合、「元に戻す」をクリックして元の設定に戻します。

8. Oracle HTTP Serverを再起動します。4.1.4項を参照してください。

プロセス構成設定が保存され、「パフォーマンス・ディレクティブ」ページに表示されます。

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

デフォルトでは、Oracle HTTP Serverはroot以外のユーザー(Oracle Fusion Middlewareをインストールしたユーザー)として実行されます。このため、UNIXシステムでOracle HTTP Serverを特権ポート(たとえば、ポート80)で実行する場合は、rootとしてOracle HTTP Serverを実行できるようにする必要があります。「特権ポートでのOracle HTTP Serverの起動」を参照してください。

UNIXではセキュリティを強化するために、httpd.conf構成ファイル内のUserディレクティブをnobodyに変更できます。子プロセスがユーザーnobodyとしてタスクを実行できることを確認してください。

PL/SQLアプリケーションがmod_plsqlのファイル・システム・キャッシュ機能を使用している場合は、httpdプロセスにキャッシュ・ディレクトリへの読取りおよび書込み権限を指定する必要があります(このディレクトリは、ORACLE_INSTANCE/config/OHS/component_name/mod_plsql/cache.confのPlsqlCacheDirectoryパラメータを通じて指定します)。デフォルトでは、このパラメータはORACLE_INSTANCE/OHS/component_nameを指します。

最後に、キャッシュ済コンテンツには機密データが含まれている可能性があるため、ファイル・システム・キャッシュのコンテンツはセキュリティで保護する必要があります。したがって、Oracle HTTP Serverがnobodyとして動作する場合でも、このユーザーとしてのシステムへのアクセスは十分に保護する必要があります。

関連項目:

3.10項「mod_plsql」

6 接続の管理

注意:

特に他に記載のないかぎり、このドキュメントに収められている情報は、Oracle HTTP ServerがOracle WebLogic ServerおよびOracle Fusion Middleware Controlにインストールされている場合に適用できます。このドキュメントの対象読者は、『Oracle Fusion Middlewareコンセプト・ガイド』および『Oracle Fusion Middleware管理者ガイド』の説明に従ってOracle Fusion Middlewareの主要概念を十分に理解しておく必要があります。

スタンドアロン・モードでのOracle HTTP Serverのインストールについては、『Oracle Fusion Middleware Oracle Web Tierインストレーション・ガイド』のOracle WebLogic Serverを使用せずに行うOracle Web Tierのインストールに関する項を参照してください。

Oracle HTTP Serverでは、非SSLポート(http)とSSLポート(https)の2つのリスニング・ポートが事前に構成されています。デフォルトの非SSLポートは7777です。ポート7777が占有されている場合は、7777から7877の範囲で次に使用可能なポート番号が割り当てられます。デフォルトのSSLポートは4443です。この場合も、ポート4443が占有されている場合は、4443から4543の範囲で次に使用可能なポート番号が割り当てられます。

これらのポートは、インストール時に設定することも、新規のOracle HTTP Serverコンポーネントの作成時に設定することもできます。インストール時にポートを指定する方法は、『Oracle Fusion Middleware Installation Guide for Oracle WebTier』を参照してください。opmnctlを使用して新しいOracle HTTP Serverコンポーネントを作成する際のポートの指定の詳細は、4.2項「Oracle HTTP Serverコンポーネントの作成」を参照してください。

注意:

admin.confファイル内に、追加のSSLポート(9999)が即時に実行できるように構成されています。このポートはプロキシMBeanまたは管理ポートと呼ばれ、Oracle HTTP ServerによってFusion Middleware Controlとの通信に内部的に使用されます。

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

- 6.1項「ポート番号の使用状況の表示」

- 6.2項「ポートの管理」

- 6.3項「仮想ホストの構成」

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

この項では、Fusion Middleware Controlを使用してポートを表示する方法について説明します。

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

Fusion Middleware Controlを使用してポート番号の使用状況を表示するには、次の手順を実行します。

1. Oracle HTTP Serverのホームページに移動します。

2. 「Oracle HTTP Server」メニューから「ポートの使用状況」を選択します。
「ポートの使用状況」詳細ページには、コンポーネント、使用中のポート、ポートがバインドされているIPアドレス、および使用中のプロトコルが表示されます(次の図を参照)。

図ports2.gifの説明

6.2 ポートの管理

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を使用したポートの編集

- 管理ポートの変更後のWebLogicドメインへのOracle HTTP Serverの登録の更新

図ports_config.gifの説明

注意:

ポートを削除するときに、削除するポートを使用するように構成されている仮想ホストがある場合は、ポートの削除前にその仮想ホストを削除する必要があります。

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

Fusion Middleware Controlを使用してポートを作成するには、次の手順を実行します。

1. Oracle HTTP Serverのホームページに移動します。

2. 「Oracle HTTP Server」メニューから「管理」を選択します。

3. 「管理」メニューから「ポート構成」を選択します。

4. 「作成」をクリックします。
図ports_config_new.gifの説明

5. 「IPアドレス」メニューを使用して、新しいポートのIPアドレスを選択します。ポートは、関連付けられたホストのローカルIPアドレス、または使用可能なネットワーク・インタフェースでリスニングできます。
ポートのSSLは、「仮想ホスト」ページで構成できます(6.3.2項「Fusion Middleware Controlを使用した仮想ホストの構成」を参照)。

6. 「ポート」フィールドを使用して、ポート番号を入力します。

7. 「OK」をクリックします。

8. Oracle HTTP Serverを再起動します。4.1.4項を参照してください。

注意:

ポート番号の変更や、URLに影響を与えるその他の変更(ホスト名の変更、SSLの有効化または無効化など)を行う場合、新しいURLを使用してパートナ・アプリケーションをSSOサーバーに再登録する必要があります。詳細は、『Oracle Fusion Middlewareアプリケーション・セキュリティ・ガイド』のOSSO Server 10.1.4へのOracle HTTP Server mod_ossoの再登録に関する項を参照してください。

6.2.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との内部通信に使用されるポートですが、ほとんどの場合、変更する必要はありません。変更する必要がある場合は、手動でORACLE_INSTANCE/config/OHS/component_name/admin.confファイルを編集してください。管理ポートの変更後に実行する追加手順の詳細は、6.2.3項「管理ポートの変更後のWebLogicドメインへのOracle HTTP Serverの登録の更新」を参照してください。

5. 「編集」をクリックします。
図ports_config_create.gifの説明

6. ポートの「IPアドレス」または「ポート」(あるいはその両方)の番号を編集します。
ポートのSSLは、「仮想ホスト」ページで構成できます(6.3.2項「Fusion Middleware Controlを使用した仮想ホストの構成」を参照)。

7. 「OK」をクリックします。

8. Oracle HTTP Serverを再起動します。4.1.4項を参照してください。

注意:

ポート番号の変更や、URLに影響を与えるその他の変更(ホスト名の変更、SSLの有効化または無効化など)を行う場合、新しいURLを使用してパートナ・アプリケーションをSSOサーバーに再登録する必要があります。詳細は、『Oracle Fusion Middlewareアプリケーション・セキュリティ・ガイド』のOSSO Server 10.1.4へのOracle HTTP Server mod_ossoの再登録に関する項を参照してください。

6.2.3 管理ポートの変更後のWebLogicドメインへのOracle HTTP Serverの登録の更新

WebLogicドメインに登録されているOracleインスタンスでは、コンポーネントの作成後にOracle HTTP Server管理ポート(admin.confファイル内のプロキシMBeanポート)を変更した場合、次のようにopmnctl updatecomponentregistrationコマンドを使用して、WebLogicドメインへのコンポーネント登録を更新する必要があります。

> $ORACLE_INSTANCE/bin/opmnctl updatecomponentregistration -componentType OHS -componentName component_name -proxyPort port

たとえば、ohs2という名前のOracle HTTP Serverコンポーネントのプロキシ・ポートを8787に変更した場合は、次のコマンドを使用します。

> $ORACLE_INSTANCE/bin/opmnctl updatecomponentregistration -componentType OHS -componentName ohs2 -proxyPort 8787

6.3 仮想ホストの構成

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サーバーのドキュメントを参照してください。

図virtual_hosts.gifの説明

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

Fusion Middleware Controlを使用して仮想ホストを作成するには、次の手順を実行します。

1. Oracle HTTP Serverのホームページに移動します。

2. 「Oracle HTTP Server」メニューから「管理」を選択します。

3. 「管理」メニューから「仮想ホスト」を選択します。

4. 「作成」をクリックします。
図virtual_hosts_create.gifの説明

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.1.4項を参照してください。

6.3.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. 「構成」をクリックします。
図virtual_hosts_config.gifの説明

6. 「構成」メニューから次のいずれかのオプションを選択し、それに対応する構成ページを開きます。これらのページの値は、仮想ホストのみに適用されます。フィールドが空白の場合、仮想ホストはサーバー・レベルで構成されている値を使用します。

- サーバー構成 - 基本的な仮想ホスト・プロパティ(ドキュメント・ルート・ディレクトリ、インストールされているモジュール、別名など)を構成します。4.3.1項「Fusion Middleware Controlを使用したサーバー・プロパティの指定」を参照してください。

- MIME構成 - Oracle HTTP Serverでファイル・タイプ、エンコーディングおよび言語の解析に使用されるMIME設定を構成します。4.4.2項「MIME設定の構成」

- ログ構成 - 仮想ホストにより処理されたすべてのリクエストを記録するアクセス・ログを構成します。このログには、仮想ホストにより処理されたすべてのHTTPトランザクションに関する基本情報が含まれます。7.2項「Oracle HTTP Serverログの構成」を参照してください。

- mod_perl構成 - Perlインタプリタを仮想ホストに埋め込むようにmod_perlモジュールを構成することにより、起動のオーバーヘッドを除去し、モジュールをPerlで記述できるようにします。このモジュールは、デフォルトでは無効です。4.4.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.4.4項「mod_wl_ohsの構成」を参照してください。

7. 各構成ページの設定を確認します。設定に問題がない場合、「OK」をクリックして変更を適用します。設定に問題がある場合、または変更を適用しない場合、「取消」をクリックして元の設定に戻します。

8. Oracle HTTP Serverを再起動します。4.1.4項を参照してください。

7 Oracle 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 Fusion Middleware Oracle Web Tierインストレーション・ガイド』のOracle WebLogic Serverを使用せずに行うOracle Web Tierのインストールに関する項を参照してください。

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_INSTANCE/diagnostics/logs/OHS/component_name

Oracle HTTP Serverには、次の2つのタイプのログがあります。

- エラー・ログ: サーバーの問題が記録されます。

- アクセス・ログ: どのコンポーネントとアプリケーションに誰がアクセスしたかが記録されます。

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

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

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

- 7.1.3項「ログ・ローテーション」

7.1.1 エラー・ログについて

Oracle HTTP Serverでは、ログ・メッセージを生成する形式を選択できます。レガシーのApacheメッセージ形式でログ・メッセージを生成するか、エラー・ログ・メッセージ生成用のOracle標準に準拠するOracle Diagnostic Logging(ODL)を使用してテキストまたはXML形式のログにログ・メッセージを生成するかを選択できます。

デフォルトでは、Oracle HTTP Serverエラー・ログでは診断メッセージの生成用にODLが使用されます。これにより、すべての診断メッセージおよびログ・ファイルのための共通書式と、Oracle Fusion Middleware全体の様々なコンポーネントからの診断メッセージを相互に関係付ける仕組みが提供されます。

エラー・ログ・ファイルのデフォルト名は、component_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種類のログ・ローテーション・ポリシーをサポートしています。odl_rotatelogsコマンドを使用することで、2つのローテーション・ポリシーのいずれかを使用するようにOracle HTTP Serverログを構成することができます。デフォルトでは、Oracle HTTP Serverではエラー・ログとアクセス・ログの両方に対してodl_rotatelogsを使用します。

odl_rotatelogsは、Apacheの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. 「管理」メニューから「ログ構成」を選択します。
「ログ構成」ページが表示されます(次の図を参照)。

図log_config_11g.gifの説明

3. このページからは、次のエラー・ログ構成タスクを設定できます。

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

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

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

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

Oracle HTTP Serverはデフォルトで、エラー・ログ形式としてODL-Textを使用し、ORACLE_INSTANCE/diagnostics/logs/OHS/ component_nameディレクトリ内にcomponent_name.logという名前のログ・ファイルを作成します。別の形式またはログ場所を使用するには、次の手順を実行します。

1. 「ログ構成」ページから、「エラー・ログ」セクションの下の「一般」セクションに移動します。

2. 目的のファイル形式を選択します。ODL-Text形式とODL-XML形式ではどちらも同じ情報が提供されますが、ODL-XMLファイルのほうがXML要素とラッパーが含まれているため、読みやすい可能性があります。

- ODL-Text - この形式の診断メッセージはOracle標準に準拠しており、テキスト形式で書き込まれます。

- ODL-XML - この形式の診断メッセージはOracle標準に準拠しており、XML形式で書き込まれます。

- Apache - この形式の診断メッセージはレガシーのApache HTTP Serverメッセージ形式に準拠しています。

3. 「ログ・ファイル/ディレクトリ」フィールドにエラー・ログのパスを入力します。このディレクトリは、ここに入力する前に存在している必要があります。

注意:

コンソール~ohs~1.logのログが別の場所に記録されるように構成することはできません。

4. 設定を確認します。設定に問題がない場合、「適用」をクリックして変更を適用します。設定に問題がある場合、または変更を適用しない場合、「元に戻す」をクリックして元の設定に戻します。

5. Oracle HTTP Serverを再起動します。4.1.4項を参照してください。

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

ログ・ファイルに書き込まれる情報の量とタイプは、メッセージのタイプおよびレベルを指定することによって構成できます。Oracle HTTP Serverのエラー・ログ・レベルは、デフォルトで「WARNING:32」に構成されています。別のエラー・ログ・レベルを使用するには、次の手順を実行します。

1. 「ログ構成」ページから、「エラー・ログ」セクションの下の「一般」セクションに移動します。

2. 「レベル」メニューからロギングのレベルを選択します。ロギング・レベルが高くなると、ログに含まれる情報も増加します。

3. 設定を確認します。設定に問題がない場合、「適用」をクリックして変更を適用します。設定に問題がある場合、または変更を適用しない場合、「元に戻す」をクリックして元の設定に戻します。

4. Oracle HTTP Serverを再起動します。4.1.4項を参照してください。

注意:

Apacheログ形式のログ・レベルは、ODL-Text形式やODL-XMLログ形式のログ・レベルとは異なります。

- ODLログ・レベルの詳細は、『Oracle Fusion Middleware管理者ガイド』のログ・ファイルに書き込まれる情報レベルの設定に関する項を参照してください。

- Apacheのログ・レベルの詳細は、Apache HTTP Serverドキュメントの「LogLevel Directive」を参照してください。

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

エラー・ログのログ・ローテーション・ポリシーは、1週間に1回などの時間ベース、または120MBなどのサイズベースで設定します。デフォルトでは、エラー・ログ・ファイルはサイズが10MBに達するとローテーションされます。また、最大で7個のエラー・ログ・ファイルが保持されます。別のローテーション・ポリシーを使用するには、次の手順を実行します。

1. 「ログ構成」ページから、「エラー・ログ」セクションの下の「一般」セクションに移動します。

2. ローテーション・ポリシーを選択します。

- ローテーションなし - ログ・ファイルをローテーションしない場合は、このポリシーを選択します。

- サイズ・ベース - ログ・ファイルは、構成されたサイズに達するたびにローテーションされます。「最大ログ・ファイル・サイズ」フィールドでログ・ファイルの最大サイズを設定し、「最大保持ファイル数」フィールドでエラー・ログ・ファイルの最大保持数を設定します。

- 時間ベース - 構成された時刻になるたびにログ・ファイルがローテーションされます。開始時間、ローテーション頻度および保存期間を設定します。

3. 設定を確認します。設定に問題がない場合、「適用」をクリックして変更を適用します。設定に問題がある場合、または変更を適用しない場合、「元に戻す」をクリックして元の設定に戻します。

4. Oracle HTTP Serverを再起動します。4.1.4項を参照してください。

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

Fusion Middleware Controlを使用してOracle HTTP Serverのアクセス・ログを構成するには、次の手順を実行します。

1. Oracle HTTP Serverのホームページに移動します。

2. 「管理」メニューから「ログ構成」を選択します。

このページからは、次のアクセス・ログ構成タスクを設定できます。

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

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

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

ログ形式は、アクセス・ログに含める情報とその書込み方法を指定するものです。新規のアクセス・ログ形式を追加したり、既存の形式を編集または削除するには、次の手順を実行します。

1. 「ログ構成」ページから「アクセス・ログ」セクションに移動します。

2. 「ログ形式の管理」をクリックします。
「カスタム・アクセス・ログ形式の管理」ページが表示されます(次の図を参照)。

図log_format_11g.gifの説明

3. 既存の形式を選択して変更または削除するか、「行の追加」をクリックして新規形式を作成します。

4. 新しいフォーマットを作成する場合には、「ログ形式名」フィールドに新しいログ・フォーマットを入力し、「ログ形式パターン」フィールドにログ・フォーマットを入力します。

関連項目:

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

5. 「OK」をクリックして新規形式を保存します。

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

Oracle HTTP Serverのアクセス・ログ・ファイルを構成するには、次の手順を実行します。

1. 「ログ構成」ページから「アクセス・ログ」セクションに移動します。

2. 新規のアクセス・ログを作成する場合は、「作成」をクリックします。既存のアクセス・ログ・ファイルを編集する場合は、表から行を選択して「編集」ボタンをクリックします。
「アクセス・ログの作成」ページまたは「アクセス・ログの編集」ページが表示されます。

図log_access.gifの説明

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形式、ODL-Text形式またはODL XML形式でログ・メッセージを生成するように選択できます。

OraLogMode Apache | ODL-Text | ODL-XML

デフォルト値: ODL-Text

例: OraLogMode ODL-XML

注意:

Apacheログ・ディレクティブの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/diagnostics/logs/OHS/component_name

例: 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が使用されます。

関連項目:

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

7.3.2.2 LogLevel

LogLevelディレクティブは、エラー・ログに記録されるメッセージの冗長性を調整します。

このディレクティブは、OraLogModeがApacheに設定されている場合にのみ使用されます。OraLogModeがODL-TextまたはODL-XMLに設定されている場合、LogLevelは無視され、かわりにOraLogSeverityが使用されます。

関連項目:

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

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

関連項目:

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

7.3.2.4 CustomLog

CustomLogディレクティブは、サーバーへのリクエストをログに記録する場合に使用します。ログ形式を指定し、オプションで環境変数を使用して、リクエストの特性に基づいてロギングを条件付きで実行することもできます。デフォルトでは、アクセス・ログ・ファイルは共通ログ形式を使用するように構成されています。

関連項目:

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

7.4 Oracle HTTP Serverログの表示

Fusion Middleware Controlを使用してOracle HTTP Serverログ・ファイルの検索、表示および一覧表示を行うことも、ローカル・クライアントにログ・ファイルをダウンロードして別のツールでログ・ファイルを表示することもできます。

また、任意のテキスト・エディタを使用して、ORACLE_INSTANCEディレクトリから直接Oracle HTTP Serverログ・ファイルを表示することもできます。Oracle HTTP Serverログ・ファイルはデフォルトで、ORACLE_INSTANCE/diagnostics/logs/OHS/component_nameディレクトリ内にあります。

Oracle HTTP Serverには、主にエラー・ログとアクセス・ログの2種類のログ・ファイルがあります(7.1項「サーバー・ログの概要」を参照)。エラー・ログ・ファイルは、サーバーのパフォーマンスを良好に保つための重要な情報源です。エラー・ログには、システム管理者が問題を簡単に診断して修正できるように、問題の状況に関するすべての情報が記録されます。アクセス・ログ・ファイルには、サーバーが処理するあらゆるHTTPトランザクションの基本情報が含まれます。この情報を使用すると、サーバーの使用状況パターンに関する統計レポートを生成できます。

関連項目:

ログ・ファイルの検索と閲覧の詳細は、『Oracle Fusion Middleware管理者ガイド』を参照してください。

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

この章では、Oracle HTTP Serverのセキュリティ機能の概要と、セキュアなWebサイトを設定するための構成情報を示します。

注意:

特に他に記載のないかぎり、このドキュメントに収められている情報は、Oracle HTTP ServerがOracle WebLogic ServerおよびOracle Fusion Middleware Controlにインストールされている場合に適用できます。このドキュメントの対象読者は、『Oracle Fusion Middlewareコンセプト・ガイド』および『Oracle Fusion Middleware管理者ガイド』の説明に従ってOracle Fusion Middlewareの主要概念を十分に理解しておく必要があります。

スタンドアロン・モードでのOracle HTTP Serverのインストールについては、『Oracle Fusion Middleware Oracle Web Tierインストレーション・ガイド』のOracle WebLogic Serverを使用せずに行うOracle Web Tierのインストールに関する項を参照してください。

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

- 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 Web Serverに基づいており、そのセキュリティ・インフラストラクチャは主にApacheモジュール(mod_auth_basic、mod_authn_file、mod_auth_userおよびmod_authz_groupfile)とOracleモジュール(mod_osslおよびmod_osso)により提供されます。mod_auth_basic、mod_authn_file、mod_auth_userおよびmod_authz_groupfileモジュールは、ユーザー名とパスワードのペアに基づく認証を提供します。mod_authz_hostはリクエストの特性(ホスト名やIPアドレスなど)に基づいてサーバーへのアクセスを制御し、mod_osslは、SSLを介したX.509クライアント証明書によって秘匿性および認証を提供します。mod_ossoは、Webアプリケーションに対するシングル・サインオン認証を有効にします。

Oracle HTTP Serverは、httpd.confファイル内のアクセス制御ディレクティブを使用して構成できるアクセス制御、認証および認可の方法を提供します。URLリクエストはOracle HTTP Serverに到達すると、サーバーのデフォルトおよび構成パラメータにより指定された手順で処理されます。URLリクエストの処理手順は、多くのWebリスナーに共通のモジュールまたはプラグイン・アーキテクチャを介して実装されます。

図8-1は、URLリクエストがサーバーにより処理される方法を示しています。このプロセスの各手順は、サーバーの構成内容に応じてサーバー・モジュールにより処理されます。たとえば、Basic認証が使用される場合、図8-1の「認証」および「認可」という手順は、Apacheのmod_auth_basic、mod_authn_file、mod_auth_userおよびmod_authz_groupfileモジュールの処理を表しています。

図8-1 Oracle HTTP ServerでのURLリクエストの処理手順

「図8-1 Oracle HTTP ServerでのURLリクエストの処理手順」の説明

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項「認証、認可およびアクセス制御」。

- mod_ossoおよびシングル・サインオン・サーバーを介して認証されたユーザー。これらのユーザーは、シングル・サインオンによって許可されたリソースにアクセスできます。

関連項目:

『Oracle Fusion Middlewareセキュリティ・ガイド』

8.3 保護対象のリソース

次のリソースは初期段階で保護されていないため、Oracle HTTP Serverが構成される可能性があります。

- 静的コンテンツ(静的なHTMLページ、グラフィックス交換形式、.gif、ファイル、およびOracle HTTP Serverにより直接提供されるその他の静的ファイルなど)。

- Oracle HTTP Serverが直接起動するCGI/FastCGIスクリプト、簡易スクリプトまたはプログラム。

- Oracle HTTP Server内のモジュールにより生成されたコンテンツ。mod_perl、mod_dmsなどのモジュールは、クライアントに返されるレスポンスを生成します。

- Oracle HTTP Serverの背後にあるOracle Application Serverコンポーネント。これには、Oracle WebLogic Serverとともに稼働している、mod_wl_ohsを介してアクセスされるサーブレットやJSPが含まれます。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ドキュメントを参照してください。

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

mod_ossoは、Oracle HTTP Serverに対してシングル・サインオンを有効にします。mod_ossoは、受信リクエストを調査し、リクエストされたリソースが保護されているかどうかを判別して、保護されていればユーザーに対してOracle HTTP Server Cookeを取得します。

mod_ossoを使用すると、Oracle HTTP ServerはSSO対応のシングル・サインオン(SSO)パートナ・アプリケーションとなり、Oracleシングル・サインオンを使用してユーザーの認証およびユーザーのアイデンティティの取得ができるようになります。また、WebアプリケーションがユーザーのアイデンティティをApacheヘッダー変数として使用できるようになります。

mod_ossoを使用することで、Webアプリケーションは、SSO認証を必要とするURLを登録できます。Oracle HTTP ServerがURLリクエストを受け取ると、mod_ossoはSSO認証が必要なリクエストを検出し、そのリクエストをSSOサーバーにリダイレクトします。SSOサーバーはユーザーを認証すると、そのユーザーの認証済アイデンティティをセキュアなトークン(Cookie)に格納してmod_ossoに返します。mod_ossoはCookieからユーザーのアイデンティティを取得して、Oracle HTTP Serverインスタンス内で実行されているアプリケーションにユーザーのアイデンティティ情報を伝播します。mod_ossoは、CGIで実行されているアプリケーションや、Oracle WebLogic Serverで実行されているアプリケーションにユーザーのアイデンティティ情報を伝播できます。また、静的ファイルにアクセスしようとするユーザーを認証することもできます。

関連項目:

『Oracle Fusion Middlewareセキュリティ・ガイド』

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

Oracle HTTP ServerはOraAuditEnableというディレクティブをサポートしています。このディレクティブの目的は、FMW共通監査フレームワークを使用した認証および認可の監査の有効化です。このディレクティブはONおよびOFFの2つの値を使用します。この値がONに設定されていると、Oracle HTTP Serverによってレポートされたすべての監査イベントが監査フレームワーク固有ファイルに記録されます。デフォルトの値はONです。OraAuditEnableがOFFに設定されている、または存在しない場合は、監査は無効です。Oracle HTTP Serverに付属するデフォルトのhttpd.confファイルではONに設定されます。詳細は、次の資料を参照してください。

http://download.oracle.com/docs/cd/E14571_01/core.1111/e10043/audintro.htm#JISEC2372

9 mod_oradavの構成

この章では、分散オーサリングおよびバージョニング(DAV)の概念と、mod_oradavモジュールを使用したOraDAVの構成方法について説明します。mod_oradavモジュールにより、OraDAVを使用してWebブラウザやWebDAVクライアントからファイルの内容にアクセスできます。

注意:

特に他に記載のないかぎり、このドキュメントに収められている情報は、Oracle HTTP ServerがOracle WebLogic ServerおよびOracle Fusion Middleware Controlにインストールされている場合に適用できます。このドキュメントの対象読者は、『Oracle Fusion Middlewareコンセプト・ガイド』および『Oracle Fusion Middleware管理者ガイド』の説明に従ってOracle Fusion Middlewareの主要概念を十分に理解しておく必要があります。

スタンドアロン・モードでのOracle HTTP Serverのインストールについては、『Oracle Fusion Middleware Oracle Web Tierインストレーション・ガイド』のOracle WebLogic Serverを使用せずに行うOracle Web Tierのインストールに関する項を参照してください。

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

- 9.1項「mod_oradavモジュールの概要」

- 9.2項「mod_oradavの構成」

- 9.3項「WebDAVセキュリティに関する考慮事項」

- 9.4項「OraDAVのパフォーマンスに関する考慮事項」

- 9.5項「OraDAVでのグローバリゼーション・サポートに関する考慮事項」

- 9.6項「DAVファイルの場所」

9.1 mod_oradavモジュールの概要

mod_oradavモジュールは、WebDAV仕様のApache実装の拡張版です。mod_oradavモジュールは、C言語で記述されたOCIアプリケーションであり、Oracle HTTP Serverに統合されています。WebDAVクライアントは、mod_oradavモジュールによりファイルに接続し、内容の読取りと書込み、およびドキュメントの問合せとロックを実行できます。

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

- 9.1.1項「WebDAV」

- 9.1.2項「OraDAV」

- 9.1.3項「OraDAVのアーキテクチャ」

- 9.1.4項「OraDAVの使用モデル」

- 9.1.5項「PROPFINDのセキュリティ」

9.1.1 WebDAV

WebDAVは、分散オーサリングおよびバージョニングをサポートするHTTPのプロトコル拡張機能です。WebDAVを使用すると、インターネットは透過的な読取りおよび書込み手段となり、その内容をチェックアウトおよび編集し、URLアドレスにチェックインできます。

WebDAVにより、Webサイト作成者間でのコラボレーションが可能になります。また、WebDAVは、任意の(Webサイトに限定されない)コンテンツ階層への汎用読取り/書込みアクセス・プロトコルとしても機能します。WebDAVを使用すると、コンテンツをインターネット・サービス・プロバイダ(ISP)から提供されたURLに保存できます。コンテンツには各種デバイスからアクセスでき、必要に応じて変更可能です。

注意:

WebDAVクライアントが最初にOracle HTTP Serverに接続する際は、接続用URLにServerName文字列全体を使用する必要があります。サーバー名の省略形を使用しないでください。

たとえば、サーバー名の値がserver1.example.comの場合は、http://server1:7778などの省略形ではなく文字列http://server1.example.com:7778を使用してOracle HTTP Serverに接続します。

省略形を使用しても接続に成功することはありますが、COPYおよびMOVE操作は実行に失敗し、BAD_GATEWAYエラーが生成されます。

9.1.2 OraDAV

OraDAVとは、Oracle Fusion Middlewareユーザーがmod_oradavモジュールを介して使用できる機能セットを指します。OraDAVには次の固有の用語があります。

- OraDAV: Oracle HTTP Serverサーバーのコード。ファイルベースのDAVアクセスをサポートします。Apache DAVのディレクティブは、OraDAVで使用できます。

関連項目:

DAVのディレクティブの詳細は、次のURLにあるGreg Stein(gstein@lyra.org)著の資料を参照してください。

http://www.webdav.org/mod_dav/install.html#apache

- OraDAV API: OraDAVドライバで使用されるストアド・プロシージャ・コール。インターネット経由で次のWebDAV機能に対するサポートを提供します。

- ドキュメントの読取りと書込み

- ドキュメントのロックおよびロック解除

- 情報の階層管理(作成、移入、削除など)

- ドキュメントに関連するプロパティの取得

- プロパティと特定のドキュメントとの関連付け

- OraDAVドライバ: OraDAVドライバAPIのストアド・プロシージャ実装。Oracleで実行してリポジトリを管理します。

OraDAVの主なユーザーは、Oracle HTTP ServerのWeb管理者とコンテンツ編集者です。エンド・ユーザーは、WebブラウザまたはWebDAVクライアント・ツールを通じて、OraDAVと間接的に対話するのみです。OraDAVを操作するには、次のことに習熟している必要があります。

- Web管理者は、Oracle HTTP Serverの起動および停止方法と、Oracle HTTP Serverを構成してURLトラフィックをOraDAVドライバに転送する方法を理解している必要があります。

- コンテンツ編集者は、サーバーに接続してファイルをアップロードおよび取得する方法を理解している必要があります。

9.1.3 OraDAVのアーキテクチャ

OraDAVを含むmod_oradavモジュールは、Oracle HTTP Serverアーキテクチャの一部です。図9-1は、単純なアーキテクチャを示しています。

図9-1 OraDAVのアーキテクチャ

「図9-1 OraDAVのアーキテクチャ」の説明

図9-1は、WebフォルダなどのWebDAVクライアントが、Oracle HTTP ServerにHTTPリクエストを渡すところを示しています。リクエストがファイル・システムに格納されているコンテンツに対するものである場合、mod_oradavモジュールでアクセスが処理されます。リクエストがOracle Portalに格納されているコンテンツに対するものである場合、OraDAV APIでアクセスが処理されます。

OraDAV APIの機能は、ファイル・システムにmod_oradavモジュールを実行する場合と同じです。OraDAV APIでは、次のHTTPメソッドがサポートされます。

- COPY: Webサイト・フォルダ内のファイルをコピーします。

- DELETE: Webサイト・フォルダ内のファイルを削除します。

- MOVE: Webサイト・フォルダ内のファイルを移動します。

- MKCOL: 新規ディレクトリを作成します。

- GET: サーバーからファイルを取得します。このメソッドは、Oracle Web Cacheではサポートされません。

- PUT: サーバーにファイルを戻します。このメソッドは、Oracle Web Cacheではサポートされません。

- HEAD: ファイルを取得せずにファイルのヘッダー・コンテンツを取得します。

- LOCK: ファイルのチェックアウト時にそのファイルをロックします。このメソッドは、Oracle Web Cacheではサポートされません。

- UNLOCK: チェックイン後にファイルのロックを解除します。このメソッドは、Oracle Web Cacheではサポートされません。

- PROPFIND: ファイルに定義されているプロパティを取得します。

- PROPPATCH: ファイルのプロパティを設定します。

OraDAV APIでは、共有ロックと排他ロック、基本的なDAVプロパティの取得、サーバー定義のプロパティまたはクライアント定義のプロパティの定義と取得がサポートされます。COPY、MOVE、DELETEなど、集合ベースの演算全体を、OraDAVドライバの単一コールで実行できます。

9.1.4 OraDAVの使用モデル

OraDAVの使用には、次のアクティビティを任意に組み合せることができます。

- ブラウズ: WebDAVを使用してファイル・サーバーの内容にアクセスする読取り専用アクティビティ。その使用方法モデルは、典型的な読取り専用Webサイトと同じです。
DAVOraReadOnlyディレクティブにより、WebDAVクライアントがWebDAVを読取り専用モードで使用する必要があるかどうかを指定します。値Offは、WebDAVクライアントを通常どおり動作させることを指定します。値Onは、WebDAVの使用時にWebDAVクライアントが書込み操作を実行することを抑止します。WebブラウザおよびWebDAVクライアントによる読取り専用アクティビティは許可されます。デフォルトはOffです。

- 再構築: コンテンツの削除、移動およびコピー。通常、再構築が行われることはほとんどなく、実行するのはWebDAVのコンテンツへの書込みアクセス権を持つ限定されたユーザーです。
再構築に伴う制限と複雑さは、ファイル・ディレクトリを再構築する場合と同じです。このディレクトリ階層を所有し、管理するユーザーが1人の場合もあります。ディレクトリが共有されている場合、再構築を実行するクライアントには、WebDAVの排他ロックによって階層への単独アクセス権が付与されます。

- 編集: 階層内の単一のリソースまたは小規模なサブセットの変更。適切に設計されたWebDAVクライアントは、リソースの共有ロックまたは排他ロックを使用して、これらのアクティビティを調整します。

- プロパティ管理: プロパティと属性(作成者など)をドキュメントに関連付け、簡単な参照や分類ができるようにする操作。WebDAVクライアントは、PROPPATCHディレクティブを使用してドキュメントにプロパティを割り当て、PROPFINDディレクティブを使用してプロパティを取得します。

9.1.5 PROPFINDのセキュリティ

PROPFINDメソッドを使用すると、DAVが使用可能なディレクトリ内のすべてのファイルをリストできます。セキュリティ上の理由で、ファイル・リストを一般の読取りアクセスから保護することをお薦めします。

PROPFINDをユーザー・グループ、一連のドメインまたは一連のホストに制限し、内容を変更するメソッドをごく少数の作成者のみに制限する方法もあります。たとえば、会社の従業員にサーバー上のファイルの参照を許可し、ファイル変更は少数のユーザーにのみ許可するということが可能です。匿名(非認証)のユーザーは、参照も変更もできません。

最後に、Webサーバーを汎用の読取り専用ファイル・リポジトリにする場合は、単にPROPFINDを制限から外します。これにより、すべてのユーザーがディレクトリを任意に参照し、ファイルをフェッチできます。

9.2 mod_oradavの構成

mod_oradavモジュールを構成するには、Fusion Middleware Controlの「サーバーの詳細構成」ページを使用します。

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

- 9.2.1項「OraDAVの構成ディレクティブ」

- 9.2.2項「Fusion Middleware Controlを使用したmod_oradavの構成」

9.2.1 OraDAVの構成ディレクティブ

Oracle Fusion Middlewareのインストール時に、ディレクティブと呼ばれるOraDAVの必須パラメータはすべてデフォルト値に設定されます。デフォルト値が要件を満たしていない場合は、必須パラメータの値を変更し、オプションのパラメータの値を指定できます。mod_oradav.confファイルに含まれるOraDAVパラメータは、DAVおよびDAVParamで始まります。

注意:

パラメータを構成するには、Fusion Middleware Controlを使用します。mod_oradav.confファイルは直接編集しないでください。直接編集すると、インストール環境に問題が発生する可能性があります。

DAVパラメータは、URLの位置でDAVが使用可能であることを示します。DAVキーワードの後に、次のいずれかの値を指定します。

- On - この値は、mod_oradavがコンテンツにローカル・ファイル・システムを使用することを示します。

- Oracle - この値は、mod_oradavがすべてのコンテンツにOraDAVを使用することを示します。

DAVParamパラメータは、名前/値ペアの指定に使用します。必須のペアは、Oracle HTTP ServerからOracle Databaseに接続できるようにするペアです。これには、名前のOraService、OraUserおよびOraPasswordまたはOraAltPasswordが含まれます。

各OraDAVドライバでは、DAVParamメカニズムを使用して、ドライバ固有の設定を作成できます。すべてのDAVParamの名前/値ペアは、OraDAVドライバに渡されます。OraDAVパラメータのみでなく、DavMinTimeoutなどの追加のDAVパラメータを指定するかどうかも考慮する必要があります。

例9-1に、ローカル・システム上のファイルへのアクセスを構成する構文を示します。次の例では、Webサーバーのドキュメント・ディレクトリのサブディレクトリdav_portalと階層内のdav_portalのすべてのサブディレクトリを、DAVが使用可能なディレクトリとして指定します。dav_portalディレクトリまたはそのサブディレクトリには、シンボリック・リンクを定義しないでください。

例9-1 ファイル・システムへのアクセスの構成

<Location /dav_portal>
DAV On
</Location>

ルートの場所にあるコンテナのマッピング時に考慮する必要のある推奨事項は、次のとおりです。

- ルート自体をマップしないでください。たとえば、mod_oradav.confファイルに<Location / >を指定しないでください。

- あるコンテナを階層内で別のコンテナのサブ要素としてマップしないでください。たとえば、<Location /project1>と<Location /project1/project2>というコンテナは指定しないでください。<Location /project1>と<Location /project2>は指定できます。

- 階層内でコンテナ、またはそのコンテナの下に、シンボリック・リンクを作成しないでください。

注意:

OraDAVのディレクティブは、付録D「OHSモジュールのディレクティブ」で説明されています。D.3項「mod_oradav」を参照してください。

9.2.2 Fusion Middleware Controlを使用したmod_oradavの構成

Fusion Middleware Controlの「サーバーの詳細構成」ページで、mod_oradav.confファイルの<Location>コンテナ・ディレクティブ内にパラメータを入力できます。<Location>コンテナ・ディレクティブは、DAV対応のURLを指定します。DAVキーワードの後に、パラメータOnを指定します。これにより、mod_davに対してコンテンツにローカル・ファイル・システムを使用するように指示します。

次の例では、Webサーバーのドキュメント・ディレクトリ(デフォルトではhtdocs)のサブディレクトリmyfilesと階層内のmyfilesのすべてのサブディレクトリを、DAVが使用可能なディレクトリとして指定します。myfilesディレクトリまたはそのサブディレクトリには、シンボリック・リンクを定義しないでください。

<Location /myfiles>
DAV On
</Location>

9.2.3 mod_oradev.confの編集

mod_oradev.confファイルを次の場所に作成します。

<oracle_instance>/config/OHS/ohs1/moduleconf/mod_oradav.conf

次に記述するエントリをmod_oradevファイルに挿入します。

LoadModule oradav_module "${ORACLE_HOME}/ohs/modules/mod_oradav.so"

#<Location /dav/lsn>
#DAV oracle
#DAVDepthInfinity Off
#DavParam ORACONTAINERNAME LSNDAV
#DavParam ORALockExpirationPad 0
#DavParam ORAException RAISE
#DavParam ORATraceLevel 0
#DavParam OraTraceEvents "request"
#DavParam ORASERVICE psgprod
#DavParam ORACONNECTSN db-host
#DAVParam ORAUser lsn
#DAVParam ORAPassword psg_lsn
#DAVParam ORAPackageName ordsys.dav_api_driver
#DAVParam OraWebCacheReadOnly On
#</Location>

ファイルを保存し、4.1.4項「Oracle HTTP Serverの再起動」の説明に従ってOracle HTTP Serverを再起動します。mod_oradev.confファイルを編集する際のオプションは、Fusion Middleware Controlの「サーバーの詳細構成」ページに表示されます。

9.3 WebDAV WebDAVセキュリティに関する考慮事項

WebDAVでは読取りおよび書込み機能が有効になるため、インターネット・ユーザーはWebサイトやOracleリポジトリへの書込みを実行できます。この場合、ユーザーがWebサーバー・システム上で実行できる不適切なファイル(トロイの木馬など)を置けないようにすることが重要です。WebDAV構成および認証が適切に設定されていない場合、ファイル・システムから不適切なファイルが実行される可能性があります。しかし、Oracle HTTP Serverを新しくインストールすると、mod_oradavはデフォルトで無効になり、システムは最初から保護されます。

関連項目:

Apache HTTP Serverドキュメントの「Apache Module mod_dav Security Issues」。

Oracle HTTP Serverでサポートされている、標準のBasicまたはDigest認証および認可メカニズムを適用してください。通常、これは、提供されるmod_oradav.confファイル内のデフォルトの場所(dav_publicなど)に適用します。これにより、システムをリモート記憶域として使用できるユーザーが限定され、権限のないユーザーによりディスクがいっぱいにされることがなくなります。

また、Webサイトの作成者には、常にOracle HTTP Serverの認証および認可を適用する必要があります。また、Web作成者が適切に認証および認可された後にJSPファイルまたは他の実行可能ファイルを編集し、実行方法を調べられるように、実行コンテキストと編集コンテキストも提供する必要があります。そのためには、実行コンテキストに関連付けられたディレクトリの別名を作成し、別名を作成した場所でDAVを使用できるようにします。

9.4 OraDAVのパフォーマンスに関する考慮事項

この項では、各種操作のパフォーマンスの最適化に役立つ情報について説明します。この項の内容は、次のとおりです。

- 9.4.1項「ディスク・キャッシュとOraDAVの併用」

- 9.4.2項「WebDAVアクティビティ用のOracle Web Cacheのバイパス」

9.4.1 ディスク・キャッシュとOraDAVの併用

ディスク・キャッシュによるパフォーマンスの改善度は、中型から大型のファイル(約50KB以上)の場合に最大となります。ファイルが小さい場合、パフォーマンスの改善度は小さくなり、非常に小さいファイルの場合は、ディスク・キャッシュを使用する方がディスク・キャッシュを使用しない場合よりもパフォーマンスが低下することがあります。たとえば、ファイル・サイズがわずか24バイトのmyfile.datファイルがリクエストされた場合、そのファイルをサーバーからローカル・システムにコピーする所要時間は、サーバーにアクセスしてファイルの変更の有無をチェックする場合に比べてはるかに短くなります。ディスク・キャッシュを使用しない場合、ファイルの変更の有無がサーバーでチェックされることはなく、常にファイルがコピーされます。

次のOraDAVのパラメータを設定して、OraDAV操作用にディスク・キャッシュを制御できます。

- ORACacheDirectory

- ORACacheTotalSize

- ORACacheMaxResourceSize

- ORACachePrunePercent

ORACacheDirectoryを指定すると、OraDAV操作用のディスク・キャッシュが有効になります。また、ORACacheTotalSize値も指定する必要があります。ORACacheMaxResourceSizeおよびORACachePrunePercentパラメータの値も指定できます。ORACacheDirectoryを指定しないと、OraDAV操作用のディスク・キャッシュは有効にならず、他のディスク・キャッシュ関連のパラメータは関係しません。

9.4.2 WebDAVアクティビティ用のOracle Web Cacheのバイパス

Oracle Web Cacheは、Webサーバー・システム上のデータに対するクライアントの読取り専用操作など、ほとんどのWebアクティビティのパフォーマンスを高めます。Oracle Web Cacheは、読取りおよび書込み機能用に設計されているOraDAV操作(GET、PUT、LOCKおよびUNLOCK)をキャッシュしません。WebDAVクライアントをOracle HTTP Serverに直接接続すればパフォーマンスを改善できます。

WebDAVクライアントに対してOracle Web Cacheをバイパスするには、httpd.confファイル内で設定されているOracle HTTPリスニング・ポートにリクエストを直接送信できます。この場合、WebDAVクライアントは直接Oracle HTTP Serverに接続するため、Oracle Web Cacheを使用した場合よりもパフォーマンスがよくなります。

関連項目:

『Oracle Fusion Middleware Oracle Web Cache管理者ガイド』

9.5 OraDAVでのグローバリゼーション・サポートに関する考慮事項

DAVOraNLSLangClientディレクティブは、ローカル・ファイル・システムへのアクセスに対するグローバリゼーション・サポートを提供します。このディレクティブでは、ファイル・システム内のファイル名を、NLS_LANG設定を使用して変換する必要があるかどうかを指定します。値Offは、変換が不要であることを指定します。値Onは、ファイル・システム用のキャラクタ・セットにより、クライアント・リクエストで使用される可能性のあるすべての文字の変換に対応することを指定します。デフォルトはOffです。

ローカル・ファイル・システムにアクセスする場合は、ファイル・システム用のキャラクタ・セットを、クライアント・リクエストに埋め込まれたURL用のキャラクタ・セットと同じにするか、あるいは互換性のあるキャラクタ・セットにする必要があります。ファイル・システム用のキャラクタ・セットは、クライアント・リクエストに使用される可能性のあるすべての文字に変換できる必要があります。NLS_LANGパラメータ値は、クライアントとOraDAVサーバーのキャラクタ・セットを表す必要があります。また、パラメータDAVOraUseNLSLangに値Onを指定する必要があります。

たとえば、図9-2に示すように、ファイルにShiftJIS文字が使用され、dav_publicにあるファイル・システムがオペレーティング・システムではJAPANESE_JAPAN.JA16SJISキャラクタ・セットで表されているシステム上で、Webフォルダを使用している場合を考えます。

図9-2 OraDAVからShiftJIS文字を使用したファイル・システムへのアクセス

「図9-2 OraDAVからShiftJIS文字を使用したファイル・システムへのアクセス」の説明

次の手順を実行する必要があります。

1. NLS_LANG値をJAPANESE_JAPAN.JA16SJISに設定します。

2. mod_oradav.confファイルに次の行を含めます。

<Location /dav_public>
DAV On
DAVOraNLSLangClient On
</Location>

注意:

Microsoft Internet ExplorerをOraDAVおよびマルチバイト・キャラクタ・セットと併用する場合は、「インターネット オプション」の「詳細設定」タブでインターネット・オプション「常にUTF-8としてURLを送信する(再起動が必要)」を無効にする必要があります。デフォルトでは、このオプションは選択されています。このオプションの選択を解除するという要件は、データベースへのアクセスとファイル・システムへのアクセスの両方に適用されます。

9.6 DAVファイルの場所

ORACLE_HOME/ohs/cas/templates/default/moduleconf/mod_oradav.confファイルがファイル記憶域を使用するように構成されている場合、ファイルはデフォルトで次の場所に置かれます。

ORACLE_INSTANCE/config/OHS/component_name/moduleconf

Oracle Fusion Middleware Backup and Recovery Serviceでは、このデフォルトの場所がバックアップされます。ファイルの格納場所を変更した場合、Oracle Fusion Middleware Backup and Recovery Serviceでファイルをバックアップするには、新しい場所を登録する必要があります。

第III部

付録および用語集

第III部には次の付録と用語集が含まれます。

- 付録A「サード・パーティのWebサーバーに対するOracleプラグインの使用」

- 付録B「よくある質問」

- 付録C「Oracle HTTP Serverのトラブルシューティング」

- 付録D「OHSモジュールのディレクティブ」

- 「用語集」

A サード・パーティのWebサーバーに対するOracleプラグインの使用

この付録では、Oracle Fusion Middlewareコンポーネントをサード・パーティのHTTPリスナーと組み合せて使用するためのOracle Proxy Plug-InおよびOracle SSO Plug-Inの使用方法について説明します。

注意:

特に他に記載のないかぎり、このドキュメントに収められている情報は、Oracle HTTP ServerがOracle WebLogic ServerおよびOracle Fusion Middleware Controlにインストールされている場合に適用できます。このドキュメントの対象読者は、『Oracle Fusion Middlewareコンセプト・ガイド』および『Oracle Fusion Middleware管理者ガイド』の説明に従ってOracle Fusion Middlewareの主要概念を十分に理解しておく必要があります。

スタンドアロン・モードでのOracle HTTP Serverのインストールについては、『Oracle Fusion Middleware Oracle Web Tierインストレーション・ガイド』のスタンドアロン・モードでのOracle Web Tierのインストールに関する項を参照してください。

この付録では、次の項目について説明します。

- A.1項「Oracle Proxy Plug-Inの使用」

- A.2項「Oracle SSO Plug-Inの使用」

該当する場合は、Apache Software Foundationのドキュメントを参照しています。

A.1 Oracle Proxy Plug-Inの使用

Oracle Proxy Plug-Inにより、サード・パーティのHTTPリスナーからのリクエストをOracle Fusion Middlewareにプロキシまたは送信できます。Oracle Proxy Plug-Inは、UNIXおよびMicrosoft Windowsシステム上のSun Java System Web Server Enterprise Edition、またはMicrosoft Internet Information Server(IIS)v6.0および7.0とともに動作するように提供されたもので、その動作が保証されています。

その他のサード・パーティのHTTPリスナーには、各リスナーのネイティブ・プロキシ機能を使用できます。

関連項目:

詳細な動作保証情報は、http://www.oracle.com/technology/software/products/ias/files/fusion_certification.htmlを参照してください。

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

- A.1.1項「Oracle Proxy Plug-Inの概要」

- A.1.2項「Oracle Proxy Plug-Inのインストール」

- A.1.3項「Oracle Proxy Plug-Inの構成」

- A.1.4項「Oracle Proxy Plug-Inを使用するためのSun Java System Webサーバーの構成」

- A.1.5項「Oracle Proxy Plug-Inを使用するためのMicrosoft IIS 6.0リスナーの構成」

- A.1.6項「Oracle Proxy Plug-Inを使用するためのMicrosoft IIS 7.0リスナーの構成」

- A.1.7項「リクエストをOHSにプロキシする際のIISからのファイルの同時処理」

- A.1.8項「Oracle Proxy Plug-Inの使用上の注意」

- A.1.9項「Oracle Proxy Plug-Inのトラブルシューティング」

A.1.1 Oracle Proxy Plug-Inの概要

Oracle Proxy Plug-InはリバースHTTPプロキシです。プラグインは、Sun Java SystemまたはMicrosoft IISサーバーのHTTPリスナーからの受信HTTPリクエストをOracle Fusion Middlewareインスタンスに転送します(図A-1を参照)。

図A-1 Oracle Proxy Plug-In

「図A-1 Oracle Proxy Plug-In」の説明

プロキシの仕組みは、サード・パーティのHTTPリスナーによりロードされる共有ライブラリであり、プラグインとして提供されます。プラグインは、サード・パーティのリスナーとともに提供されるAPIを使用して、モジュールがOracle HTTP Serverで使用されるのとほぼ同じ方法で、HTTPリクエストを直接処理します。

Oracle HTTP Serverでは、サード・パーティのリスナーで使用されているアドレスとポートを擬似実行できます。Oracle HTTP Serverにリクエストを送信するときに、リクエストの送信先である実際のホスト名とポートとは異なるHost: HTTPヘッダーを送信するように、プロキシを構成できます。これにより、他のアプリケーションはリバース・プロキシから保護されます。

Oracle Proxy Plug-Inはロード・バランシングを実行しません。特定のURLに対してリクエストを単一のバックエンドOracle HTTP Serverに送信するのみです。また、Oracle Proxy Plug-Inはサード・パーティのリスナーとOracle HTTP Serverの間のSSLをサポートしていません。

A.1.2 Oracle Proxy Plug-Inのインストール

Sun Java System WebサーバーおよびMicrosoft IIS用のOracle Proxy Plug-Inは、Oracle Fusion Middleware Web Tier and Utilitiesインストーラ(11.1.1.2以降のフル・インストーラ、パッチセットのインストーラではない)で使用できます。サード・パーティのリスナーがアクセスできるディレクトリに、適切な定義ファイルと共有ライブラリを格納します。

表A-1に、OracleAS Proxy Plug-Inの共有ライブラリに関する情報を示します。

表A-1 Oracle Proxy Plug-Inの共有ライブラリ

リスナー

場所および説明

Sun Java System Webサーバー

CD-ROM上の場所:

- UNIX: /Disk1/plugins/sjsws/oracle_proxy.so

- Microsoft Windows: \Disk1\plugins\sjsws\oracle_proxy_nes.dll

リスナーのプラグインをインストールするには、リスナーが読取り権限と実行権限を持つUNIXのディレクトリ、またはアクセス可能なMicrosoft Windowsのディレクトリに、.dllファイルをコピーします。

Microsoft IIS

CD-ROM上の場所: \Disk1\plugins\iis\oracle_proxy.dll

リスナー用のプラグインをインストールするには、リスナーがアクセスできるディレクトリにoracle_proxy.dllをコピーします。

A.1.3 Oracle Proxy Plug-Inの構成

Oracle Proxy Plug-Inには、プロキシ機能を制御するプロキシ定義ファイルが1つあります。Webサーバーのファイル・システムにこのファイルが存在すると、プロキシ機能が有効になります。また、サード・パーティのリスナー固有の構成ファイル(Sun Java System WebサーバーやMicrosoft IISの構成ファイルなど)を変更して、そのリスナーに対してプラグインを有効にする必要があります。Oracle Proxy Plug-Inの定義ファイルは、どのような名前でもかまいません。

A.1.3.1 プロキシ・サーバー定義ファイル

プロキシ・サーバー定義ファイルは、サード・パーティのリスナーが読取り可能なディレクトリに置く必要があります。たとえば、システム上の任意のディレクトリ内にproxyというディレクトリを作成し、プロキシ・サーバー定義ファイル、プロキシ共有ライブラリ・ファイルおよびプロキシ・ログ・ファイルを配置します。

プロキシ・サーバー定義ファイルには、次のパラメータが含まれます。

- リクエストをOracle Fusion Middlewareにプロキシするために使用されるサーバーを記述する名前/値ペア

- サーバーとの通信用のオプション

- URLをサーバーにマップするルールのセット

このファイルは、任意のテキスト・エディタで作成できます。

A.1.3.2 プロキシ定義ファイルのパラメータ

プロキシ定義ファイルでは、次のプロキシ・パラメータが使用されます。

- oproxy.serverlist

- oproxy.servername.hostname

- oproxy.servername.port

- oproxy.servername.alias

- oproxy.servername.resolveall

- oproxy.servername.urlrule

A.1.3.2.1 oproxy.serverlist

プラグインで認識可能なサーバー名をすべてリストします。

カテゴリ

値

使用可能な値

リクエストの送信先となるOracle HTTP Serverごとに1つのサーバー名をカンマで区切ったリスト。サーバー・リスト内のすべてのサーバーは、ファイルにも定義する必要があります。

注意: Oracle Proxy Plug-Inではロード・バランシングが実行されないため、同じurlruleで2つのサーバーを定義した場合、リクエストはそのうちの1つのみに転送されます。

デフォルト値

なし。プロキシを機能させるには、少なくとも1つはサーバー名を指定する必要があります。

例

oproxy.serverlist=ohs1,ohs2

A.1.3.2.2 oproxy.servername.hostname

特定のサーバーとの通信時に使用するホスト名を定義します。

カテゴリ

値

使用可能な値

有効なホスト名

デフォルト値

なし

例

oproxy.ohs1.hostname=host1.acme.com

A.1.3.2.3 oproxy.servername.port

特定のサーバーとの通信時に使用するポートを定義します。

カテゴリ

値

使用可能な値

ポート値

デフォルト値

80

例

oproxy.ohs1.port=7777

A.1.3.2.4 oproxy.servername.alias

クライアントからサード・パーティのHTTPリスナーへのアクセスに使用するホスト名とポートを定義して、プロキシの別名機能をサポートします。このパラメータを定義すると、この値がHost: HTTPヘッダーとして渡されます。定義しない場合は、実際に通信先となるシステムのホスト名とポートが送信されます。

カテゴリ

値

使用可能な値

host:port

例

oproxy.ohs1.alias=www.example.com:80

A.1.3.2.5 oproxy.servername.resolveall

ホスト名を解決するために、すべてのリクエストについてプロキシ・プラグインをバックエンド・サーバーに送ります。これにより、プロキシ・プラグインとバックエンド・サーバー間のDNSベースのフェイルオーバーまたはルーティングが可能になります。このパラメータを使用すると、すべての受信リクエストについてDNSサーバーへの送信が必要になるため、ホスト名からIPアドレスへのマッピングが動的に変わる場合のみ使用してください。

カテゴリ

値

使用可能な値

true | false

デフォルト値

false

例

oproxy.ohs1.resolveall=true

A.1.3.2.6 oproxy.servername.urlrule

このサーバーにリダイレクトされるURLまたはURLセットを記述します。指定したサーバーには、任意の数のurlruleプロパティを割り当てることができます。

カテゴリ

値

例

oproxy.ohs1.urlrule=/foo/*

次のタイプのルールを使用できます。

- 完全一致: 1つのURLが1つのサーバーにマップされます。例:
oproxy.ohs1.urlrule=/foo/bar/foo.html

この例では、URL /foo/bar/foo.htmlのみがマップされます。これは、サーバーohs1のプロキシになります。

- コンテキスト一致: 共通の接頭辞またはコンテキストを持つURLのセットが、1つのサーバーにマップされます。例:
oproxy.ohs1.urlrule=/foo/*

この例では、/fooで始まるURLがサーバーohs1にマップされます。

コンテキスト一致の場合は、stripcontextオプションとurlruleパラメータを使用して、ワイルドカードの後のURL部分のみをサーバーに送信できます。stripcontextオプションのデフォルトはfalseで、trueに設定しないかぎり指定する必要はありません。次の例では、わかりやすくするためにfalseを指定しています。

パラメータ

URLリクエスト

結果

oproxy.ohs1.urlrule=/foo/*
oproxy.ohs1.stripcontext=true

http://hostname/foo/header1.gif

ORACLE_INSTANCE/config/OHS/component_name/htdocs/header1.gif

oproxy.ohs1.urlrule=/foo/*
oproxy.ohs1.stripcontext=false

http://hostname/foo/header1.gif

ORACLE_INSTANCE/config/OHS/component_name/htdocs/foo/header1.gif

- 拡張子一致: 共通のファイル拡張子を持つファイルが、すべて1つのサーバーにマップされます。
例:

oproxy.ohs1.urlrule=/*.jsp

この例では、末尾が.jspのURLがすべてサーバーohs1にマップされます。これをコンテキスト・ルールと組み合せて/foo/bar/*.jspと指定できます。この場合、/foo/barで始まって.jspで終わるURLのみがプロキシされます。

注意:

oproxy.servername.urlruleの場合、同じURLに複数のルールが適用されると次の優先順位が適用されます。

1. 完全一致

2. 最長のコンテキスト一致と拡張子一致

3. 最長のコンテキスト一致

優先順位の例を次に示します。

- /foo/bar/index.htmlは、/foo/bar/*より優先

- /foo/bar/*.jspは、/foo/bar/*より優先

- /foo/bar/*は、/foo/*より優先

A.1.3.3 Oracle Proxy Plug-Inの動作の定義

プロキシ・サーバー定義ファイル内で、プラグインのプロキシとして使用するサーバーとURLを定義します。

1. 次のように、ファイルの1行目にプラグインで使用できるすべてのサーバーのリストを指定します。

oproxy.serverlist=ohs1,ohs2

2. Fusion Middleware Controlまたはopmnctlコマンドライン・ユーティリティを使用して、Oracle HTTP Serverポートを表示します。このポート番号は次の手順で使用します。

3. 各サーバーの関連プロパティ(ホスト名、ポートおよびサーバー別名)を設定します。例:

oproxy.ohs1.hostname=host1.acme.com.us.example.com
oproxy.ohs1.port=7777
oproxy.ohs1.alias=www.example.com

ホスト名は必須です。別名の値を指定しないと、ホスト名とポートの組合せが使用されます。別名により、バックエンド・サーバーは、クライアントからサード・パーティのリスナーに配信されるHTTPのHostヘッダーと完全一致のヘッダーを持つリクエストを受信できます。

4. urlruleパラメータを設定して、サーバー間のリダイレクションを指定します。たとえば、このルールでは、プロキシに対するすべての受信リクエストがサーバーohs1のWebサーバーにマップされます。

oproxy.ohs1.urlrule=/*

例A-1は、サンプルのプロキシ・サーバー定義ファイルです。

例A-1 サンプル・プロキシ・サーバー定義ファイル

# This file defines proxy server behavior.
#
# Server names that the proxy plug-in will recognize.
oproxy.serverlist=ohs1

# Hostname to use when communicating with a specific server.
oproxy.ohs1.hostname=host1.acme.com

# Port to use when communicating with a specific server.
oproxy.ohs1.port=7777

# URL(s) that will be redirected to this server.
oproxy.ohs1.urlrule=/*

A.1.4 Oracle Proxy Plug-Inを使用するためのSun Java System Webサーバーの構成

この項では、UNIXおよびMicrosoft Windowsプラットフォーム上のSun Java System Webサーバーに対してプロキシ・プラグインを構成する手順について説明します。

Sun Java System Webサーバーのデフォルト構成ファイルでは、/servletの受信するすべてのURIリクエストを、Sun Java Systemサーブレット・ハンドラにルーティングします。Oracle Proxy Plug-Inは、Sun Java Systemサーバーの構成設定をオーバーライドしません。Oracle Proxy Plug-InへのURLマッピングとSun Java Systemサーブレット・エンジンへのURLマッピングは、必ず異なるようにします。

Microsoft WindowsでSun Java System Webサーバーを構成する場合、すべてのパスでフォワード・スラッシュ(/)を使用してください。

1. Sun Java System Webサーバーのバージョン6.1またはバージョン7.0の/configディレクトリにあるmagnus.confファイルを開きます。

2. オペレーティング・システムに応じて、次のload-modules行を追加します。

- UNIXの場合:

Init fn="load-modules" shlib="/path/oracle_proxy.so" funcs=op_init,op_objecttype,op_service

- Microsoft Windowsの場合:

Init fn="load-modules" shlib="/path/oracle_proxy_nes.dll" funcs=op_init,op_objecttype,op_service

これらの行で、pathはプラグインの共有ライブラリのパスです。これは、プロキシ共有ライブラリの場所、およびこのライブラリによって公開される関数をリスナーに示します。

3. 次の構成パラメータを追加します。

Init fn="op_init" server_defs="/path/to/proxy/definition/file" log_file="/path/to/proxy/log/file" log_level=loglevel

例:

Init fn="op_init" server_defs="/oracle/proxyplugin/proxydefs" log_file="/oracle/proxyplugin/oproxy.log" log_level=error

プロキシ・サーバーの定義ファイルには、サーバーがプロキシ・プラグインと通信するためのすべての構成情報が含まれます。定義ファイルには任意の名前を使用できます。

プラグインからのメッセージを記録するためのログ・ファイルとログ・レベルを指定できます。これはオプションです。

関連項目:

詳細な説明と例は、A.1.3.1項「プロキシ・サーバー定義ファイル」を参照してください。

4. obj.confファイルの<Object name=default>セクションで、ObjectTypeという語で始まる他のすべての行の前に、次の行を追加します。

ObjectType fn=op_objecttype

5. Serviceという語で始まる他のすべての行の前に、次の行を追加します。

Service type="oracle/proxy" fn="op_service"

6. ファイルを保存します。

7. Sun Java System WebサーバーGUIまたはシェル・スクリプトを使用して、リスナーを起動します。

A.1.5 Oracle Proxy Plug-Inを使用するためのMicrosoft IIS 6.0リスナーの構成

この項では、Microsoft Windowsプラットフォーム上のMicrosoft IIS 6.0リスナーに対してプロキシ・プラグインを構成する手順について説明します。この手順では、Microsoft Windowsレジストリ・エントリを作成し、Microsoft IIS 6.0管理コンソールを使用してディレクトリおよびフィルタを追加します。プラグインの構成後にリスナーを再起動する必要があります。

プラグインを構成するには、次の手順を実行します。

1. Microsoft Windowsレジストリ エディタを使用して、新しいレジストリ・エントリを作成します。

1. 「スタート」メニューから「ファイル名を指定して実行」を選択し、ダイアログ・ボックスにregeditと入力して「OK」をクリックします。「レジストリ エディタ」ウィンドウが表示されます。

2. 「レジストリ エディタ」ウィンドウで、名前の前のプラス記号(+)をクリックしてHKEY_LOCAL_MACHINEフォルダを開きます。

3. 名前の前のプラス記号(+)をクリックしてSOFTWAREフォルダを開き、「ORACLE」フォルダをクリックします。

4. 「編集」メニューの「新規」→「キー」を選択します。ORACLEフォルダの下に「新しいキー #1」という名前の新規フォルダが追加されます。

5. キー名としてIIS Proxy Adapterを入力します。

6. 「編集」メニューの「新規」→「文字列値」を選択します。新しい値が「New Value #1」という名前の右ウィンドウ・ペインに追加されます。値の名前にserver_defsと入力します。

7. 「編集」メニューの「修正」を選択します。「文字列の編集」ダイアログ・ボックスが表示されます。

8. 「値のデータ」フィールドにプロキシ・サーバー定義ファイルのフルパスを入力して、「OK」をクリックします。

9. オプションで、d.)からh.)に示した手順を使用して、log_fileおよびlog_levelを指定できます。

- 名前log_fileとログ・ファイルの格納場所(d:\proxy\proxy.logなど)を指定する文字列値を追加します。

- 名前log_levelと必要なログ・レベルを指定する文字列値を追加します。有効な値は、debug、inform、errorおよびemergです。

10. 「ファイル」メニューから「レジストリ エディタの終了」を選択して、「レジストリ エディタ」ウィンドウを閉じます。

2. Microsoft IIS管理コンソールを使用し、oracle_proxy.dllと同じ物理パスを指定して、Microsoft IIS Webサイトに新規の仮想ディレクトリを追加します。

1. 「スタート」→「プログラム」→「管理ツール」→「インターネット インフォメーション サービス(IIS)マネージャ」をクリックして、IISマネージャを開きます。

2. サーバー名の前のプラス記号(+)をクリックしてserverフォルダを開きます。

3. 「デフォルト・サイト」フォルダを右クリックし、メニューから「新規」→「Virtual Directory」の順にオプションを選択します。

4. 「仮想ディレクトリの作成ウィザード」ウィンドウで、「エイリアス」にoproxyを入力します。次に、oracle_proxy.dllファイルが含まれるディレクトリを参照するかそのパス(たとえば、c:\OProxy)を入力し、「ISAPIアプリケーションやCGI等を実行する」チェック・ボックスを選択します。

5. 「完了」をクリックして、仮想ディレクトリの作成ウィザードを閉じます。

3. Microsoft IIS管理コンソールを使用し、Microsoft IIS Webサイトにフィルタとしてoracle_proxy.dllを追加します。フィルタ名はoproxyとし、その実行可能ファイルはoracle_proxy.dllファイルを含むディレクトリを指す必要があります。

1. 「デフォルト・サイト」フォルダを右クリックし、メニューから「プロパティ」オプションを選択します。

2. 「既定のWebサイトのプロパティ」ウィンドウで、「ISAPIフィルタ」タブを選択します。

3. 「追加」をクリックして、新しいフィルタを追加します。
「フィルタのプロパティの追加と編集」ウィンドウが表示されます。

4. フィルタ名にoproxyを入力します。次に、oracle_proxy.dllファイルが含まれるディレクトリを参照するかそのパス(たとえば、c:\OProxy\oracle_proxy.dll)を入力します。
図iis6_addfilter_p.gifの説明

5. 「OK」をクリックして、「フィルタのプロパティの追加と編集」ウィンドウを閉じます。

6. 「OK」をクリックして、「既定のWebサイトのプロパティ」ウィンドウを閉じます。

4. 「server name」フォルダの下の「Webサービス拡張」フォルダをクリックして、「Webサービス拡張」ページを開きます。右パネル内の「すべての不明なISAPI拡張」を選択し、「許可」をクリックします。この項目のステータスが「禁止」から「許可」に変わります。

5. 「アプリケーション プール」フォルダを選択し、メニューから「プロパティ」オプションを右クリックします。「アプリケーション プールのプロパティ」ウィンドウで「識別」タブを選択し、「定義済み」アイデンティティを「Local System」に変更します。確認ダイアログ・ボックスが表示され、「このアプリケーション プールをローカル システムとして実行しますか?」と尋ねられます。「はい」を選択します。

6. Microsoft IIS 6.0サーバーを停止してから再起動します。

注意:

Microsoft IISを再起動するには、コントロール パネルですべてのMicrosoft IISサービスを停止するか、コンピュータを再起動する必要があります。.dllを確実に再ロードさせるのは、この方法のみです。管理コンソール経由でMicrosoft IIS 6.0を再起動する方法では不十分です。

7. 新しく作成したoproxyフィルタが緑の上矢印でマークされていることを確認します。

A.1.6 Oracle Proxy Plug-Inを使用するためのMicrosoft IIS 7.0リスナーの構成

この項では、Microsoft Windowsプラットフォーム上のMicrosoft IIS 7.0リスナーに対してプロキシ・プラグインを構成する手順について説明します。この手順では、Microsoft Windowsレジストリ・エントリを作成し、Microsoft IIS 7.0管理コンソールを使用してディレクトリおよびフィルタを追加します。プラグインの構成後にリスナーを再起動する必要があります。

プラグインを構成するには、次の手順を実行します。

1. A.1.5項「Oracle Proxy Plug-Inを使用するためのMicrosoft IIS 6.0リスナーの構成」のステップ1を実行し、レジストリ エディタを使用してプラグインに新しいレジストリ・エントリを作成します。

2. Microsoft IIS管理コンソールを使用して、プロキシ・プラグイン・フィルタを追加します。

1. 「スタート」→「プログラム」→「管理ツール」→「インターネット インフォメーション サービス(IIS)マネージャ」をクリックして、IISマネージャを開きます。

2. サーバー名(たとえば、DSCDAA10-VM6)の前のプラス記号(+)をクリックして、serverフォルダを開きます。

3. 名前の前のプラス記号(+)をクリックしてSitesフォルダを開きます。

4. 「既定のWebサイト」アイコンをクリックして、「既定のWebサイトのホーム」ページを開きます。

5. 「ISAPIフィルタ」アイコンをダブルクリックして「ISAPIフィルタ」ページを開き、次のタスクを完了します。

- 「操作」ペインで「追加」をクリックして、「ISAPIの追加」ダイアログ・ボックスを開きます。

- 「フィルタ名」フィールドに、ISAPIフィルタのわかりやすい名前を入力します。

- 「実行可能ファイル」フィールドに、ISAPIフィルタ・ファイルの場所のファイル・システム・パスを入力するか、省略記号(「...」)ボタンをクリックして、ISAPIフィルタ・ファイルが含まれるフォルダに移動します。
図isapi3_p.gifの説明

- 「OK」をクリックします。

3. 次の手順に従って、新しく追加したISAPIフィルタを構成します。

1. ナビゲーション・パネルの「既定のWebサイト」アイコンをクリックして、変更可能なアプリケーションに関連するすべての設定を表示します。

2. 「ハンドラ マッピング」オプションをクリックして、特定のMIMEタイプのハンドラのマッピングを設定します。

3. 「ハンドラ マッピング」ページの「StaticFile」オプションをクリックし、「モジュール マップの編集」ダイアログ・ボックスで「要求パス」を*.*に変更します。

4. 「ハンドラ マッピング」ページの「操作」領域で、「スクリプト マップの追加」オプションをクリックします。

5. 「スクリプト マップの編集」ダイアログ・ボックスで、「要求パス」に*を入力します。「実行可能ファイル」フィールドを使用してoracle_proxy.dllファイルを参照し、これを実行可能ファイルとして追加します。このファイルにproxyという名前を指定します。

6. 「要求の制限」ボタンをクリックして、「要求の制限」ダイアログ・ボックスを開きます。「要求のマップ先が次の場合のみハンドラを呼び出す」チェック・ボックスを選択解除し、「OK」をクリックしてこのハンドラ・マッピングを追加します。

7. 「スクリプト マップの追加」ダイアログ・ボックスで「はい」をクリックします。

IISマネージャ・ツリーのルート・ノードをクリックしてから「ISAPIおよびCGIの制限」をクリックすると、ここに示したようなoracle_proxy.dllのエントリが表示されます。

[No Description] Allowed C:\proxy\oracle_proxy.dll

4. 「コントロール パネル」の「サービス」を開き、World Wide Web Publishing Serviceをいったん停止して再起動することにより、Microsoft IISサーバーを再起動します。

注意:

Microsoft IISを再起動するには、コントロール パネルですべてのMicrosoft IISサービスを停止するか、コンピュータを再起動する必要があります。.dllを確実に再ロードさせるのは、この方法のみです。管理コンソール経由でMicrosoft IIS 7.0を再起動する方法では不十分です。

A.1.7 リクエストをOHSにプロキシする際のIISからのファイルの同時処理

前述の手順を使用してOracle Proxy Plugin用にIIS7を構成することにより、リクエストがOHSにのみプロキシされます。状況によっては、リクエストをOHSにプロキシすると同時に、IISからファイルを処理することをお薦めします。そうするためには、プロキシ・プラグインを構成してそれが機能することを確認した後に(A.1.6項「Oracle Proxy Plug-Inを使用するためのMicrosoft IIS 7.0リスナーの構成」)、次の手順を実行します。

1. 「既定のWebサイト」を右クリックして、「仮想ディレクトリの追加」をクリックします。

2. 「エイリアス」フィールドで、staticと入力し、物理パスをc:\inetpub\wwwroot\staticに設定します。「OK」をクリックします。

注意:

ファイルを別の場所に配置した場合、物理パスが異なることがあります。それに応じて、パスを変更する必要があります。

「既定のWebサイト」の下の静的フォルダが表示されます。

3. 「既定のWebサイト」の下の静的フォルダをクリックします。
静的ホームページが表示されます。

4. 静的ホームページの右ペインで、「ハンドラーマッピング」、「順序指定された一覧の表示」の順にクリックします。ハンドラ・マッピングの順序指定されたリストが表示されます。

5. 「プロキシ」をクリックして、StaticFileハンドラ・マッピングの下に移動します(これにより、StaticFileハンドラ・マッピングがプロキシ・ハンドラ・マッピングの上になります)。

6. c:\inetpub\wwwrootの下に静的フォルダを作成し、このフォルダ内にHTMLファイル(index.htmlなど)をいくつか配置します。

7. サービスの下のWorld Wide Web Publishing Serviceを再起動して、IIS7を再起動します。

8. http://localhost:80/static/index.htmlを開いて、index.htmへのアクセスを試行します。

9. プロキシ・プラグインを介して構成したサイトへのアクセスを試行します。

A.1.8 Oracle Proxy Plug-Inの使用上の注意

この項では、Oracle Proxy Plug-Inの背後で動作するアプリケーションの開発時に注意が必要な開発および使用方法について重点的に説明します。また、その一部は、Oracle Web Cacheの背後で動作するアプリケーションを使用可能にする場合にも適用されます。

- ネットワークへのエントリ・ポイントとなっているOracle HTTP Serverベースの構成の有無を調べます。
通常、これが関係するのは、アプリケーションにOracle HTTP Serverへ直接プラグインするモジュールがある場合のみです。具体的には、Oracle HTTP Serverへの接続に基づいて、認証にSSL証明書を使用しているなど、クライアント情報の取得に伴う依存性を調べます。現在、Secure Sockets Layer(SSL)はサポートされていないため、クライアントがSSLを使用してサード・パーティのリスナーに接続しても、そのリスナーからは暗号化されていないHTTPメッセージがOracle HTTP Serverに送信されます.。これは、プラグインの背後にあるコンポーネントにはクライアント証明書を使用できないことを意味します。Oracle Proxy Plug-InとOracle Web Cacheが使用されている場合、環境変数REMOTE_ADDRは明確に保持されていますが、他のクライアント情報は、実際には、クライアントの実際のホストではなく、プロキシが常駐するシステムを示していることがあります。Oracle HTTP ServerがOracle Fusion Middleware用の外部リスナーでない場合は、このような動作を見つけて排除する必要があります。

- Webサイトへの外部リンクでないかぎり、HTMLにはホスト名を埋め込まないでください。
これには、静的HTMLページや、サーブレット、JSP、PL/SQLなどにより生成される動的ページが含まれます。Oracle HTTP Serverのサーバー名を取得するコードをすべて検査し、クライアントに返されるページにサーバー名が埋め込まれていないことを確認します。この動作をテストするには、Webクローラ・アプリケーション(スパイダ)を使用してWebサイトのすべてのリンクを走査します。この機能を持つオープン・ソースのツールを使用できます。

- クライアントにダウンロードされるアプリケーション(アプレットやJavaScriptなど)では、ホストおよびポート情報を返さないようにします。
ブラウザベースのコードを使用するアプリケーションがある場合は、そのコードに実際にコンテンツを配信するOracle HTTP Serverのホスト名とポートが含まれていないことを確認します。かわりに、サード・パーティのリスナーが使用する、実際にクライアントがアクセス可能なアドレスを含める必要があります。

- アプリケーション内のすべてのURLを、プロキシで使用できるルール・セットに簡単にマップできるかどうかを確認します。
アプリケーションに対するすべてのリクエストを適切にプロキシするには、Oracle Proxy Plug-InにそのアプリケーションのURL領域に関する詳細な記述が必要です。Oracle Fusion Middlewareの各アプリケーションでは、そのアプリケーション用にプラグインを構成するために必要なルール・セットを記述する必要があります。このルール・セットには、アプリケーションで生成できるURLをすべて含めてください。プロキシのurlruleパラメータで記述されないURLがアプリケーションにより生成されると、リクエストはサード・パーティのHTTPリスナーにより処理され、「document not found」というエラーが発生することがあります(または、異なるドキュメントがクライアントに配信されることがあります)。

共通のトップレベル・ディレクトリ(マッピングやイメージに依存するディレクトリ)を使用するアプリケーションの開発者は、次のように準備する必要があります。

- このような共通リンクを、すでにサード・パーティのリスナーにデプロイされているアプリケーションと競合しないように変更します。

- ユーザーに対して、必要な内容をサード・パーティのリスナーのディレクトリ構造にコピーするように指示します。パフォーマンス上の理由で、サード・パーティのリスナーで静的な.gifおよび.jpgファイルを処理することをお薦めしますが、これを行うにはサード・パーティのリスナーにそれらのファイルをコピーする必要があります。

A.1.9 Oracle Proxy Plug-Inのトラブルシューティング

この項では、Oracle Proxy Plug-Inに関連する一般的な問題および解決策について説明します。

リスナーを起動できない場合

- プロキシ・サーバー定義ファイルに問題がないことをチェックします。サーバー・リスト行に指定されている各サーバーを、後からファイル内で定義する必要があります。少なくとも1つはサーバーを定義してください。サーバー名がリストに指定されていても、定義されていなければリスナーが起動しません。プロキシ・サーバー定義ファイルに、入力ミスや引用符の不足がないかどうかを確認します。

- Sun Java System Webサーバー6.1または6.0の場合: magnus.confファイルにInit行が追加され、obj.confファイルにObjectTypeおよびService行が追加されていることを確認します。

リスナーから適切なURLが返されない場合

- プロキシ・サーバー定義ファイルの変更内容が保存され、リスナーが再起動していることを確認します。

- プロキシ・サーバー定義ファイルに入力ミスがないことを確認します。

- urlruleパラメータが適切に設定されていることを確認し、stripcontextオプションをtrueに設定する必要があるかどうかを判別します。

- プロキシ・サーバー定義ファイルのserverlist行で、アクセス先となるバックエンド・サーバーが指定されていることを確認します。

- バックエンド・サーバーが稼働していること、および取得するファイルが存在し、バックエンド・サーバー上でアクセスできることを確認します。

- プロキシ・サーバー定義ファイル内のhost、portおよびurlruleパラメータで、バックエンド・サーバー上の適切な領域がターゲットとして指定されていることを確認します。

- クライアント・リクエストが、サード・パーティのリスナー・マシンの適切なポートに送信されていることを確認します。

- リスナーのログ・ファイル、プロキシ・ログ、バックエンド・サーバーのログをチェックし、リクエストが通過していることを確認します。状況によっては、プロキシ・ログをデバッグ・モードに設定し、リスナーを再起動する必要があります。

プロキシ・サーバー定義ファイルの変更内容が反映されない場合

- プロキシ・サーバー定義ファイルの変更内容が保存され、リスナーが再起動していることを確認します。

- Microsoft IISの場合、コントロール パネルでWWW Publishing Serviceを停止してから起動する必要があります。この作業には数分かかる可能性があります。

Microsoft IISリスナーで不完全なページや文字化けが表示される

Sun Java SystemブラウザでMicrosoft IISのページを表示しないでください。

Sun Java System Webサーバー6.1または7.0で解析エラーが発生する

ポートの変更やセキュリティの有効化(SSLの場合)を試行すると、サーバーからエラー・メッセージ「Unable to parse magnus.conf」が返されることがあります。

magnus.confファイル内で、コメントとInit行の前後に追加した行を削除します。

「ファイルが見つかりません」というエラーが発生する場合

存在することがわかっているファイルをコンテキストベースのurlruleパラメータを使用して取得するときに、リスナーから「Not Found」というメッセージが返される場合は、stripcontext=trueを設定する必要があります。

関連項目:

A.1.3.2.6項「oproxy.servername.urlrule」

Sun Java System Webサーバーから/servletリクエストとともにサーバー・エラーが返される

Sun Java System Webサーバーのデフォルト構成では、/servletへのすべてのURLリクエストが独自のサーブレット・ハンドラにマップされます。これを修正するには、プロキシ・サーバー定義ファイルを編集するか、Sun Java System Webサーバー構成を変更する必要があります。

部分URLリクエストで予期しない結果が返される場合

Microsoft IISおよびSun Java SystemのサーバーURLは、他と異なる方法でオートコンプリートされます。http://example、http://example/およびhttp://example/index.htmlのリクエストでは、どのプラットフォームでも同じ結果が返されるとはかぎりません。oproxy.servername.urlruleパラメータを使用すると、この問題を回避できます。

関連項目:

A.1.3.2.6項「oproxy.servername.urlrule」

サーバーから返されるページ上のイメージ・リンクが壊れている場合

プロキシ・サーバー定義ファイル内で正確なurlruleパラメータ(urlrule=/*.htmlなど)を使用している場合、サーバーでは指定のページが取得されます。他のリンクは、ページのインライン・イメージを含めてすべてユーザーに対して禁止されます。stripcontext=trueを指定して正確なurlruleを使用すると、サーバー・エラーが返されます。

予期しないページが表示される場合

クライアント・ブラウザのメモリー・キャッシュを消去します。旧バージョンのSun Java SystemおよびMicrosoft Internet Explorerでは、ページを毎回取得するように設定した場合でも、キャッシュ用のメモリーが割り当てられていない場合でも、キャッシュされたページが使用されます。この動作を機能させるには、ブラウザを再起動する必要があります。予期しないページが表示される場合は、ブラウザをリフレッシュするか、ページを再ロードしてください。

REMOTE_ADDRに予期しないIPアドレスが含まれている場合

通常、REMOTE_ADDRフィールドには、クライアント・システムのIPアドレスが含まれます。一部のURLリクエストの場合は、環境内にプロキシ・サーバーがあると、このフィールドにプロキシ・サーバーのIPアドレスが含まれることがあります。

ネットワークのエントリ・ポイントにリダイレクトされる場合

バックエンド・サーバーがネットワークのエントリ・ポイントへのリダイレクトを返す場合は、ホストおよびポート情報を更新する必要があります。インストール環境に応じて、次のいずれかのオプションを選択してください。最初の方法をお薦めします。

- Fusion Middleware Controlの「サーバーの詳細構成」ページを使用して、httpd.confファイルに次のディレクティブを設定します。

UseCanonicalName On
ServerName name of listener host
Port port of listener host

- Fusion Middleware Controlの「サーバーの詳細構成」ページを使用して、httpd.confファイルに次のディレクティブを設定します。

UseCanonicalName port
Port port of listener host

プロキシ・プラグインのサーバー定義ファイルを次のように編集します。

oproxy.serverName.alias=name of listener host:port of listener host

A.2 Oracle SSO Plug-Inの使用

Oracle SSO Plug-Inは、サード・パーティのリスナー・アプリケーションを、Oracleシングル・サインオン(SSO)インフラストラクチャを使用して保護するように設計されています。Oracle Proxy Plug-Inは、Microsoft Windowsシステム上のMicrosoft Internet Information Server (IIS) v6.0およびv7.0とともに動作するように提供されたもので、その動作が保証されています。

関連項目:

詳細な動作保証情報は、http://www.oracle.com/technology/software/products/ias/files/fusion_certification.htmlを参照してください。

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

- A.2.1項「Oracle SSO Plug-Inの概要」

- A.2.2項「Oracle SSO Plug-Inのインストール」

- A.2.3項「Oracle Single Sign-On Serverへの登録」

- A.2.4項「Oracle SSO Plug-Inの構成」

- A.2.4.2項「リソースを保護するためのルール」

- A.2.5項「Oracleシングル・サインオンを使用するためのMicrosoft IIS 6.0リスナーの構成」

- A.2.6項「Oracleシングル・サインオンを使用するためのMicrosoft IIS 7.0リスナーの構成」

- A.2.7項「Oracle SSO Plug-Inのトラブルシューティング」

A.2.1 Oracle SSO Plug-Inの概要

Oracle SSO Plug-Inは、Microsoft IIS用のOracleシングル・サインオン(SSO)ソリューションです。このプラグインは、サード・パーティのリスナー・アプリケーションを、SSOインフラストラクチャを使用して保護するように設計されています。Oracle SSO Plug-Inにより、ユーザーはSSOパスワード1つで様々なサード・パーティのリスナー・アプリケーションに対する認証を受けることができます。このようにSSOで保護されたサード・パーティ製リスナー・アプリケーションは、同一のSSOサーバー上で保護されているかぎり、SSO対応のOracle HTTP ServerアプリケーションやOracle SSO対応のレガシー・アプリケーションと統合できます。

Oracle SSO Plug-Inはmod_ossoの簡易版で、その基本機能の一部のみを実装しています。動的認証、グローバル・ログアウト、アイドル・タイムアウト、グローバル・タイムアウトおよびレガシー・アプリケーションのBasic認証などの機能は、現行リリースのOracle SSO Plug-Inには実装されていません。

図A-2は、ユーザーによりOracle SSO Plug-Inで保護されたURLがリクエストされたときの処理を示しています。

図A-2 Oracle SSO Plug-In

「図A-2 Oracle SSO Plug-In」の説明

1. ユーザーがWebブラウザ経由でURLをリクエストします。

2. Webサーバーは、そのユーザー用のOracle SSO Plug-In Cookieを検索します。Cookieが存在する場合、Webサーバーはそのユーザーの情報を抽出し、その情報を使用してリクエストされたアプリケーションにユーザーをログインします。

3. Cookieが存在しない場合、Oracle SSO Plug-Inはそのユーザーをシングル・サインオン・サーバーにリダイレクトします。

4. シングル・サインオン・サーバーは、ブラウザ内でそれ自身のCookieを検索します。Cookieが存在する場合は、そのCookieを使用して認証します。認証に成功した場合、シングル・サインオン・サーバーはユーザーが認証されたことの印としてブラウザ内にCookieを作成します。Cookieが見つからない場合は、ユーザー名とパスワードでユーザーの認証を試みます。

5. シングル・サインオン・サーバーは、暗号化されたユーザー情報をOracle SSO Plug-Inに返します。

6. Oracle SSO Plug-Inはユーザーに対する独自のCookieをブラウザ内に作成し、リクエストされたURLにユーザーをリダイレクトします。
同じセッション内でユーザーが再度同一または異なるアプリケーションへのアクセスを試みた場合、そのユーザーはユーザー名とパスワードの入力を求められません。アプリケーションは、HTTPヘッダーを使用してOracle SSO Plug-InのセッションCookieからこの情報を取得します。

関連項目:

『Oracle Fusion Middlewareセキュリティ・ガイド』

A.2.2 Oracle SSO Plug-Inのインストール

Microsoft IIS用のOracle Proxy Plug-Inは、Oracle Fusion Middleware Web Tier and Utilitiesインストーラ(11.1.1.2以降のフル・インストーラ、パッチセットのインストーラではない)で使用できます。

場所: \Disk1\plugins\iis\oracle_osso.dll

リスナー用のプラグインをインストールするには、リスナーがアクセスできるディレクトリにoracle_osso.dllをコピーします。セキュリティ上の理由から、プラグイン・ライブラリに最小限の権限を与えます。

Oracle Fusion MiddlewareがインストールされているシステムにOracle SSO Plug-Inをインストールします。このインストールは、ネットワークおよびセキュリティに依存するライブラリとシングル・サインオン登録ツールに対してのみ必要です。サーバーは実行中である必要はありません。

A.2.3 Oracle Single Sign-On Serverへの登録

シングル・サインオンの登録処理により、シングル・サインオン・サーバーとリスナーは、通信の前に、サーバーの位置、プロトコルのバージョンおよび共通暗号鍵などの情報を共有できるようになります。登録処理後、この情報はシングル・サインオンのパートナ・アプリケーション・エントリとしてシングル・サインオン・サーバー側に格納されます。リスナー側には、osso_confというシングル・サインオン・ファイルが作成されます。osso_confファイルは、セキュリティの目的で不明瞭化されています。このファイルをリスナーがアクセスできるように適切な場所にコピーします。

関連項目:

Oracleシングル・サインオンへの登録方法の詳細は、『Oracle Fusion Middlewareセキュリティ・ガイド』を参照してください。

A.2.4 Oracle SSO Plug-Inの構成

Oracle SSO Plug-Inを構成するには、osso_plugin.confファイルなどの構成ファイルを作成する必要があります。このファイルは、サード・パーティのリスナーが読取り可能なディレクトリに置く必要があります。ファイル内にすべてのプラグイン機能を定義します。このファイルは、ossoプロパティ・ファイルとも呼ばれます。このファイルには次の内容が含まれます。

- LoginServerFileおよびIpCheckなどのプラグイン・ディレクティブ

- 保護の対象となるリソースに一致するルールのセット

A.2.4.1 Oracle SSO Plug-Inのディレクティブ

表A-2に、Oracle SSO Plug-Inの構成ディレクティブを示します。

表A-2 Oracle SSO Plug-Inの構成ディレクティブ

ディレクティブ

機能

LoginServerFile

SSO登録処理で得られるosso.confファイルなどのシングル・サインオン・サーバー構成ファイルの場所を指定します。

これはグローバル・パラメータであり、リソース単位では使用しないでください。用意するシングル・サインオン・サーバー構成ファイルは、1つのみです。

- 値: シングル・サインオン・サーバー構成ファイルのフルパス

- デフォルト: なし

- 例: LoginServerFile=c:\OSSO\config\osso.conf

IpCheck

Cookieの検査時に、Oracle SSO Plug-Inで各リクエストのIPアドレスをチェックする必要があるかどうかを指定します。IpCheckをtrueに設定すると、他者によるCookieへのアクセスを防止できます。

- 値: true | false

- デフォルト: false

- 例: IpCheck=true

注意: Sun Java Systemサーバーとクライアントのブラウザ間にプロキシ・サーバーまたはファイアウォールがある場合は、IpCheckをfalseに設定してください。

A.2.4.2 リソースを保護するためのルール

Oracle SSO Plug-Inを介してリソース保護を確実に行うには、一連のルールを定義する必要があります。ルールは、次の形式に従って定義します。

<OSSO url-matching-rule>
SSO_configuration_directives
</OSSO>

url-matching-ruleの定義には次のルールを使用します。

ルール名

説明

完全一致

このオプションでは、ファイルを保護対象リソースとして識別します(例: /examples/hello.html)。

コンテキスト一致

このオプションでは、ディレクトリを保護対象リソースとして識別します(例: /examples/*)。

拡張子一致

このオプションでは、特定のディレクトリ内で特定の拡張子を持つファイルを保護対象リソースとして識別します(例: /examples/*.jsp)。

同じURLに複数のルールを適用すると、次の優先順位が適用されます。

1. 完全一致

2. 最長のコンテキスト一致と拡張子一致

3. 最長のコンテキスト一致

優先順位の例を次に示します。

- /foo/bar/index.htmlは、/foo/bar/*より優先

- /foo/bar/*.jspは、/foo/bar/*より優先

- /foo/bar/*は、/foo/*より優先

例A-2は、リソース保護のためのコマンドを含む単純なファイルを示しています。この例では、/private/hello.htmlファイルに対してIpCheckディレクティブがfalseに設定されていますが、/private2/*.jspに対してはtrueに設定されています。この設定により、/private2/*.jspファイルへのリクエストで使用されるCookieに別のユーザーがアクセスできないようにします。

例A-2 単純なシングル・サインオン構成ファイルosso_plugin.conf

LoginServerFile=c:\OSSO\conf\osso.conf
<OSSO /private/hello.html>
IpCheck=false
</OSSO>
<OSSO /private1/*>
</OSSO>
<OSSO /private2/*.jsp>
IpCheck=true
</OSSO>

A.2.5 Oracleシングル・サインオンを使用するためのMicrosoft IIS 6.0リスナーの構成

この項では、Oracle SSO Plug-Inを使用するためのMicrosoft IIS 6.0リスナーの構成手順について説明します。このプラグインは、単一の.dllファイル(oracle_osso.dll)で構成されています。プラグインをインストールするには、Microsoft IIS 6.0が常駐するホストに.dllをコピーして、次の手順を実行します。

1. Microsoft Windowsレジストリ エディタを使用して、新しいレジストリ・エントリを作成します。

1. 「スタート」メニューから「ファイル名を指定して実行」を選択し、ダイアログ・ボックスにregeditと入力して「OK」をクリックします。「レジストリ エディタ」ウィンドウが表示されます。

2. 「レジストリ エディタ」ウィンドウで、名前の前のプラス記号(+)をクリックしてHKEY_LOCAL_MACHINEフォルダを開きます。

3. 名前の前のプラス記号(+)をクリックしてSOFTWAREフォルダを開き、「ORACLE」フォルダをクリックします。

4. 「編集」メニューの「新規」→「キー」を選択します。ORACLEフォルダの下に「新しいキー #1」という名前の新規フォルダが追加されます。

5. キー名としてIIS OSSO Adapterを入力します。

6. 「編集」メニューの「新規」→「文字列値」を選択します。新しい値が「New Value #1」という名前の右ウィンドウ・ペインに追加されます。値の名前にcfg_fileと入力します。

7. 「編集」メニューの「修正」を選択します。「文字列の編集」ダイアログ・ボックスが表示されます。

8. 「値のデータ」フィールドに、作成したOSSO Plug-In構成ファイルのフルパス(たとえば、c:\osso\osso_plugin.conf)を入力します。

注意:

これはプラグイン構成ファイルであり、SSO登録処理で生成される暗号化されたosso.conf fileではありません。

9. オプションで、d.)からh.)に示した手順を使用して、log_fileおよびlog_levelを指定できます。

- 名前log_fileとログ・ファイルの格納場所(c:\osss\osso_plugin.logなど)を指定する文字列値を追加します。

- 名前log_levelと必要なログ・レベルを指定する文字列値を追加します。有効な値は、debug、inform、errorおよびemergです。

10. 「ファイル」メニューから「レジストリ エディタの終了」を選択して、「レジストリ エディタ」ウィンドウを閉じます。

2. Microsoft IIS管理コンソールを使用し、osso.dllと同じ物理パスを指定して、Microsoft IIS Webサイトに新規の仮想ディレクトリを追加します。

1. 「スタート」→「プログラム」→「管理ツール」→「インターネット インフォメーション サービス(IIS)マネージャ」をクリックして、IISマネージャを開きます。

2. サーバー名の前のプラス記号(+)をクリックしてserverフォルダを開きます。

3. 「デフォルト・サイト」フォルダを右クリックし、メニューから「新規」→「Virtual Directory」の順にオプションを選択します。

4. 「仮想ディレクトリの作成ウィザード」ウィンドウで、「エイリアス」にossoを入力します。次に、oracle_osso.dllファイルが含まれるディレクトリを参照するかそのパス(たとえば、c:\osso)を入力し、「ISAPIアプリケーションやCGI等を実行する」チェック・ボックスを選択します。

5. 「完了」をクリックして、仮想ディレクトリの作成ウィザードを閉じます。

3. Microsoft IIS管理コンソールを使用し、Microsoft IIS Webサイトにフィルタとしてoracle_osso.dllを追加します。フィルタ名はossoとし、その実行可能ファイルはoracle_osso.dllファイルを含むディレクトリを指す必要があります。

1. 「デフォルト・サイト」フォルダを右クリックし、メニューから「プロパティ」オプションを選択します。

2. 「既定のWebサイトのプロパティ」ウィンドウで、「ISAPIフィルタ」タブを選択します。

3. 「追加」をクリックして、新しいフィルタを追加します。
「フィルタのプロパティの追加と編集」ウィンドウが表示されます。

4. 「フィルタ名」フィールドに、フィルタ名のossoを入力します。

5. 「実行可能ファイル」フィールドに、oracle_osso.dllが含まれる場所のパス(たとえば、c:\osso\oracle_osso.dll)を入力するか、省略記号(「...」)ボタンをクリックして、oracle_osso.dllファイルが含まれるフォルダに移動します。
図iis6_addfilter_osso.gifの説明

6. 「OK」をクリックして、「フィルタのプロパティの追加と編集」ウィンドウを閉じます。

7. 「OK」をクリックして、「既定のWebサイトのプロパティ」ウィンドウを閉じます。

4. Oracleホーム・ディレクトリのセキュリティ設定を構成します。必ず管理者ユーザーとしてマシンにログインしてください。

1. Windowsエクスプローラで「ORACLE_HOME\bin」フォルダを右クリックし、メニューから「プロパティ」を選択してから「セキュリティ」タブをクリックします。

2. 「読み取りと実行」権限を指定してIIS_WPG、NETWORKおよびNETWORK SERVICEグループを追加します。

3. 「OK」をクリックします。

5. Microsoft IIS 6.0サーバーを停止してから再起動します。

注意:

- Microsoft IIS 6.0を再起動するには、コントロール パネルですべてのMicrosoft IIS 6.0サービスを停止するか、コンピュータを再起動する必要があります。.dllファイルを確実に再ロードさせるのは、この方法のみです。管理コンソール経由でMicrosoft IIS 6.0を再起動する方法では不十分です。

- 同じホームに複数のOracleインストールが必要な場合、Oracle SSO Plug-Inとともに使用するインストールのORACLE_HOME\bin PATHエントリが、PATHの先頭になるように指定してください。

- 新しく追加したISAPIフィルタが緑の上矢印でマークされていることを確認します。

A.2.6 Oracleシングル・サインオンを使用するためのMicrosoft IIS 7.0リスナーの構成

この項では、Oracle SSO Plug-Inを使用するためのMicrosoft IIS 7.0リスナーの構成手順について説明します。このプラグインは、単一の.dllファイル(oracle_osso.dll)で構成されています。プラグインをインストールするには、Microsoft IIS 7.0が常駐するホストに.dllをコピーして、次の手順を実行します。

1. A.2.5項「Oracleシングル・サインオンを使用するためのMicrosoft IIS 6.0リスナーの構成」のステップ1を実行し、Microsoft Windowsレジストリ エディタを使用してプラグインに新しいレジストリ・エントリを作成します。

2. Microsoft IIS管理コンソールを使用し、Microsoft IIS Webサイトにフィルタとしてoracle_osso.dllを追加します。

1. 「スタート」→「プログラム」→「管理ツール」→「インターネット インフォメーション サービス(IIS)マネージャ」をクリックして、IISマネージャを開きます。

2. サーバー名(たとえば、DSCDAA10-VM6)の前のプラス記号(+)をクリックして、serverフォルダを開きます。

3. 名前の前のプラス記号(+)をクリックしてSitesフォルダを開きます。

4. 「既定のWebサイト」アイコンをクリックして、「既定のWebサイトのホーム」ページを開きます。

5. 「ISAPIフィルタ」アイコンをダブルクリックして「ISAPIフィルタ」ページを開き、次のタスクを完了します。

- 「操作」ペインで「追加」をクリックして、「ISAPIの追加」ダイアログ・ボックスを開きます。

- 「フィルタ名」フィールドにossoを入力します。

- 「実行可能ファイル」フィールドに、oracle_osso.dllが含まれる場所のファイル・システム・パス(たとえば、c:\osso\oracle_osso.dll)を入力するか、省略記号(「...」)ボタンをクリックして、oracle_osso.dllファイルが含まれるフォルダに移動します。
図isapi3_osso.gifの説明

- 「OK」をクリックします。

3. Oracleホーム・ディレクトリのセキュリティ設定を構成します。必ず管理者ユーザーとしてマシンにログインしてください。

1. Windowsエクスプローラで「ORACLE_HOME\bin」フォルダを右クリックし、メニューから「プロパティ」を選択してから「セキュリティ」タブをクリックします。

2. 「読み取りと実行」権限を指定してIIS_WPG、NETWORKおよびNETWORK SERVICEグループを追加します。

3. 「OK」をクリックします。

4. 「コントロール パネル」の「サービス」を開き、World Wide Web Publishing Serviceをいったん停止して再起動することにより、Microsoft IISサーバーを再起動します。

注意:

- Microsoft IIS 7.0を再起動するには、「コントロール パネル」の「サービス」ですべてのMicrosoft IIS 7.0サービスを停止するか、コンピュータを再起動する必要があります。.dllファイルを確実に再ロードさせるのは、この方法のみです。管理コンソール経由でMicrosoft IIS 7.0を再起動する方法では不十分です。

- 同じホームに複数のOracleインストールが必要な場合、Oracle SSO Plug-Inとともに使用するインストールのORACLE_HOME\bin PATHエントリが、PATHの先頭になるように指定してください。

A.2.7 Oracle SSO Plug-Inのトラブルシューティング

この項では、一般的な問題および解決策について説明します。

Oracle依存性ライブラリが見つからない場合

パスにORACLE_HOMEを含めていない可能性があります。

解決策

UNIXの場合、ライブラリ・パス変数にORACLE_HOME/libが含まれていることを確認します。Microsoft Windowsの場合、パスにORACLE_HOME\binが含まれていることを確認します。

osso.logファイルで引き続きこのメッセージを受け取る場合は、A.2.4項「Oracle SSO Plug-Inの構成」の説明に従って、すべての構成ファイルが正しく構成されていることを確認します。

Microsoft IIS用Oracle SSO Plug-InがHTML認証で機能しない場合

Oracle SSO Plug-Inは、他の認証モジュールと連動しない設計になっています。認証は、ネイティブなリスナー認証モジュールまたはサード・パーティ・モジュールのいずれかです。

B よくある質問

この付録では、Oracle HTTP Serverに関してよくある質問とそれに対する回答について説明します。ここの内容は、次のとおりです。

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

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

- B.3項「Oracle HTTP Serverをキャッシュとして使用できますか」

- B.4項「異なる言語およびキャラクタ・セット・バージョンのドキュメントを使用できますか」

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

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

- B.7項「Oracle HTTP Serverからの出力を圧縮できますか」

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

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

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

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

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

該当する場合は、Apache Software Foundationのドキュメントを参照しています。

注意:

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

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

Oracle HTTP Serverには、エラー処理用のデフォルトのコンテンツ・ハンドラが用意されています。ErrorDocumentディレクティブを使用すると、デフォルトを上書きできます。

関連項目:

Apache HTTP Serverドキュメントの「ErrorDocument directive」

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

HTTPの場合、Oracle HTTP Serverでは、名前ベースとIPベースの両方の仮想ホストがサポートされます。名前ベースの仮想ホストは共通のリスニング・アドレス(IPとポートの組合せ)を共有する仮想ホストですが、クライアントにより送信されたHostヘッダーとVirtualHost内のServerNameディレクティブの間の一致に基づいてリクエストをルーティングします。IPベースの仮想ホストは、固有のリスニング・アドレスを持つ仮想ホストです。IPベースの仮想ホストは、リクエストが受信されたアドレスに基づいてリクエストをルーティングします。

HTTPSの場合、Oracle HTTP Serverで使用できるのはIPベースの仮想ホストのみです。これは、名前ベースの仮想ホストの場合、リクエストの処理に使用する仮想ホストを判別するために、リクエストを読み取って調査する必要があるためです。HTTPSが使用されている場合、リクエストを読み取る前にSSLハンドシェイクを実行する必要があります。SSLハンドシェイクを実行するためには、サーバー証明書を提供する必要があります。意味のあるサーバー証明書を提供するには、証明書のホスト名が、クライアントがリクエストしたホスト名に一致する必要があります。これは、仮想ホストごとにサーバー証明書が一意であることを意味します。しかし、サーバーはリクエストを読み取るまで、そのリクエストのルーティング先の仮想ホストを認識できず、また提供するサーバー証明書がわからなければリクエストを適切に読み取ることもできないため、HTTPSでは名前ベースの仮想ホスティングを行うことは不可能です。

関連項目:

Apacheの仮想ホストのドキュメントは、次を参照してください。

http://httpd.apache.org/docs/2.2/vhosts/

B.3 Oracle HTTP Serverをキャッシュとして使用できますか

Oracle HTTP ServerではなくOracle Web Cacheを使用することをお薦めします。Oracle Web Cacheはコンテンツ対応のサーバー・アクセラレータであり、セキュアなリバース・プロキシ・サーバーであるため、Webサイトのパフォーマンス、スケーラビリティおよび可用性を高めます。詳細は、『Oracle Fusion Middleware Oracle Web Cache管理者ガイド』を参照してください。

B.4 異なる言語およびキャラクタ・セット・バージョンのドキュメントを使用できますか

使用できます。Apacheサーバーの機能に与えられた汎用名であるMultiviewsを使用すると、リクエストに対するレスポンスで様々なバージョンの言語と文字固有のドキュメントを提供できます。

関連項目:

Apache HTTP Serverマニュアルの「Multiviews」

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

次の理由で、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.6 Oracle HTTP ServerのApacheバージョンをアップグレードできますか

Oracle HTTP Server内のApache HTTP Serverバージョンのみをアップグレードすることはできません。Oracle HTTP ServerのベースとなるApache HTTP Serverの新バージョンが、パッチ更新またはOracle Fusion Middlewareの次期メジャー・リリースかマイナー・リリースの一部として提供されます。

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

一般に、この目的ではOracle Web Cacheを使用することをお薦めします。Oracle Web Cacheでは、オンザフライの圧縮を使用し、圧縮可能なMIMEタイプを動的に認識し、低速のネットワーク・クライアントへのレスポンスを制限することによって、効率的なコンテンツの配信を実現します。もう一つの圧縮ソリューションはmod_deflateで、これはOracle HTTP Serverに組み込まれています。mod_deflateモジュールに関する詳細は、http://httpd.apache.org/docs/2.2/mod/mod_deflate.htmlを参照してください。

追加情報については、『Oracle Fusion Middleware Oracle Web Cache管理者ガイド』を参照してください。

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

一般的には、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.9 Webサイトをハッカーからどのように保護しますか

ハッカーによる攻撃は多く、日々新しい攻撃が開発されています。サイトの保護に関する一般的なガイドラインは、次のとおりです。サイトを完全に保護することはできませんが、攻撃されさやすいターゲットとなることは回避できます。

- ISPとWebサーバーの間に、Checkpoint FW-1やCisco PIXのような市販のファイアウォールを使用します。ただし、すべてのハッカーが組織の外にいるわけではないことに注意してください。

- 切替式のイーサネットを使用して、セキュリティを破られたサーバーにより検出される可能性のある通信量を制限します。Webサーバー・マシンと、データベースやエンタープライズ・アプリケーションを実行中の機密性の高い内部サーバーの間に、追加のファイアウォールを使用します。

- RPC、Finger、telnetなど、不要なネットワーク・サービスをサーバーから削除します。

- Webフォームからのすべての入力を慎重に検証します。特に、長い入力文字列や、印刷不能文字、HTMLタグまたはJavaScriptタグを含む入力には注意してください。

- 機密情報を含むCookieの内容を暗号化(ランダム化)して、ハッカーによる有効なセッションのハイジャックを防止します。たとえば、有効なセッションIDを推測しにくくする必要があります。

- すべてのシステムとアプリケーション・ソフトウェアのセキュリティ・パッチを頻繁にチェックし、入手後すぐにインストールします。これらのパッチは必ず信頼できるソースから入手してください。パッチは信頼できるサイトからのみダウンロードし、暗号チェックサムを検証します。

- 侵入検出パッケージを使用して、改変されたWebページ、ウイルスおよびハッカーがサイトに侵入したことを示すrootkitの有無を監視します。可能な場合は、システムの実行可能ファイルとWebのコンテンツを読取り専用ファイル・システムにマウントしてください。

- 法的分析パッケージを用意して、侵入が検出されたらすぐにその証拠を取得します。これは、ハッカーを告発する際に役立ちます。

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

あります。SSLの有効化と無効化を切り替える場合、SSOサーバーにパートナ・アプリケーションを再登録する必要があります。URLに影響を与える変更(ホスト名やポートの変更、SSLの有効化または無効化など)を行う場合、SSOサーバーに登録された古いURLは無効になるため、SSOサーバーにパートナ・アプリケーションを再登録する必要があります。新しいURLを使用してパートナ・アプリケーションを再登録してください。

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

REDIRECT_ERROR_NOTES CGI環境変数は、Oracle HTTP Server 11gで「ファイルが見つかりません」というエラーに設定されていません。Apache HTTP Server 2.0以上では、該当する情報をCGIおよびその他のアプリケーションでこの状況に対して使用できないためです。

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

この情報をWebサーバーで生成されたレスポンスから削除するには、「ServerSignature Off」を指定します。Oracle HTTP ServerがWebサーバー・レスポンス・ヘッダーを生成したときにWebサーバー・ソフトウェアを非表示にするには、「ServerTokens Custom some-server-string」を指定します。(バックエンド・サーバーがレスポンスを生成するときは、プロキシ・メカニズムに応じてバックエンド・サーバーからサーバー・レスポンス・ヘッダーが生成される場合があります。)

注意:

<code>ServerTokens Custom some-server-string</code>は、Oracle HTTP Server 10gの<code>ServerHeader Off</code>設定の置換文字列です。

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

この付録では、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項「EMでPerSetEnvを設定解除して構成済のPerSetEnv変数を削除すると例外がスローされる」

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

- C.7項「クライアントIPアドレスがOracle Web Cacheによる構成で使用されない」

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.1.2.3項「特権ポートでのOracle HTTP Serverの起動」の手順に従って、特権ポートで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 EMでPerSetEnvを設定解除して構成済の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を削除します。

- EMの「詳細構成」ページに移動して、mod_perl.confファイルを直接変更します。
または

- instance home/config/OHS/component_name/moduleconf/mod_perl.confに移動し、構成ファイルを直接編集して、PerSetEnv値を削除します。

3. OHSを再起動します。

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

次のログ・ファイルを使用すると、エラーの特定に役立ちます。

- リライト・ログ

- スクリプト・ログ

- エラー・ログ

C.6.1 リライト・ログ

このログ・ファイルは、mod_rewriteが使用されている場合のデバッグに必要です。このログ・ファイルでは、リライト・エンジンによるリクエストの変換方法の詳細分析が生成されます。詳細レベルは、RewriteLogLevelディレクティブを使用して制御します。

関連項目:

Apache HTTP Serverドキュメントの「Rewrite Log」

C.6.2 スクリプト・ログ

このログ・ファイルでは、CGIスクリプトからの入出力を記録できます。このファイルはテストにのみ使用し、本番サーバーには使用しないでください。

関連項目:

Apache HTTP Serverドキュメントの「Script Log」

C.6.3 エラー・ログ

このログ・ファイルには、全体的なサーバー問題が記録されます。エラー・ログを構成および表示する方法の詳細は、第7章「Oracle HTTP Serverログの管理」を参照してください。

C.7 クライアントIPアドレスがOracle Web Cacheによる構成で使用されない

UseWebCacheIpディレクティブによって、クライアントがOracle HTTP ServerにOracle Web Cacheから接続する際、Oracle HTTP Serverではロギングおよびmod_authz_hostアクセス制御にクライアントIPアドレスを使用できます。この機能はその他のフロントエンド・プロキシ・サーバーでも、プロキシでClientIPリクエスト・ヘッダーがクライアントIPアドレスに設定されていれば、使用できる場合があります。UseWebCacheIpが有効ではない場合に、クライアントがOracle HTTP ServerにOracle Web Cacheまたはその他のプロキシから接続する際、ロギングおよびmod_authz_hostアクセス制御に使用されるクライアント・アドレスは、Oracle Web Cacheまたはその他のプロキシのアドレスになります。

解決策

httpd.confファイルでUseWebCacheIpをONに設定します。

また、UseWebCacheIpをONに設定しない場合は、Oracle HTTP Serverに接続中のホストのアドレスが、ロギングおよびホストベースのアクセス制御に使用されます。場合によっては、これはクライアントのかわりにプロキシになります。

注意:

UseWebCacheIpディレクティブは、Oracle HTTP Serverリリース11.1.1.4.0および11.1.1.5.0では使用できません。

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

この付録では、オラクル社が開発したOHSによってサポートされているモジュールで使用できるディレクティブについて説明します。これらの項目が含まれます。

- D.1項「mod_certheaders」

- D.2項「mod_onsint」

- D.3項「mod_oradav」

- D.4項「mod_ossl」

- D.5項「mod_osso」

- D.6項「mod_plsql」

- D.7項「mod_wl_ohs」

注意:

この付録で説明するディレクティブは、オラクル社が開発したモジュール専用です。OHSには、多数のApache HTTP Serverおよびサード・パーティのモジュールも即時利用できるように組み込まれています。これらのモジュールのリストおよびそれらのドキュメントへのリンクは、第3章の「Oracle HTTP Server内のApache HTTP Serverおよびサード・パーティのモジュール」を参照してください。

D.1 mod_certheaders

mod_certheadersには次のディレクティブを使用できます。

- AddCertHeader

- SimulateHttps

D.1.1 AddCertHeader

CGI環境変数に変換する必要があるヘッダーを指定します。これは、AddCertHeaderディレクティブを使用して実行できます。このディレクティブは単一の引数を取ります。この引数は、受信リクエストのHTTPヘッダーから移入する必要があるCGI環境変数です。たとえば、SSL_CLIENT_CERT CGI環境変数を移入します。AddCertHeaderは通常、OHSの前でWebキャッシュに使用されます。

カテゴリ

値

構文

AddCertHeader environment_variable

例

AddCertHeader SSL_CLIENT_CERT

デフォルト

なし

注意:

シミュレートされたSSL接続をWebLogic Serverに渡す必要がある場合、AddCertHeaderはmod_wl_ohsを指定して使用することもできます。そのモジュールのディレクティブWLProxySSLPassThroughにより、確実に証明書がバックエンドに渡されます(SSL接続が実際のものかシミュレートされたものかは関係ありません)。

D.1.2 SimulateHttps

mod_certheadersを使用すると、特定のリクエストがHTTP経由で受信された場合でも、HTTPS経由で受信されたかのようにそれらのリクエストを扱うように、Oracle HTTP Serverに指示することができます。これは、Oracle HTTP Serverがリバース・プロキシまたはロード・バランサのフロントエンドになっている場合に役立ちます。リバース・プロキシまたはロード・バランサは、SSLリクエストの終端点の機能を果たし、HTTPS経由でOracle HTTP Serverにリクエストを転送します。また、SimulateHttpsはデバイスのロード・バランサ・タイプに使用されます。

カテゴリ

値

構文

SimulateHttps on|off

例

SimulateHttps on

デフォルト

off

D.2 mod_onsint

mod_certheadersにはOpmnHostPortディレクティブを使用できます。

D.2.1 OpmnHostPort

このディレクティブを使用すると、mod_onsintが動作中のOracle HTTP Serverインスタンスをpingするため、OPMNが使用するホスト名とポートを指定できます。OpmnHostPortが指定されていないと、mod_onsintはHTTPポートを自動的に選択します。ただし、状況によっては、OPMNがリスナーのpingに使用するHTTPポートとホスト名に特定のものを選択する場合があります。

カテゴリ

値

構文

OpmnHostPort host:Port

例

OpmnHostPort localhost:7778

デフォルト

なし

D.3 mod_oradav

mod_oradavには次のディレクティブを使用できます。

- ORAAllowIndexDetails

- ORAAltPassword

- ORACacheDirectory

- ORACacheMaxResourceSize

- ORACachePrunePercent

- ORACacheTotalSize

- ORAConnect

- ORAConnectSN

- ORAContainerName

- ORAException

- ORAGetSource

- ORALockExpirationPad

- ORAPackageName

- ORAPassword

- ORARootPrefix

- ORAService

- ORATraceEvents

- ORATraceLevel

- ORAUser

D.3.1 ORAAllowIndexDetails

OraDAVを使用できないOracle HTTP Server環境では、mod_davはHTTPのGETリクエストにレスポンスを返しません。かわりに、GETリクエストには通常のOracle HTTP Serverのメカニズムを使用してレスポンスが返されます。

ORAAllowIndexDetailsパラメータは、DAVコレクションに対するGETリクエストが実行され、ディレクトリ内でindex.htmlファイルが見つからない場合に、OraDAVがレスポンスを返す方法を制御します。典型的なOracle HTTP Server環境では、別のモジュールが制御を引き継ぎ、そのコレクション内のリソース(ファイル)の索引を表すクライアントHTMLを自動的に生成してレスポンスを返します。

カテゴリ

値

構文

ORAAllowIndexDetails true | false

例

ORAAllowIndexDetails true

デフォルト

false

D.3.2 ORAAltPassword

ORAUserパラメータで指定したユーザーのパスワードを指定します。OraAltPasswordでは、BASE64エンコード文字列を使用します。パスワードをエンコードされない平文のままORAUserパラメータとともに表示することを避ける場合、このパラメータで代替パスワードを提供します。ORAPasswordパラメータを指定しない場合、この値がパスワードに使用されます。

カテゴリ

値

構文

ORAAltPassword password

例

ORAAltPassword myPassword

デフォルト

なし

D.3.3 ORACacheDirectory

次の要件に従って、ディスク・キャッシュ操作に使用するディレクトリを指定します。

- 指定されたディレクトリが存在し、Oracle HTTP Serverによって読取り可能である必要があります。ただし、通常のGETリクエストでは表示できないようにする必要があります。このディレクトリが通常のGETリクエストで表示できると、キャッシュ・ディレクトリにアクセスするユーザーがセキュリティ対策を迂回する可能性があります。

- このディレクトリは、最終アクセス時刻がサポートされているファイル・システム上に置く必要があります。Microsoft Windowsシステムの場合、これはFATではなくNTFSでフォーマットされたパーティションを使用することを意味します。

- キャッシュ・ディレクトリをキャッシュ以外の目的に使用することはできません。キャッシュ・ディレクトリ内のファイルは、削除されることがあります。

ORACacheDirectoryパラメータを使用する場合は、ORACacheTotalSizeパラメータも使用する必要があります。

カテゴリ

値

構文

ORACacheDirectory directoryName

例

ORACacheDirectory

デフォルト

使用しない場合、OraDAV操作のディスク・キャッシュは実行されません。

関連項目:

9.4.1項「ディスク・キャッシュとOraDAVの併用」

D.3.4 ORACacheMaxResourceSize

ディスク・キャッシュ操作用のキャッシュ可能な最大リソース・サイズを指定します。整数の後にキロバイト(KB)またはメガバイト(MB)を指定できます。整数の後に単位を指定しない場合、デフォルトの単位はバイトです。

このパラメータにより、Web管理者は大きなメディア・ファイルによってキャッシュが独占されるのを防ぐことができます。ただし、キャッシュするファイルが大きい場合の方が、パフォーマンスは向上します。

カテゴリ

値

構文

ORACacheMaxResourceSize nnKB|MB

例

ORACacheMaxResourceSize 1024KB

デフォルト

なし

関連項目:

9.4.1項「ディスク・キャッシュとOraDAVの併用」

D.3.5 ORACachePrunePercent

キャッシュがいっぱいになった場合に解放する際の、ディスク・キャッシュの使用率を指定します。ディスク・キャッシュがいっぱいになると、キャッシュのディスク使用率がORACachePrunePercentの値に減少するまで、キャッシュ内の最も古いファイルから順に削除されます。

カテゴリ

値

構文

ORACachePrunePercent nn

例

ORACachePrunePercent 40

デフォルト

25

関連項目:

9.4.1項「ディスク・キャッシュとOraDAVの併用」

D.3.6 ORACacheTotalSize

ディスク・キャッシュ操作に使用するキャッシュのサイズを指定します。整数の後にMB(メガバイト)またはGB(ギガバイト)を指定できます。整数の後に単位を指定しない場合、デフォルトの単位はバイトです。

ORACacheDirectoryパラメータを使用する場合は、ORACacheTotalSizeパラメータも使用する必要があります。

ORACacheTotalSize値は、Webサイトの重要な部分、または最もアクセス頻度の高い全ファイルに25%以上の領域を追加したもののうち、どちらかを十分に保持できる大きさにする必要があります。値が小さすぎる場合、BLOBデータをファイル・システムに書き込み、新しいキャッシュ・リクエストを受信するためにファイルを削除するという追加の処理が発生するため、全体のパフォーマンスが低下します。

実際にディスク・キャッシュに使用される領域は、ORACacheTotalSize値を超えて最大ORACacheMaxResourceSize値に達する場合があります。また、ファイル・システムのブロック・サイズが原因となって、キャッシュが使用するディスク領域がORACacheTotalSize値を超えることのないよう注意してください。

カテゴリ

値

構文

DAVParam ORACacheTotalSize nnMB|GB

例

DAVParam ORACacheTotalSize 1GB

デフォルト

なし

関連項目:

9.4.1項「ディスク・キャッシュとOraDAVの併用」

D.3.7 ORAConnect

接続先のOracle Databaseを指定します。ORAConnectパラメータを使用すると、tnsnames.oraファイルに含まれていないデータベースに接続できます。値には次の書式を使用する必要があります。

Oracle Databaseに接続するには、ORAConnect、ORAConnectSNまたはORAServiceパラメータのうち、いずれか1つのみを指定する必要があります。tnsnames.oraファイルに含まれるデータベースに接続するには、ORAServiceパラメータを使用します。

カテゴリ

値

構文

ORAConnect database_host:database_port:database_sid

例

ORAConnect my-pc.example.com:1521:mysid

デフォルト

なし

D.3.8 ORAConnectSN

接続先のOracle Databaseを指定します。ORAConnectSNパラメータを使用すると、tnsnames.oraファイルに含まれていないデータベースに接続できます。このパラメータの値は文字列で、次の書式を使用する必要があります。

Oracle Databaseに接続するには、ORAConnectまたはORAServiceパラメータのうち、いずれか1つのみを指定する必要があります。tnsnames.oraファイルに含まれるデータベースに接続するには、ORAServiceパラメータを使用します。

カテゴリ

値

構文

ORAConnectSN database-host:database-port:database-service-name

例

ORAConnectSN my-pc.example.com:1521:mysid

デフォルト

なし

D.3.9 ORAContainerName

ORAUserパラメータで指定されたデータベース・ユーザー(スキーマ)内に、PL/SQパッケージとデータベース表のセットであるコンテナが存在している必要があります。これによって、データベースに階層構造でファイルを格納できます。ORAContainerNameパラメータでは、そのロケーションで使用するコンテナの名前を指定します。このパラメータの値は、20文字以下の文字列です。たとえば、<Location/project1>などです。

カテゴリ

値

構文

ORAContainerName Location/project1

例

ORAContainerName

デフォルト

なし

D.3.10 ORAException

PL/SQLパッケージで例外が発生した場合、Oracle HTTP Serverログ・ファイルerror_logにPL/SQLスタック・ダンプを書き込みます。

カテゴリ

値

構文

ORAException RAISE|NORAISE

例

ORAException RAISE

デフォルト

NORAISE

注意:

このパラメータはデバッグに使用すると便利ですが、大量のディスク領域を使用し、システムのパフォーマンスを低下させる場合があります。

D.3.11 ORAGetSource

1つ以上のファイル拡張子を指定して、実行するのではなく編集のために開くファイルのタイプを識別します。これを使用すると、通常はGET操作の結果として実行されるファイルを編集のために開くことができます。ファイルタイプの入力時に、ドット区切り文字(.)を付加し、カンマを使用してファイル拡張子を区切ります。このパラメータの値は、二重引用符で囲みます。例:

".htm, .html, .jsp1, .jsp2"

このディレクティブは、ファイル・システムへのアクセスにのみ適用されます。

カテゴリ

値

構文

ORAGetSource ".type[, .type, .type, .type]"

例

ORAGetSource ".htm, .html, .jsp1, .jsp2"

デフォルト

.JSP .SQLJSP

注意:

.jspファイルおよび.sqljspファイルはデフォルトで編集用に開かれます。ORAGetSourceパラメータで指定する必要はありません。

D.3.12 ORALockExpirationPad

待機時間の長いネットワーク環境で、Microsoft Officeにおけるロックのリフレッシュ動作を調整するために使用します。Microsoft Officeは、ロックが期限切れになる直前にDAVリソースのロックをリフレッシュしようとします。Microsoft OfficeクライアントとDAVサーバーでリフレッシュの間にネットワークの輻輳が発生すると、ロックの期限切れ後にリクエストが着信することがあります。

OraDAVは、期限切れになったリソースのロックを定期的に調べて削除します。ORALockExpirationPadパラメータを使用すると、ロックが期限切れになってから削除されるまでの期間を追加できます。たとえば、ORALockExpirationPadを120に設定すると、期限切れ時刻以降少なくとも2分間は、OraDAVでロックが削除されません。

カテゴリ

値

構文

ORALockExpirationPad nn

例

ORALockExpirationPad 90

デフォルト

0

D.3.13 ORAPackageName

OraDAVコマンドの発行時にコールするOraDAVドライバの実装を識別します。デフォルトはOraDAVドライバ、つまりORDSYS.DAV_API_DRIVERパッケージです。

カテゴリ

値

構文

ORAPackageName name

例

ORAPackageName

デフォルト

OraDAVドライバ

D.3.14 ORAPassword

ORAUserパラメータで指定したユーザーのパスワードを指定します。

ORAPasswordパラメータでパスワードをエンコードされていない文字列として指定しない場合は、ORAAltPasswordパラメータを使用して、BASE64エンコード文字列としてパスワードを指定できます。

カテゴリ

値

構文

ORAPassword password

例

ORAPassword myPassword

デフォルト

なし

D.3.15 ORARootPrefix

データベース・リポジトリ内のルートとして使用されるディレクトリを指定します。このパラメータを指定した場合、WebDAVクライアントはこのディレクトリをルートとして認識し、このディレクトリに至るリポジトリ・ディレクトリは認識できません。値の末尾にはスラッシュ(/)を含めないでください。

WebDAVクライアントは/thirdディレクトリを認識し、/third/fourthディレクトリにナビゲートできますが、/firstまたは/first/secondディレクトリは認識もナビゲートもできません。

カテゴリ

値

構文

ORARootPrefix /dirName1[/dirName1/dirName1/dirName1]

例

ORARootPrefix /first/second

デフォルト

なし

D.3.16 ORAService

接続先のOracle Databaseを指定します。tnsnames.oraファイル内のSID値と一致する値を指定する必要があります。

Oracle Databaseに接続するには、ORAConnect、ORAConnectSNまたはORAServiceパラメータのうち、いずれか1つのみを指定する必要があります。tnsnames.oraファイルに含まれていないデータベースに接続するには、ORAConnectまたはORAConnectSNパラメータを使用します。

カテゴリ

値

構文

ORAService databaseName

例

ORAService

デフォルト

なし

D.3.17 ORATraceEvents

デバッグ用にOracle HTTP Serverエラー・ログに記録するイベントのタイプを指定します。このパラメータの値は、次のいずれかです。

- getsource: ファイル・システムに対するGETアクティビティをトレースします。

- hreftoutf8: ネイティブなキャラクタ・セットからUTF-8へのHREF変換をトレースします。

- request: mod_oradavによって処理されるDAVリクエスト、レスポンスおよびステータス値をトレースします。

カテゴリ

値

構文

ORATraceEvents getsource | hreftoutf8 | request

例

ORATraceEvents getsource

デフォルト

なし

注意:

このパラメータはデバッグに使用すると便利ですが、大量のディスク領域を使用し、システムのパフォーマンスを低下させる場合があります。

D.3.18 ORATraceLevel

Oracle HTTP Serverエラー・ログに記録するデバッグのレベル(トレース文)を指定します。最低レベルは0(デフォルト)で、トレースを実行しません。最高レベルは4で、最大限のトレースを実行します。このパラメータの値は、0から4の整数です。

デバッグのレベルとして大きい数値を設定すると、より多くの情報がエラー・ログ・ファイルに書き込まれます。

カテゴリ

値

構文

ORATraceLevel 0 | 1 | 2 | 3 | 4

例

ORATraceLevel 2

デフォルト

0

注意:

このパラメータを大きい数値に設定すると、デバッグの場合には便利ですが、大量のディスク領域を使用するため、システムのパフォーマンスが低下します。

D.3.19 ORAUser

ORAConnect、ORAConnectSNまたはORAServiceパラメータで指定したサービスへの接続時に使用するデータベース・ユーザー(スキーマ)を指定します。

このユーザーには、次の権限が必要です。

- CONNECT

- RESOURCE

- CREATE TABLESPACE

- DROP TABLESPACE

- CREATE ANY TRIGGER

カテゴリ

値

構文

ORAUser

例

ORAUser

デフォルト

なし

D.4 mod_ossl

Oracle HTTP Serverに対してSSLを構成するには、使用するmod_osslのディレクティブをhttpd.confファイルに入力します。

この項で説明するディレクティブは、次のとおりです。

- SSLAccelerator

- SSLCARevocationFile

- SSLCARevocationPath

- SSLCipherSuite

- SSLEngine

- SSLLog

- SSLLogLevel

- SSLMutex

- SSLOptions

- SSLPassPhraseDialog

- SSLProtocol

- SSLRequire

- SSLRequireSSL

- SSLSessionCache

- SSLSessionCacheTimeout

- SSLVerifyClient

- SSLWallet

- SSLWalletPassword

D.4.1 SSLAccelerator

SSLアクセラレータが使用されるかどうかを指定します。現在サポートされているのは、nFastカードのみです。

カテゴリ

値

構文

SSLAccelerator yes|no

例

SSLAccelerator yes

デフォルト

SSLAccelerator no

注意:

SSLAcceleratorディレクティブは現在使用されていません。ウォレットを使用したSSLアクセラレーション・サポートの有効化の詳細は、Oracle Advanced Security管理者ガイド(http://www.oracle.com/technology/documentation)を参照してください。

D.4.2 SSLCARevocationFile

証明書を発行したCA(認証局)からの証明書失効リスト(CRL)をまとめるファイルを指定します。このリストは、クライアント認証に使用されます。このファイルは、PEMでエンコードされた様々なCRLファイルを優先順位の順に連結したものです。このディレクティブは、SSLCARevocationPathの代替または補助用に使用できます。

カテゴリ

値

構文

SSLCARevocationFile file_name

例

SSLCARevocationFile /ORACLE_HOME/Apache/Apache/conf/ssl.crl/ca_bundle.crl

デフォルト

なし

D.4.3 SSLCARevocationPath

PEMでエンコードされている証明書失効リスト(CRL)が格納されるディレクトリを指定します。CRLは、証明書の発行元のCA(認証局)から届きます。CRLのいずれかに記載されている証明書を使用してクライアントが自身を認証しようとすると、証明書は取り消され、そのクライアントはサーバーに対して自身を認証できなくなります。

カテゴリ

値

構文

SSLCARevocationPath path/to/CRL_directory/

例

SSLCARevocationPath /ORACLE_HOME/Apache/Apache/conf/ssl.crl/

デフォルト

なし

D.4.4 SSLCipherSuite

クライアントがSSLハンドシェイク時に使用できるSSL暗号スイートを指定します。このディレクティブでは、コロンで区切られた暗号指定文字列を使用して暗号スイートを識別します。表11-2は、必要な暗号スイートを記述するためにこの文字列で使用できるタグを示しています。SSLCipherSuiteには次の値を使用できます。

- none: リストに暗号を追加します。

- +: リストに暗号を追加し、リスト内の正しい位置に配置します。

- -: リストから暗号を削除します(後で追加できます)。

- !: リストから暗号を永続的に削除します。

タグは、暗号指定文字列を構成する接頭辞と結合されます。表D-1および表D-2に、暗号スイートを示します。

カテゴリ

値

例

SSLCipherSuite ALL:!LOW:!DH

この例では、低強度暗号とDiffie-Hellman鍵交換アルゴリズムを使用する暗号を除く、すべての暗号が指定されています。

構文

SSLCipherSuite cipher-spec

デフォルト

ALL:!ADH:!EXPORT56:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP

表D-1 SSL暗号スイートのタグ

機能

タグ

意味

鍵の交換

kRSA

RSA鍵の交換

鍵の交換

kDHr

RSA鍵を使用したDiffie-Hellman鍵の交換

認証

aNULL

認証なし

認証

aRSA

RSA認証

認証

aDH

Diffie-Hellman認証

暗号化

eNULL

暗号化なし

暗号化

DES

DESエンコード

暗号化

3DES

Triple DESエンコード

暗号化

RC4

RC4エンコード

データの整合性

MD5

MD5ハッシュ関数

データの整合性

SHA

SHAハッシュ関数

別名

SSLv3

すべてのSSL V3.0暗号

別名

EXP

すべての輸出暗号

別名

EXP40

すべての40ビット輸出暗号のみ

別名

EXP56

すべての56ビット輸出暗号のみ

別名

LOW

すべての低強度暗号(輸出暗号とSingle-DES)

別名

MEDIUM

128ビット暗号化を使用したすべての暗号

別名

HIGH

Triple-DESを使用したすべての暗号

別名

RSA

RSA鍵交換を使用したすべての暗号

別名

DH

Diffie-Hellman鍵交換を使用したすべての暗号

注意:

輸出版のブラウザが使用される場合は、制限があります。Oracleモジュールmod_osslは、サーバーが512ビットの鍵サイズのウォレットを使用するときにのみ、RC4-40暗号化をサポートします。

表D-2 Oracle Advanced Security 10iでサポートされている暗号スイート

暗号スイート

認証

暗号化

データの整合性

SSL_RSA_WITH_3DES_EDE_CBC_SHA

RSA

3DES (168)

SHA

SSL_RSA_WITH_RC4_128_SHA

RSA

RC4 (128)

SHA

SSL_RSA_WITH_RC4_128_MD5

RSA

RC4 (128)

MD5

SSL_RSA_WITH_DES_CBC_SHA

RSA

DES (56)

SHA

SSL_DH_anon_WITH_3DES_EDE_CBC_SHA

DH anon

3DES (168)

SHA

SSL_DH_anon_WITH_RC4_128_MD5

DH anon

RC4 (128)

MD5

SSL_DH_anon_WITH_DES_CBC_SHA

DH anon

DES (56)

SHA

SSL_RSA_EXPORT_WITH_RC4_40_MD5

RSA

RC4 (40)

MD5

SSL_RSA_EXPORT_WITH_DES40_CBC_SHA

RSA

DES40 (40)

SHA

SSL_RSA_WITH_AES_128_CBC_SHA

RSA

AES (128)

SHA

SSL_RSA_WITH_AES_256_CBC_SHA

RSA

AES (256)

SHA

SSL_DHE_DSS_EXPORT_WITH_DES40_CBS_SHA

DH DSS

DES (40)

SHA

SSL_DHE_DSS_WITH_DES_CBC_SHA

DH DSS

DES (50)

SHA

SSL_DHE_DSS_WITH_3DES_EDE_CBC_SHA

DH DSS

3DES (168)

SHA

SSL_DHE_RSA_EXPORT_WITH_DES40_CBC_SHA

DH RSA

DES (40)

SHA

SSL_DHE_RSA_WITH_DES_CBC_SHA

DH RSA

DES (56)

SHA

SSL_DHE_RSA_WITH_3DES_EDE_CBC_SHA

DH RSA

3DES (168)

SHA

SSL_DHE_DSS_EXPORT1024_WITH_DES_CBC_SHA

DH DSS

DES (40)

SHA

SSL_DHE_DSS_WITH_RC4_128_SHA

DH DSS

RC4 (128)

SHA

SSL_DHE_DSS_EXPORT1024_WITH_RC4_56_SHA

DH DSS

RC4 (56)

SHA

D.4.5 SSLEngine

SSLプロトコル・エンジンの使用を切り替えます。通常は<VirtualHost>セクションの中で使用し、特定の仮想ホストに対してSSLを有効にします。デフォルトでは、SSLプロトコル・エンジンは、メイン・サーバーとすべての構成済仮想ホストの両方で無効にされています。例11–1は、SSLEngineディレクティブの使用例です。デフォルトのSSLは、UNIXでは4443、Windowsでは443です。

カテゴリ

値

構文

SSLEngine on|off

例

SSLEngine on

デフォルト

off

D.4.6 SSLLog

SSLエンジンのログ・ファイルが書き込まれる場所を指定します。(エラー・メッセージは、ErrorLogディレクティブにより指定されたOracle HTTP Server標準ログ・ファイルにも重複して書き込まれます。)

このファイルは、シンボリック・リンク攻撃に使用されないように、ルートのみが書き込める場所に配置します。このファイル名の先頭にスラッシュ(/)がない場合は、ServerRootへの相対ファイル名とみなされます。ファイル名の先頭に縦線(|)がある場合は、縦線に続く文字列が、信頼できるパイプを確立できる実行可能プログラムへのパスと想定されます。

このディレクティブは、仮想サーバーの構成ごとに1回のみ使用できます。

カテゴリ

値

構文

SSLLog path/to/file

例

SSLLog

デフォルト

なし

D.4.7 SSLLogLevel

SSLエンジン・ログ・ファイルの冗長性レベルを指定します。程度、またはレベルは次のとおりです(昇順に記述されていて、各レベルはその前述のレベルに含まれます)。

- none: 専用のSSLログは記録されません。タイプがerrorのメッセージは、ErrorLogディレクティブにより指定されたHTTPサーバー標準ログ・ファイルに重複して書き込まれます。

- error: タイプがerror(処理を停止する状態)のメッセージのみがログに記録されます。

- warn: 致命的ではない問題(処理を停止しない状態)を通知するメッセージがログに記録されます。

- info: 主要な処理アクションを要約したメッセージがログに記録されます。

- trace: 重要度の低い処理アクションを要約したメッセージがログに記録されます。

- debug: 開発操作と低レベルI/O操作を要約したメッセージがログに記録されます。

カテゴリ

値

構文

SSLLogLevel none | error | warn | info | trace | debug

例

SSLLogLevel error

デフォルト

なし

D.4.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 file:/usr/local/apache/logs/ssl_mutex

デフォルト

なし

D.4.9 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

デフォルト

なし

D.4.10 SSLPassPhraseDialog

ウォレット・アクセス用のパスフレーズ・ダイアログのタイプ。mod_osslでは、ウォレットにアクセスするために管理者にパスフレーズの入力が要求されます。使用できる値は次のとおりです。

- builtin: サーバー起動時に、mod_osslは各ウォレットのパスワードの入力を求めます。
この設定は、Oracle HTTP ServerがOPMNにより管理されている場合は使用できません。Oracle HTTP ServerがOPMNにより起動される場合、ユーザー操作は許可されません。

- exec:path/to/program - サーバー起動時に、mod_osslは各ウォレット用に構成されている外部プログラムをコールします。このプログラムは、servername:portnumberと、RSAまたはDSAという2つの引数を使用して起動されます。

カテゴリ

値

構文

SSLPassPhraseDialog builtin | exec

例

SSLPassPhraseDialog exec:/usr/local/apache/sbin/pfilter

デフォルト

builtin

D.4.11 SSLProtocol

mod_osslがサーバー環境を設定するときに使用するSSLプロトコルを指定しますクライアントは、指定されたプロトコルのいずれかでのみ接続できます。使用できる値は次のとおりです。

- SSLv2

- SSLv3

- TLSv1

- All

カテゴリ

値

構文

SSLProtocol [+-] SSLv2 | SSLv3 | TLSv1 | All

例

SSLProtocol +SSLv3

デフォルト

ALL

D.4.12 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}"

表D-3と表D-4に標準変数とSSL変数を示します。これらの値がvarnameの有効値です。

function ::= funcname "(" funcargs ")"

funcnameには、次の関数を使用できます。

file(filename)

file関数は文字列引数(ファイル名)を1つ取り、そのファイルの内容に拡張します。これは、正規表現に照らしてファイルの内容を評価する場合に役立ちます。

表D-3には、SSLRequireのvarnameの標準変数を示します。

表D-3 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

表D-4には、SSLRequireのvarnameのSSL変数を示します。

表D-4 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

D.4.13 SSLRequireSSL

SSLを使用していないクライアントに対してアクセスを拒否します。構成エラーにより、セキュリティがぜい弱になる可能性があるSSL対応の仮想ホストまたはディレクトリの完全保護に役立つディレクティブです。

カテゴリ

値

構文

SSLRequireSSL

例

SSLRequireSSL

デフォルト

なし

D.4.14 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 shmht: /ORACLE_HOME/Apache/Apache/logs/ssl_scache(512000)

SSLSessionCache shmcb: /ORACLE_HOME/Apache/Apache/logs/ssl_scache(512000)

デフォルト

SSLSessionCache none

D.4.15 SSLSessionCacheTimeout

セッション・キャッシュ内でSSLセッションの有効期限が満了になるまでの秒数を指定します。

カテゴリ

値

構文

SSLSessionCacheTimeout seconds

例

SSLSessionCacheTimeout 120

デフォルト

300

D.4.16 SSLVerifyClient

接続時にクライアントが証明書を提示する必要があるかどうかを指定します。使用できる値は次のとおりです。

- none: クライアント証明書は不要です。

- optional: クライアントは有効な証明書を提示できます。

- require: クライアントは有効な証明書を提示する必要があります。

カテゴリ

値

構文

SSLVerifyClient none | optional | require

例

SSLVerifyClient optional

デフォルト

なし

注意:

mod_sslに含まれているレベルoptional_no_ca(クライアントは有効な証明書を提示できるが、証明書が検証可能である必要はない)は、mod_osslではサポートされていません。

D.4.17 SSLWallet

WRLを使用してウォレットの場所を指定します。ファイルパスとして指定されます。

カテゴリ

値

構文

SSLWallet file:path to wallet

例

SSLWallet file:/etc/ORACLE/WALLETS/server

デフォルト

なし

D.4.18 SSLWalletPassword

注意:

SSLWalletPasswordは使用されていません。このディレクティブを使用すると、Oracle HTTP Serverログに警告メッセージが生成されます。ウォレットを保護するために、自動ログインを有効にして、かわりにSSOウォレットを取得することをお薦めします。

同一コンテキスト内に指定されているウォレットのアクセスに必要なウォレット・パスワードを指定します。クリアテキスト・ウォレット・パスワードまたは不明瞭化されたパスワードのいずれかを選択できます。不明瞭化されたパスワードは、コマンドライン・ツールiasobfを使用して作成されます。標準ウォレットを使用する必要がある場合は、クリアテキスト・パスワードのかわりに不明瞭化されたパスワードを使用することをお薦めします。パスワードが不要の場合は、このディレクティブを設定しないでください。

注意:

Oracle Wallet Managerの自動ログイン機能を使用して作成されたウォレットが使用される場合、ウォレットにはパスワードが不要なため、このディレクティブは設定しないでください。

カテゴリ

値

構文

SSLWalletPassword password

例

SSLWalletPassword myWalletPassword

デフォルト

なし

関連項目:

11-15ページの「iasobfユーティリティの使用」

D.5 mod_osso

注意:

mod_ossoは使用されていません。シングル・サインオンを実行する場合は、Webgateプラグインを使用してください。詳細は、『Oracle® Fusion Middleware Oracle Identity Managementインストレーション・ガイド』のOAMのためのOracle HTTP Server 11g Webゲートのインストールと構成に関する項を参照してください。

mod_oddoには次のディレクティブを使用できます。

- OssoConfigFile

- OssoIdleTimeout

- OssoIgnoreUri

- OssoIpCheck

- OssoLegacyApp

- OssoProtectedOnly

- OssoRedirectByForm

- OssoSendCacheHeaders

- OssoHTTPOnly

D.5.1 OssoConfigFile

osso.confへのパスを指定します。

カテゴリ

値

構文

OssoConfigFile path/to/osso.conf

例

OssoConfigFile OracleOHS_Home/ohs/conf/osso/osso.conf

デフォルト

なし

D.5.2 OssoIdleTimeout

Cookieのアイドル・タイムアウトを有効にするかどうかを指定します。

カテゴリ

値

構文

OssoIdleTimeout ON | OFF

例

OssoIdleTimeout OFF

デフォルト

OFF

D.5.3 OssoIgnoreUri

OHSが無視するURLを識別します。

- ALLを指定すると、すべてのURLが無視されます。

- querystringを指定すると、問合せ文字列に一致するURLが無視されます。

カテゴリ

値

構文

OssoIgnoreUri ALL | querystring string

例

OssoIgnoreUri ALL

または

OssoIgnoreUri querystring foo=bar,bar=baz\

デフォルト

URLは無視されません。

D.5.4 OssoIpCheck

このディレクティブをONに設定すると、弱い形式のIPスプーフィング・チェックが有効になります。受信IPアドレスが、ClientIPヘッダー値と照合されます。

カテゴリ

値

構文

OssoIpCheck ON | OFF

例

OssoIpCheck ON

デフォルト

OFF

D.5.5 OssoLegacyApp

URI認証が設定された場所でそのURI認証を有効にするかどうかを指定します。ONにすると、URI認証が有効になります。

カテゴリ

値

構文

OssoLegacyApp ON | OFF

例

OssoLegacyApp ON

デフォルト

OFF

D.5.6 OssoProtectedOnly

アプリケーションが動的ssoディレクティブを介してそのアプリケーション自体を保護する場合に、Cookieを作成するかどうかを指定します。ONにすると、このCookieが作成されます。

カテゴリ

値

構文

OssoProtectedOnly ON | OFF

例

OssoProtectedOnly ON

デフォルト

OFF

D.5.7 OssoRedirectByForm

フォームによるリダイレクトを有効にするかどうかを指定します。ONにすると、リダイレクトが有効になります。

カテゴリ

値

構文

OssoRedirectByForm ON | OFF

例

OssoRedirectByForm ON

デフォルト

OFF

D.5.8 OssoSecureCookies

セキュアなCookieを有効にするかどうかを指定します。ONに設定すると、これらのCookieが有効になります。

カテゴリ

値

構文

OssoSecureCookies ON | OFF

例

OssoSecureCookies OFF

デフォルト

ON

D.5.9 OssoSendCacheHeaders

静的に保護されたページに対して、このディレクティブが次のヘッダーを送信するかどうかを指定します。

- Pragma: no-cache

- Cache-Control: no-store

- Surrogate-Control: no-store

- Expires: Thu, 01 Jan 1970 12:00:00 GMT

カテゴリ

値

構文

OssoSendCacheHeaders ON | OFF

例

OssoSendCacheHeaders OFF

デフォルト

ON

D.5.10 OssoHTTPOnly

モジュールによって作成されたCookieのHTTPOnlyを設定するかどうかを指定します。ONにすると、HTTPOnlyが設定されます。

カテゴリ

値

構文

OssoHttpOnly ON | OFF

例

OssoHttpOnly OFF

デフォルト

ON

D.6 mod_plsql

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

- D.6.1項「plsql.conf」

- D.6.2項「dads.conf」

- D.6.3項「cache.conf」

D.6.1 plsql.conf

plsql.confファイルでは、次のパラメータを使用します。

- PlsqlDMSEnable

- PlsqlLogEnable

- PlsqlLogDirectory

- PlsqlIdleSessionCleanupInterval

D.6.1.1 PlsqlDMSEnable

mod_plsqlモジュールのDynamic Monitoring Service(DMS)を有効にします。

カテゴリ

値

構文

PlsqlDMSEnable On | Off

例

PlsqlDMSEnable On

デフォルト

On

D.6.1.2 PlsqlLogEnable

mod_plsqlモジュールのデバッグ・レベル・ログを有効にします。デバッグ・レベル・ログは、デバッグ専用に使用されます。

ロギングが有効になると、Oracle HTTP Serverログ・ファイルは通常、ORACLE_INSTANCE/diagnostics/logs/OHS/config/OHS/component_nameディレクトリ内に作成されます。ただし、最終的な場所はPlsqlLogDirectory内に指定された場所によって決まります。

このパラメータは、Oracleサポート・サービスよりmod_plsqlモジュール問題のデバッグ指示がないかぎり、Offに設定しておきます。

mod_plsqlモジュールの内部処理の詳細を表示する場合は、このディレクティブをOnに設定します。Onに設定すると、mod_plsqlモジュールは処理されるすべてのリクエストのロギングを開始します。ログ・ファイルは、PlsqlLogDirectoryディレクティブで指定された場所に生成されます。

カテゴリ

値

構文

PlsqlLogEnable On | Off

例

PlsqlLogEnable Off

デフォルト

Off

D.6.1.3 PlsqlLogDirectory

デバッグ・レベル・ログが書き出されるディレクトリを指定します。

ロギングが有効なときにログ・ファイルが生成される場所のディレクトリ名を設定します。このディレクトリの場所について混乱が生じないように、絶対パスの使用をお薦めします。

UNIXでは、httpd子プロセスの所有者がこのディレクトリに対する書込み権限を持っている必要があります。

カテゴリ

値

構文

PlsqlLogDirectory directory

例

PlsqlLogDirectory ORACLE_INSTANCE/diagnostics/logs/OHS/component_name

デフォルト

なし

D.6.1.4 PlsqlIdleSessionCleanupInterval

アイドル・データベース・セッションがmod_plsqlモジュールによりクローズされてクリーンアップされるまでの時間(分数)を指定します。

このディレクティブは、mod_plsqlモジュール内でデータベース接続とセッションの接続プーリングとともに使用されます。セッションがある一定の期間使用されないと、そのセッションはクローズされて解放されます。これは、使用されていないセッションをクリーンアップし、データベース側でメモリーが解放されるようにするためです。

この時間を小さい値に設定すると、使用されていないデータベース・セッションのクリーンアップが高速になります。ただし、極端に小さい値に設定すると、mod_plsqlモジュール内の接続プーリングが提供するパフォーマンスに悪影響を及ぼすことがあります。

オープンされているデータベース・セッションの数が重要でない場合は、最大のパフォーマンスが得られるように、このパラメータの値を大きくすることができます。その場合、アクセス頻度が高く、セッション・クリーンアップ間隔に達することがないサイトについては、プーリングされたデータベース・セッションが確実に定期的にリサイクルされるように、DAD構成パラメータPlsqlMaxRequestsPerSessionを調整できます。

ほとんどのインストールでは、デフォルト値で十分です。

カテゴリ

値

構文

PlsqlIdleSessionCleanupInterval number

例

PlsqlIdleSessionCleanupInterval 10

デフォルト

15(分)

D.6.2 dads.conf

dads.confファイルには、PL/SQLのデータベース・アクセス・ディスクリプタの構成パラメータが含まれています。(ファイルの場所については、表D-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

D.6.2.1 PlsqlAfterProcedure

リクエストされたプロシージャのコール後に起動するプロシージャを指定します。これにより、リクエストされたプロシージャがコールされた後にフック・ポイントを置くことができます。これは、リクエストされたプロシージャ内の問題のデバッグ中に、SQLトレース/SQLプロファイルを実行する場合に役立ちます。また、各プロシージャの実行後に特定のコールを確実に行う必要がある場合にも役立ちます。

カテゴリ

値

構文

PlsqlAfterProcedure string

例

PlsqlAfterProcedure portal.mypkg.myafterproc

デフォルト

なし

注意:

このパラメータは、デバッグ目的にのみ使用してください。また、このパラメータを使用すると、SQLトレース/SQLプロファイルを停止できます。

D.6.2.2 PlsqlAlwaysDescribeProcedure

mod_plsqlモジュールでプロシージャを実行する前に記述する必要があるかどうかを指定します。このパラメータをOnに設定すると、mod_plsqlモジュールではプロシージャを起動する前に常に記述します。それ以外の場合は、mod_plsqlモジュールが内部的な経験則によりパラメータ・タイプを不正に解析した場合にのみ、プロシージャを記述します。

カテゴリ

値

構文

PlsqlAlwaysDescribeProcedure On | Off

例

PlsqlAlwaysDescribeProcedure On

デフォルト

Off

注意:

このパラメータは、デバッグ目的にのみ使用してください。

D.6.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アプリケーションは、ごく少数です。

D.6.2.4 PlsqlBeforeProcedure

リクエストされたプロシージャのコール前に起動するプロシージャを指定します。これにより、リクエストされたプロシージャがコールされる前にフック・ポイントを置くことができます。これは、リクエストされたプロシージャ内の問題のデバッグ中に、SQLトレース/SQLプロファイルを実行する場合に役立ちます。また、各プロシージャの実行前に特定のコールを確実に行う必要がある場合にも役立ちます。

カテゴリ

値

構文

PlsqlBeforeProcedure string

例

PlsqlBeforeProcedure portal.mypkg.mybeforeproc

デフォルト

なし

注意:

このパラメータは、デバッグ目的にのみ使用してください。また、このパラメータを使用すると、SQLトレース/SQLプロファイルを起動できます。

D.6.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、のように続いていきます。

- 問題を軽減するために、パラメータの受渡しを柔軟にすることを考慮してください。

D.6.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、のように続いていきます。

- 問題を軽減するために、パラメータの受渡しを柔軟にすることを考慮してください。

D.6.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アプリケーションで使用できます。

D.6.2.8 PlsqlConnectionTimeout

mod_plsqlモジュールの接続プールをテストするためのタイムアウトをミリ秒単位で指定します。

カテゴリ

値

構文

PlsqlConnectionTimeout number

例

PlsqlConnectionTimeout 5000

デフォルト

10000(ミリ秒)

PlsqlConnectionValidationがAutomaticまたはAlwaysValidateに設定されていると、mod_plsqlモジュールはプーリングされたデータベース接続をテストしようとします。このパラメータは、mod_plsqlモジュールが接続は使用できないと判断する前に、テスト・リクエストの完了を待機する最大時間を指定します。

D.6.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: パケット・ライターに障害が発生しました

D.6.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形式であるか、Oracle Netで解決可能であると想定します。この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にハードコードしないことをお薦めします。

D.6.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ディレクトリを共有ライブラリ・パスに含めます。表D-5に、各プラットフォームに対応するディレクトリおよび環境変数を示します。

表D-5 共有ライブラリ・パスの環境変数

プラットフォーム

環境変数

含めるディレクトリ

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の現行リリースのmod_plsql構成ディレクトリに変更します。

cd ORACLE_HOME/bin

5. 次のPerlスクリプトを起動して、DADパスワードを不明瞭化します。

perl dadTool.pl -f dadfilename

dadfilenameはdads.confのファイル名で、DADファイルへのフルパスが含まれます。

例:

perl dadTool.pl -f /u01/app/oracle/as11gr1/ORACLE_INSTANCE/config/OHS/component_name/mod_plsql/dads.conf

D.6.2.12 PlsqlDatabaseUserName

データベースへのログインに使用するユーザー名を指定します。

カテゴリ

値

構文

PlsqlDatabaseUsername string

例

PlsqlDatabaseUsername scott

デフォルト

なし

- PlsqlAuthenticationModeをBasicに設定して動的認証を使用するDADの場合を除き、これは必須パラメータです。

- SingleSignOn認証を使用するDADの場合、このパラメータはスキーマの所有者名です。

D.6.2.13 PlsqlDefaultPage

URLに何も指定されていない場合にコールするデフォルトのプロシージャを指定します。

カテゴリ

値

構文

PlsqlDefaultPage string

例

PlsqlDefaultPage myschema.mypackage.home

デフォルト

なし

Oracle HTTP Serverリライト規則を使用しても、この構成パラメータを設定した場合と同じ結果になります。

D.6.2.14 PlsqlDocumentPath

これは、ドキュメント表からのドキュメントのダウンロードを開始する、URL内の仮想パスです。たとえば、このパラメータをdocsに設定すると、次のURLによってこの形式のURLでドキュメントのダウンロード・プロセスが開始されます。

/pls/dad/docs
/pls/plsqlapp/docs

カテゴリ

値

構文

PlsqlDocumentPath string

例

PlsqlDocumentPath docs

デフォルト

docs

ドキュメントのアップロードまたはダウンロードを実行しないアプリケーションの場合は、このパラメータを省略します。

D.6.2.15 PlsqlDocumentProcedure

ドキュメントのダウンロード開始時にコールするプロシージャを指定します。このプロシージャは、ダウンロード処理用にコールされます。

カテゴリ

値

構文

PlsqlDocumentProcedure string

例

PlsqlDocumentProcedure portal.wwdoc_process.process_download

デフォルト

なし

ドキュメントのアップロードまたはダウンロードを実行しないアプリケーションの場合は、このパラメータを省略します。

D.6.2.16 PlsqlDocumentTablename

すべてのドキュメントのアップロード先となるデータベース内の表を指定します。

カテゴリ

値

構文

PlsqlDocumentTablename string

例

PlsqlDocumentTablename myschema.document_table

デフォルト

なし

ドキュメントのアップロードまたはダウンロードを実行しないアプリケーションの場合は、このパラメータを省略します。

D.6.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

D.6.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モジュールでは、このパラメータで指定したパターン以外に、次の特殊文字を含むプロシージャ名も使用できません。

- タブ

- 改行

- 復帰

- 一重引用符

- 逆スラッシュ

- 改ページ

- 左カッコ

- 右カッコ

- スペース

これは変更できません。

D.6.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パッケージでは文字の最小のバイト・サイズが想定されるため、各行のサイズが最大値まで変更されることはありません。

D.6.2.20 PlsqlInfoLogging

mod_plsqlモジュールが追加のパフォーマンス・ロギングを行うために使用するモードを指定します。

InfoDebugモード: より多くの情報がApacheのerror_logに記録されます。これは、Apacheのinfoロギング・レベルとともに使用されます。Apacheのロギング・レベルがこのレベル以上に設定されていない場合は、この設定が無視されます。

カテゴリ

値

構文

PlsqlInfoLogging InfoDebug

例

PlsqlInfoLogging InfoDebug

デフォルト

空

このロギング設定は、PL/SQLアプリケーションでの問題のデバッグに役立ちます。

D.6.2.21 PlsqlMaxRequestsPerSession

プーリングされたデータベース接続がクローズされて再オープンされる前に処理する必要のある最大リクエスト数を指定します。

カテゴリ

値

構文

PlsqlMaxRequestsPerSession number

例

PlsqlMaxRequestsPerSession 500

デフォルト

1000

- このパラメータを使用すると、PL/SQLアプリケーションによる長期間のセッション再利用により発生する、メモリーとリソースの問題を軽減できます。

- このパラメータは変更しないでください。ほとんどの場合は、デフォルトで十分です。

- このパラメータを小さい値に設定すると、パフォーマンスが低下することがあります。使用頻度が低くパフォーマンスが問題にならないDADや、リクエスト数が限られているDADの場合は、小さい値に設定するとメリットが得られることがあります。

D.6.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に設定されている場合は、このパラメータを無視できます。

D.6.2.23 PlsqlPathAlias

プロシージャ・コールにマップする仮想パスの別名を指定します。これはアプリケーション固有です。このディレクティブは、PlsqlPathAliasProcedureと組み合せて使用します。

カテゴリ

値

構文

PlsqlPathAlias string

例

PlsqlPathAlias url

デフォルト

なし

パスの別名を使用しないアプリケーションの場合は、このパラメータを省略できます。

D.6.2.24 PlsqlPathAliasProcedure

URLの仮想パスが、PlsqlPathAliasで構成されたパス別名と一致した場合にコールするプロシージャを指定します。

カテゴリ

値

構文

PlsqlPathAliasProcedure string

例

PlsqlPathAliasProcedure portal.wwpth_api_alias.process_download

デフォルト

なし

パスの別名を使用しないアプリケーションの場合は、このパラメータを省略できます。

D.6.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パッケージに名前を付けます。

- 実装で表参照を実行し、許可するパッケージおよびプロシージャを決定する場合、共有プールにカーソルを固定すると、パフォーマンスが改善されることがあります。

D.6.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名を使用する必要があります。

D.6.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またはデータベース(あるいはその両方)に保存します。

D.6.2.28 PlsqlTransferMode

データベースからのデータをmod_plsqlモジュールに送信するためのモードを指定します。ほとんどのアプリケーションでは、デフォルト値CHARを使用します。

カテゴリ

値

構文

PlsqlTransferMode {CHAR | RAW}

例

PlsqlTransferMode CHAR

デフォルト

CHAR

このパラメータを変更する必要があるのは、同一のDADからのレスポンスを異なるキャラクタ・セットで返送できるようにする場合のみです。このような場合にはCHARモードは使用できません。レスポンス・データが常にデータベースのキャラクタ・セットからmod_plsqlのキャラクタ・セットに変換されるためです。

D.6.2.29 PlsqlUploadAsLongRaw

デフォルトのBLOBデータ型を使用せずに、LONGRAWデータ型としてアップロードするファイルの拡張子を指定します。フィールドのファイル拡張子に複数行からなるディレクティブを指定することで、デフォルトを上書きできます。このフィールドにアスタリスク(*)の値を指定すると、すべてのドキュメントがLONGRAW型としてアップロードされます。

カテゴリ

値

構文

PlsqlUploadAsLongRaw string multiline

例

PlsqlUploadAsLongRaw jpg

PlsqlUploadAsLongRaw gif

デフォルト

なし

ドキュメントをアップロードまたはダウンロードしないアプリケーションの場合は、このパラメータを省略できます。

D.6.3 cache.conf

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

次のパラメータは、cache.confファイルで指定されます。

- PlsqlCacheCleanupTime

- PlsqlCacheDirectory

- PlsqlCacheEnable

- PlsqlCacheMaxAge

- PlsqlCacheMaxSize

- PlsqlCacheTotalSize

D.6.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

D.6.3.2 PlsqlCacheDirectory

mod_plsqlモジュールによってキャッシュ・ファイルが書き出されるディレクトリを指定します。このディレクトリは存在している必要があります。存在しない場合、Oracle HTTP Serverは起動しません。

UNIXでは、httpd子プロセスの所有者がこのディレクトリに対する書込み権限を持っている必要があります。

カテゴリ

値

構文

PlsqlCacheDirectory directory

例

PlsqlCacheDirectory ORACLE_INSTANCE/OHS/component_name

デフォルト

なし

D.6.3.3 PlsqlCacheEnable

mod_plsqlのキャッシュを有効にします。

カテゴリ

値

構文

PlsqlCacheEnable {On | Off}

例

PlsqlCacheEnable On

デフォルト

Off

アプリケーションでPL/SQL Web ToolkitのOWA_CACHEパッケージを使用しない場合は、キャッシュを無効にできます。そのような場合は、パフォーマンス上のメリットはほとんどありません。

D.6.3.4 PlsqlCacheMaxAge

キャッシュ済ファイルを、キャッシュ・メンテナンスのために削除されるまで、ファイル・システム・キャッシュに置くことができる最大期間(日数)を指定します。

この設定は、キャッシュ・システムに古いコンテンツが含まれないようにするためです。この設定により、古いキャッシュ・ファイルが削除され、新しいファイル用のスペースが作成されます。

カテゴリ

値

構文

PlsqlCacheMaxAge number

例

PlsqlCacheMaxAge 20

デフォルト

30(日)

D.6.3.5 PlsqlCacheMaxSize

キャッシュ・ファイルの最大サイズを指定します。

この設定は、1つのファイルがキャッシュ全体を占有できないようにします。一般的には、この値は総キャッシュ・サイズ(PlsqlCacheTotalSizeで指定)の約1から3パーセントに設定することをお薦めします。

カテゴリ

値

構文

PlsqlCacheMaxSize number

例

PlsqlCacheMaxSize 1048576

デフォルト

1048576

D.6.3.6 PlsqlCacheTotalSize

キャッシュ・ディレクトリの合計サイズを指定します。デフォルトは20MBです。

この設定により、キャッシュで使用できる領域の量が制限されます。PL/SQLキャッシュとセッションCookieキャッシュがこのキャッシュ領域を共有します。この設定は厳密な制限ではありません。通常の処理中に、一時的にこの制限を超えることがあります。これは正常な動作です。

クリーンアップ・アルゴリズムでは、この設定を使用してキャッシュ・ファイルをどの程度削減するかを判断します。したがって、実際のスペース上限は、物理的なストレージの最大使用可能サイズです。

このパラメータは、次のように値としてバイト数を取ります。

- 1MB=1048576バイト

- 10MB=10485760バイト

カテゴリ

値

構文

PlsqlCacheTotalSize number

例

PlsqlCacheTotalSize 20971520

デフォルト

20971520(バイト)

D.7 mod_wl_ohs

mod_wl_ohsには次のディレクティブを使用できます。

- ConnectRetrySecs

- ConnectTimeoutSecs

- Debug

- DebugConfigInfo

- DefaultFileName

- DynamicServerList

- ErrorPage

- FileCaching

- Idempotent

- KeepAliveEnabled

- KeepAliveSecs

- MatchExpression

- MaxPostSize

- MaxSkipTime

- PathPrepend

- PathTrim

- QueryFromRequest

- WebLogicCluster

- WebLogicHost

- WebLogicPort

- WebLogicSSLVersion

- WLCookieName

- WLDNSRefreshInterval

- WLExcludePathOrMimeType

- WLForwardUriUnparsed

- WLIOTimeoutSecs

- WLLocalIP

- WLLogFile

- WLProxyPassThrough

- WLProxySSL

- WLProxySSLPassThrough

- WLServerInitiatedFailover

- WLSocketTimeoutSecs

- WLSRequest

- WLTempDir

注意:

mod_wl_ohsのディレクティブは、mod_wlで使用できるディレクティブと同じです。

D.7.1 ConnectRetrySecs

WebLogic Serverホスト(またはクラスタ内のすべてのサーバー)への接続試行の間にプラグインがスリープする間隔(秒)。この値はConnectTimeoutSecsより小さくします。「HTTP 503: サービスが使用できません」のレスポンスをクライアントに戻す前にプラグインが接続を試行する回数は、ConnectTimeoutSecsをConnectRetrySecsで除算することで算出されます。再試行しないようにするには、ConnectRetrySecsをConnectTimeoutSecsと同じ値に設定します。ただし、プラグインは最低2回接続を試みます。エラー・レスポンスはErrorPageディレクティブを使用してカスタマイズできます。

カテゴリ

値

構文

ConnectRetrySecs secs

例

ConnectRetrySecs 10

デフォルト

2

D.7.2 ConnectTimeoutSecs

プラグインがWebLogic Serverホストへの接続を試行する最大時間(秒)。この値はConnectRetrySecsより大きくします。接続できないまま、何回か再試行(ConnectRetrySecsの項を参照)しても成功しないままConnectTimeoutSecsの期限が切れた場合、「HTTP 503: サービスが使用できません」のレスポンスがクライアントに送られます。エラー・レスポンスはErrorPageディレクティブを使用してカスタマイズできます。

カテゴリ

値

構文

ConnectTimeoutSecs secs

例

ConnectTimeoutSecs 120

デフォルト

10

D.7.3 Debug

デバッグ操作で実行するロギングのタイプを設定します。デバッグ情報は、UNIXシステムでは/tmp/wlproxy.logファイルに、Windows NT/2000システムではc:\TEMP\wlproxy.logに書き込まれます。

この場所とファイル名を上書きするには、WLLogFileパラメータを別のディレクトリおよびファイルに設定します。(この場所を変更する他の方法については、WLTempDirパラメータを参照してください。)

このサーバーへログインするユーザーに、tmpまたはTEMPディレクトリへの書き込み権限を割り当てる必要があります。次のいずれかのロギング・オプションを設定します(HFC、HTW、HFWおよびHTCオプションは、たとえばHFC,HTWのようにカンマ区切りにすることで組み合せて入力できます):

- ON - プラグインは、情報メッセージおよびエラー・メッセージを記録します。

- OFF - デバッグ情報は記録されません。

- HFC - プラグインは、クライアントからのヘッダー、情報メッセージおよびエラー・メッセージを記録します。

- HTW - プラグインは、WebLogic Serverに送信されたヘッダー、情報メッセージおよびエラー・メッセージを記録します。

- HFW - プラグインは、WebLogic Serverから送信されたヘッダー、情報メッセージおよびエラー・メッセージを記録します。

- HTC - プラグインは、クライアントに送信されたヘッダー、情報メッセージおよびエラー・メッセージを記録します。

- ERR - プラグインのエラー・メッセージのみを出力します。

- ALL - プラグインは、クライアントに送信されたヘッダー、クライアントから送信されたヘッダー、WebLogic Serverに送信されたヘッダー、WebLogic Serverから送信されたヘッダー、情報メッセージおよびエラー・メッセージを記録します。

カテゴリ

値

構文

Debug ON | OFF | HFC | HTW | HFW | HTC | ERR | ALL

例

Debug HFC,HTW,HTC

デフォルト

OFF

D.7.4 DebugConfigInfo

特殊な問合せパラメータ「__WebLogicBridgeConfig」を有効にします。このパラメータは、プラグインから構成パラメータに関する詳細を取得するために使用します。たとえば、DebugConfigInfoを設定して「__WebLogicBridgeConfig」を有効にし、問合せ文字列「?__WebLogicBridgeConfig」を含むリクエストを送信すると、構成情報と実行時統計が収集され、その情報がブラウザに戻されます。この場合、プラグインはWebLogic Serverに接続しません。このパラメータはデバッグにのみ使用するもので、出力メッセージの形式はリリースによって異なります。セキュリティのため、本番システムではこのパラメータをOFFにしてください。

カテゴリ

値

構文

DebugConfigInfo OFF | ON

例

DebugConfigInfo ON

デフォルト

OFF

D.7.5 DefaultFileName

リクエストがプロキシされるWebLogic ServerのWebアプリケーションのデフォルト・ウェルカム・ページを設定します。

URIが「/」の場合、プラグインは次の手順を実行します。

1. PathTrimパラメータで指定されたパスを取り除きます。

2. DefaultFileNameの値を末尾に付加します。

3. PathPrependで指定された値を先頭に付加します。

これによって、WebLogic Serverからリダイレクトされなくなります。たとえば、DefaultFileNameをwelcome.htmlに設定した場合、HTTPリクエストが「http://somehost/weblogic」であれば、「http://somehost/weblogic/welcome.html」になります。このパラメータが機能するためには、リクエストが転送されるすべてのWebアプリケーションで同じウェルカム・ファイルを指定する必要があります。詳細は、「ウェルカム・ページの構成」を参照してください。

Apacheユーザーのための注意:

StrongholdバージョンまたはRavenバージョンを使用する場合は、IfModuleブロックではなくLocationブロックでこのパラメータを定義します。Oracle

カテゴリ

値

構文

DefaultFileName "http://path/to/file"

例

DefaultFileName “http://somehost/weblogic”

デフォルト

なし

D.7.6 DynamicServerList

オフに設定すると、プラグインはプロキシ設定されたロード・バランシング・リクエストに使用される動的クラスタ・リストを無視し、WebLogicClusterパラメータで指定された静的リストのみを使用します。通常は、このパラメータをオンに設定したままにしてください。

このパラメータをオフに設定した場合、次のような影響があります。

- 静的リスト内の1つ以上のサーバーが失敗した場合、プラグインは機能していないサーバーへの接続を試行し無駄な時間を費やすことがあるため、パフォーマンスが低下します。

- クラスタに新しいサーバーを追加した場合、このパラメータを再定義しないかぎりプラグインは新しいサーバーへリクエストをプロキシ設定できません。WebLogicサーバーは、新しいサーバーがクラスタの一部になると、これらのサーバーを動的サーバー・リストへ自動的に追加します。

カテゴリ

値

構文

DynamicServerList ON | OFF

例

DynamicServerList OFF

デフォルト

ON

D.7.7 ErrorPage

WebサーバーがリクエストをWebLogic Serverに転送できなかった場合に常に表示されるエラー・ページを設定します。ユーザー独自のエラー・ページを作成できます。バックエンド・サーバーが「HTTP 503: サービスが使用できません」レスポンスを返し、フェイルオーバー用のサーバーがない場合、プラグインはエラー・ページにリダイレクトします。

カテゴリ

値

構文

ErrorPage

例

ErrorPage

デフォルト

なし

D.7.8 FileCaching

ファイル・キャッシュが有効かどうかを指定します。ONに設定すると、リクエストのPOSTデータのサイズが2048バイトより大きい場合、POSTデータはまずディスク上の一時ファイルに読み込まれ、次に8192バイトのチャンク単位でWebLogic Serverに転送されます。これにより、フェイルオーバーの間もPOSTデータが保持され、プライマリがダウンしても、必要なすべてのデータをセカンダリにコピーすることができます。

FileCachingがONになっていると、データがWebServerとWebLogicの間でまだ転送中であっても、POSTの進行状況を追跡するクライアントは転送が完了したものと認識することに注意してください。したがって、アップロード時にブラウザに進行状況バーを表示して、WebLogic Serverで実際にデータが使用可能になったタイミングを示す場合は、FileCachingをONにしないことも検討する必要があります。

OFFに設定すると、リクエストのPOSTデータのサイズが2048バイトより大きい場合、リクエストを処理するWebLogic Serverクラスタ・メンバーが特定されるまでPOSTデータの読込みが延期されます。その後、プラグインがPOSTデータを読み込み、ただちに8192バイトのチャンク単位でWebLogic Serverに送信します。

FileCachingをOFFにするとフェイルオーバーが制限されることに注意してください。リクエストの処理中にWebLogic Serverプライマリ・サーバーがダウンした場合、すでにプライマリに送信されたPOSTデータはセカンダリに複写できません。

なお、POSTデータのサイズが2048バイト以下の場合は、FileCachingの設定に関係なくプラグインがデータをメモリーに読み込み、フェイルオーバー時にセカンダリへの複写が必要であればこれを使用します。

カテゴリ

値

構文

FileCaching ON | OFF

例

FileCaching OFF

デフォルト

ON

D.7.9 Idempotent

プラグインがフェイルオーバーするかどうかを指定します。

- ONに設定されている状態で、サーバーがWLIOTimeoutSecsの時間内に応答しない場合、プラグインはフェイルオーバーします(メソッドが同等の場合)。

- IdempotentをONに設定している場合も、プラグインはフェイルオーバーされ、サーバーがREAD_ERROR_FROM_SERVERなどのエラーを戻します。

- OFFに設定した場合、プラグインはフェイルオーバーしません。Apache HTTP Serverを使用している場合は、複数のURLまたはMIMEタイプに対してこのパラメータを別々に設定できます。

カテゴリ

値

構文

Idempotent ON | OFF

例

Idempotent OFF

デフォルト

ON

D.7.10 KeepAliveEnabled

プラグインとWebLogic Serverの間の接続のプールを有効化します。

Apache prefork mpmを使用している場合、Apache Webサーバーがクラッシュする可能性があります。Apacheのprefork mpmまたはworker mpmを使用している場合は、KeepAliveEnabledをOFFにしてください。

カテゴリ

値

構文

KeepAliveEnabled ON(TRUE) | OFF(FALSE)

例

KeepAliveEnabled OFF

デフォルト

ON(TRUE)

D.7.11 KeepAliveSecs

プラグインとWebLogic Serverの間のアクティブではない接続を維持する時間を指定します。ここで設定した時間が経過すると、接続が閉じられます。このパラメータを有効にするには、KeepAliveEnabledをtrue (Apache HTTP Serverを使用している場合はON)に設定する必要があります。

このパラメータの値は、管理コンソールのサーバー/HTTPタブで設定される期間フィールドの値、またはKeepAliveSecs属性を使用してサーバーMBeanで設定される値以下である必要があります。

カテゴリ

値

構文

KeepAliveSecs secs

例

KeepAliveSecs 120

デフォルト

20

D.7.12 MatchExpression

プロキシを行うときに使用するファイル名のパターンを指定します。このディレクティブはIfModuleブロック内に入力されます。たとえば、MIMEタイプによるプロキシを行う場合、次に示すようにMatchExpressionを使用します。

<IfModule weblogic_module>
MatchExpression *.jsp
WebLogicHost=myHost|paramName=value
</IfModule>

または、パスによるプロキシを行う場合、次のようにMatchExpressionを使用します。

<IfModule weblogic_module>
MatchExpression /weblogic
WebLogicHost=myHost|paramName=value
</IfModule>

次の構文を使用して、MatchExpressionの新しいパラメータを定義することもできます。

MatchExpression *.jsp PathPrepend=/test PathTrim=/foo

カテゴリ

値

構文

MatchExpression expression

例

MatchExpression /weblogic

デフォルト

なし

D.7.13 MaxPostSize

POSTデータの最大許容サイズ(バイト単位)。コンテンツ長がMaxPostSizeを超えた場合、プラグインによってエラー・メッセージが戻されます。-1に設定した場合、POSTデータのサイズはチェックされません。これは、POSTデータを使用してサーバーを過負荷状態にしようとするサービス拒否攻撃を防ぐために役立ちます。

カテゴリ

値

構文

MaxPostSize nn

例

MaxPostSize 64

デフォルト

-1

D.7.14 MaxSkipTime

WebLogicClusterパラメータまたはWebLogic Serverから戻される動的クラスタ・リストにあるWebLogic Serverで障害が発生した場合、その障害の発生したサーバーは「bad」とマークされ、プラグインはリスト内の次のサーバーに接続しようとします。

MaxSkipTimeには、プラグインが「bad」とマークされたサーバーへの接続を再試行するまでの時間を設定します。プラグインは、一意のリクエスト(つまり、Cookieのないリクエスト)を受信するたびにリスト内の新しいサーバーに接続しようとします。

カテゴリ

値

構文

MaxSkipTime sec

例

MaxSkipTime 120

デフォルト

10

D.7.15 PathPrepend

PathTrimの値が取り除かれた後、リクエストがWebLogic Serverに転送される前に、プラグインによって元のURLの{PATH}の部分の先頭に付加されるパスを指定します。ファイル名を追加する必要がある場合は、PathPrependではなく、DefaultFileNameパラメータを使用する点に注意してください。

カテゴリ

値

構文

PathPrepend [PROTOCOL]://[HOSTNAME]:{PORT}/{PATH}/{FILENAME};{PATH_PARAMS}/{QUERY_STRING]

例

PathPrepend http://myHost:1234/myPath/myfile;

デフォルト

null

D.7.16 PathTrim

PathTrimは、リクエストがWebLogic Serverに転送される前に、元のURLの{PATH}/{FILENAME}の部分からプラグインによって取り除かれる文字列を指定します。たとえば、URL http://myWeb.server.com/weblogic/fooが解析のためにプラグインに渡され、URLがWebLogic Serverに渡される前にPathTrimが/weblogicを取り除くように設定されている場合、WebLogic Serverに転送されるURLは、http://myWeb.server.com:7001/fooになります。既存のサード・パーティ・サーバーを新しく変換し、プラグインを使用してWebLogic Serverにリクエストをプロキシする場合、/fooへのアプリケーション・パスを変更してweblogic/fooを含むようにする必要があります。PathTrimおよびPathPrependを組み合せて使用すると、このパスを変更できます。

カテゴリ

値

構文

PathTrim [PROTOCOL]://[HOSTNAME]:{PORT}/{PATH}/{FILENAME};{PATH_PARAMS}/{QUERY_STRING}

例

PathTrim http://myWeb.server.com/weblogic/foo

デフォルト

null

D.7.17 QueryFromRequest

ONに設定すると、Apache HTTP Serverは次を使用して、

(request_rec *)r->the_ request

問合せ文字列をWebLogic Serverに渡します。(詳細は、Apacheドキュメントを参照してください。)この動作は、Netscapeバージョン4.xブラウザが問合せ文字列にスペースのあるリクエストを行う場合に役立ちます。

OFFに設定されている場合、Apache HTTP Serverは(request_rec *)r->argsを使用してWebLogic Serverに問合せ文字列を渡します。

カテゴリ

値

構文

QueryFromRequest ON | OFF

例

QueryFromRequest ON

デフォルト

OFF

D.7.18 WebLogicCluster

ロード・バランシングに使用可能なWebLogic Serverのリストを指定します。サーバーまたはクラスタのリストは、host:portエントリのリストです。クラスタとシングル・サーバーを組み合せて指定した場合、このパラメータに対して返される動的リストには、クラスタ化されたサーバーのみが含まれます。この派生は、クラスタ化されたバックエンド・サーバーのリストのプロキシまたはクラスタ化されていない管理対象サーバーのインスタンスのロード・バランシングを行う場合に必須です。

プラグインとWebLogic Serverの間にSSLを使用している場合は、ポート番号をSSLリスニング・ポートに設定して、SecureProxyパラメータをONに設定します。

このプラグインは、すべての使用可能なサーバーの間の単純なラウンドロビンを実行します。このプロパティで指定したサーバー・リストが、サーバーとプラグインが保持する動的サーバー・リストの開始点となります。WebLogic Serverとこのプラグインの連携により、クラスタに発生した新規のクラスタ・メンバー、失敗したクラスタ・メンバーおよびリカバリしたクラスタ・メンバーを反映してサーバーのリストが自動的に更新されます。

動的クラスタ・リストの使用を無効化するには、DynamicServerListパラメータをOFFに設定します。

このプラグインはCookie、URLエンコード済セッション、またはPOSTデータに格納されたセッションを含むHTTPリクエストを、最初にCookieを作成したクラスタ内のサーバーに送信します。

カテゴリ

値

構文

このパラメータの値を指定する構文は、『Oracle WebLogic ServerにおけるWebサーバー1.1プラグインの使用』で説明されているように、プラグインを構成しているWebサーバーに応じて変わります。詳細は、次の項を参照してください。

- 第2章「Oracle HTTP Server用のmod_wl_ohsプラグインの構成」

- 第3章「Oracle iPlanet Web Serverプラグインのインストールと構成」

- 第4章「Apache HTTP Serverプラグインのインストールと構成」

- 第5章「Microsoft IISプラグインのインストールと構成」

例

WebLogicCluster w1s1.com:7001,w1s2.com:7001,w1s3.com:7001

デフォルト

なし

D.7.19 WebLogicHost

HTTPリクエストが転送される、WebLogic Serverホスト(またはWebLogic Serverに定義されている仮想ホスト名)を指定します。WebLogicクラスタを使用している場合、WebLogicHostのかわりにWebLogicClusterパラメータを使用します。このディレクティブは、単一のWebLogic Serverにプロキシする場合は必須です。

カテゴリ

値

構文

WebLogicHost hostname

例

WebLogicHost myHost

デフォルト

なし

D.7.20 WebLogicPort

WebLogic Serverホストがプラグイン(または他のサーバー)からの接続リクエストをリスニングするポートを指定します。このディレクティブは、単一のWebLogic Serverにプロキシする場合は必須です。

- プラグインとWebLogic Serverの間にSSLを使用している場合は、このパラメータをSSLリスニング・ポートに設定して、SecureProxyパラメータをONに設定します。

- WebLogic Clusterを使用している場合は、WebLogicPortのかわりにWebLogicClusterパラメータを使用します

カテゴリ

値

構文

WebLogicPort portNo

例

WebLogicPort 1234

デフォルト

なし

D.7.21 WebLogicSSLVersion

プラグインとWebLogic Serverの間の通信に使用するSSLプロトコル・バージョンを選択します。使用できる値は次のとおりです。

- SSLv3 : SSL v3を使用します

- TLSv1 : TLS v1を使用します

選択されたSSLプロトコル・バージョンは、プラグインからWebLogic Serverへのすべての接続に使用されます。したがって、このパラメータはグローバル・スコープで定義してください。

カテゴリ

値

構文

WebLogicSSLVersion versionNumber

例

WebLogicSSLVersion SSLv3

デフォルト

構成されていない場合、プラグインとWebLogic Serverの両方でサポートされている最良のプロトコルが使用されます。

D.7.22 WLCookieName

注意:

非推奨となったCookieNameにかわって、WLCookieNameが使用されます。

WebLogic Server WebアプリケーションのWebLogic ServerセッションCookie名を変更する場合、プラグインのこのパラメータを同じ値に変更する必要があります。WebLogicセッションCookie名は、WebLogic固有のデプロイメント記述子の<session-descriptor>要素で設定されます。

カテゴリ

値

構文

WLCookieName cookieName

例

WLCookieName

デフォルト

JSESSIONID

D.7.23 WLDNSRefreshInterval

プロキシ構成で定義する場合、WebLogic ServerがサーバーのDNS名からIPへのマッピングをリフレッシュする間隔を秒単位で指定します。WebLogic Serverインスタンスを別のIPアドレスに移行する場合に使用できますが、そのサーバーのIPのDNS名は変更されません。この場合、指定したリフレッシュ間隔で、DNSとIPの双方向のマッピングが更新されます。

カテゴリ

値

構文

WLDNSRefreshInterval nn

例

WLDNSRefreshInterval 10

デフォルト

起動時に1回のみルックアップ

D.7.24 WLExcludePathOrMimeType

このパラメータを使用すると、特定のリクエストをプロキシ処理から除外できます。このパラメータは、グローバルに定義することも、「場所」タグ・レベルでローカルに定義することもできます。このプロパティをローカルに定義した場合、グローバルなプロパティが上書きされるのではなく、2つのパラメータの集合が定義されます。

カテゴリ

値

構文

WLExcludePathOrMimeType value

例

WLExcludePathOrMimeType

デフォルト

なし

D.7.25 WLForwardUriUnparsed

ONに設定されている場合、WLSプラグインは元のURIをクライアントからWebLogic Serverに転送します。OFF (デフォルト)に設定されている場合、WebLogic Serverに送信されたURIは、mod_rewriteまたはその他のWebサーバー・プラグイン・モジュールによって変更されることがあります。

カテゴリ

値

構文

WLForwardUriUnparsed ON | OFF

例

WLForwardUriUnparsed ON

デフォルト

OFF

D.7.26 WLIOTimeoutSecs

注意:

WLIOTimeoutSecsは、HungServerRecoverSecsの新しい名前です。

WebLogic Serverからのリクエストへのレスポンスに対するプラグインの待機時間を定義します。プラグインは、サーバーがレスポンスするまでWLIOTimeoutSecsで指定した秒数だけ待機してから、サーバーのレスポンスなしを宣言して、次のサーバーにフェイルオーバーします。この値は、大きな値にしておく必要があります。この値をサーブレットの処理時間より短くした場合は、予期しない結果が発生する場合があります。

- 最小値: 10

- 最大値: 制限なし

カテゴリ

値

構文

WLIOTimeoutSecs nn

例

WLIOTimeoutSecs 128

デフォルト

300

D.7.27 WLLocalIP

プラグインがマルチホーム・マシンで動作しているWebLogic Serverインスタンスに接続する場合のバインド先の(プラグインのシステム上の) IPアドレスを定義します。

WLLocalIPを設定しない場合、TCP/IPスタックはソースIPアドレスを選択します。

カテゴリ

値

構文

WLLocalIP ipAddress

例

WLLocalIP 1001.1111.1234.4567

デフォルト

なし

D.7.28 WLLogFile

Debugパラメータがオンに設定されている場合に生成されるログ・ファイルへのパスとファイル名を指定します。このディレクトリは、このパラメータを設定する前に作成する必要があります。

カテゴリ

値

構文

WLLogFile path/to/file.ext

例

WLLogFile http://myFolder/mySubfolder/myLogfile.log

デフォルト

D.7.29 WLProxyPassThrough

プロキシ・プラグインまたはHttpClusterServletが一部の他のプロキシまたはロード・バランサで稼働中の連鎖プロキシ設定がある場合、WLProxyPassThroughパラメータを明示的に有効化する必要があります。このパラメータによって、ヘッダーはプロキシの連鎖に渡されるようになります。

カテゴリ

値

構文

WLProxyPassThrough ON | OFF

例

WLProxyPassThrough ON

デフォルト

OFF

D.7.30 WLProxySSL

次の条件が存在する場合、プラグインとWebLogic Server間のSSL通信を維持するかどうかを指定します。

- HTTPクライアント・リクエストがHTTPSプロトコルを指定しています。

- リクエストが1つまたは複数のプロキシ・サーバー(WebLogic Serverプロキシ・プラグインを含む)を経由して渡されました。

- プラグインとWebLogic Server間の接続でHTTPプロトコルを使用しています。

- WLProxySSLをONに設定すると、WebLogic Serverからクライアントに戻されるロケーション・ヘッダーではHTTPSプロトコルが指定されます。

カテゴリ

値

構文

WLProxySSL ON | OFF

例

WLProxySSL ON

デフォルト

OFF

D.7.31 WLProxySSLPassThrough

Webサーバーとプラグインの前にデプロイしたロード・バランサやその他のソフトウェアがSSL終端点である場合に、その製品が、クライアントからSSLを介して接続されたかどうかに基づいて、WL-Proxy-SSLリクエスト・ヘッダーをtrueまたはfalseに設定したときは、SSLの使用がOracle WebLogic Serverに渡されるように、WLProxySSLPassThroughをONに設定します。

SSL終端点が、プラグインが動作するWebサーバーにある場合、またはロード・バランサがWL-Proxy-SSLを設定しない場合、WLProxySSLPassThroughをOFF (デフォルト)に設定します。

カテゴリ

値

構文

WLProxySSLPassThrough ON | OFF

例

WLProxySSLPassThrough ON

デフォルト

OFF

D.7.32 WLServerInitiatedFailover

Oracle WebLogic Serverからの503エラー・レスポンスが、別のサーバーへのフェイルオーバーをトリガーするかどうかを指定します。通常プラグインは、503エラー・レスポンスを受け取ると、別のサーバーへのフェイルオーバーを試行します。WLServerInitiatedFailoverがOFFに設定されている場合、503エラー・レスポンスはただちにクライアントに返されます。

カテゴリ

値

構文

WLServerInitiatedFailover ON | OFF

例

WLServerInitiatedFailover OFF

デフォルト

ON

D.7.33 WLSocketTimeoutSecs

接続中のソケットのタイムアウトを秒単位で設定します。詳細は、ConnectTimeoutSecsおよびConnectRetrySecsを参照してください。この値は、0より大きい必要があります。

カテゴリ

値

構文

WLSocketTimeoutSecs nn

例

WLSocketTimeoutSecs 10

デフォルト

2

D.7.34 WLSRequest

これは、Oracle WebLogic Serverに転送されるリクエストを識別するSetHandler weblogicハンドラ・メカニズムに対する代替策となります。例を次に示します。

<Location /weblogic>
WLSRequest ON
PathTrim /weblogic
</Location>

SetHandler weblogicハンドラのかわりにWLSRequestをONにして使用すると、次のような利点があります。

- Webサーバーの処理オーバーヘッドが全般的に低減されます。

- WebサーバーのDocumentRootが低速のファイル・システム上にある場合のパフォーマンスの大幅な低下が解決されます。

- ファイル・システムの長さ制限が原因でファイル・システムにマッピングできないURIに関する403エラーが解決されます。

カテゴリ

値

構文

WLSRequest ON | OFF

例

WLSRequest ON

デフォルト

OFF

D.7.35 WLTempDir

次の内容を指定します。

- wlproxy.logを作成するディレクトリ。場所が見つからない場合、Windowsの場合はC:/tempに、Unixの場合はすべてのプラットフォームで/tmpにログ・ファイルが作成されます。

- POSTデータ・ファイルの_wl_proxyディレクトリの場所。

WLTempDirおよびWLLogFileの両方を設定した場合、wlproxy.logの場所についてはWLLogFileが優先します。_wl_proxyディレクトリの場所は、引き続きWLTempDirによって決まります。

カテゴリ

値

構文

WLTempDir dirNamee

例

WLTempDir MyLogDir

デフォルト

Debugパラメータを参照してください。

用語集

Apache

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つの特性を表す属性のセットで構成されます。たとえば、ディレクトリ・エントリが人物を示す場合、エントリには姓、名、電話番号、電子メール・アドレスなどの属性が含まれます。

フェイルオーバー

コンポーネントに障害が発生したときに、類似するアクティブな代替コンポーネントを利用して、コンピューティング・システムを再構成する機能。

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形式のデータです。

プラグイン

より大きいシステムに特定の機能やサービスを追加するモジュール。たとえば、Oracle Proxy Plug-inまたはOracle SSO Plug-inなどがあります。

ポート

特定のプログラムとの間で送信データをルーティングするため、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  B  C  D  E  F  G  H  I  L  M  N  O  P  R  S  T  U  W  X

A

アクセス・ログ, 7.1.2

アクセス

Fusion Middleware Control, 2.2

Al16UTF-16, 3.8.1.3 Apache, 用語集

セキュリティ・パッチ, B.5

バージョン, 1.1

Apache HTTP Server, 1.1 Apache OraDAV, 9.1.2 apachectl, 4.1 ApacheStyle, D.6.2.17 アプリケーション固有のエラー・ページ, A.1, B.1 認証, 8.1, 用語集 認可, 8.1 可用性, 用語集

B

データベースの内容のブラウズ

OraDAVの使用, 9.1.4

C

キャッシュ, B.3

cache.conf, 3.10.2.3, D.6.3

キャッシュ

ディスク

OraDAV, 9.4.1

証明書, 用語集

デジタル, 用語集

X.509, D.4.9

認証局, 用語集 証明書失効リスト, D.4.2 CGI, 用語集 暗号文, 用語集 クリアテキスト, 用語集 CompatEnvVars, D.4.9 秘匿性, 8.1 構成ファイル

cache.conf, 3.10.2.3, D.6.3

dads.conf, 3.10.2.2, D.6.2

oracle_osso.dll, A.2.5, A.2.6

osso_plugin.conf, A.2.4

plsql.conf, 3.10.2.1

構文, 1.3

構成

mod_oradav, 9

Sun Java System

Proxy Plug-In, A.1.4

作成

DAD, 3.10.1

暗号化, 用語集

D

DAD, 用語集

作成, 3.10.1

パスワード

不明瞭化, D.6.2.11

dads.conf, 3.10.2.2, D.6.2 dadTool.pl, D.6.2.11 データベース・アクセス・ディスクリプタ, 3.10.2.2, D.6.2, 用語集 データベース接続

OraDAVおよび, D.3.7

データベース使用上の注意, 3.8.1 DAV, 9 DAVパラメータ, 9.2.1 DAVParamパラメータ

OraDAV, 9.2.1

DebugStyle, D.6.2.17 復号化, 用語集 Diffie-Hellman鍵交換アルゴリズム, D.4.4 デジタル証明, 用語集 デジタル・ウォレット, 用語集 ディレクティブ

ネームスペースの作成, B.8

RewriteLogLevel, C.6.1

UseWebCacheIp, C.7

ディレクトリ構造, 1.2, 1.2 ディスク・キャッシュ, D.3.3

OraDAV, 9.4.1

サイズ, D.3.4, D.3.5, D.3.6

識別名, D.4.9 分散オーサリングおよびバージョニング, 9 ダイナミック・モニタリング・サービス, D.6.1.1

E

暗号化, 1.1.1.1, 用語集

エントリ, 用語集

エラー・ログ, C.6.3

mod_oradavおよび, D.3.17, D.3.18

イベント

OraDAVおよび, D.3.17

例外

OraDAVおよび, D.3.10

ExportCertData, D.4.9

F

フェイルオーバー, 用語集

FakeBasicAuth, D.4.9

FAQ, A, B

Apacheセキュリティ・パッチ, B.5

圧縮

出力, B.7

ISPの顧客に対するHTTPSの提供, A.2, B.2 Webサイトの保護

ハッカー, B.9

機能, 1.1 ファイル・システムへのアクセス

OraDAV, 9.2.1

よくある質問, A, B Fusion Middleware Control, 用語集

アクセス, 2.2

管理, 2

Oracle HTTP Server, 2.3

Oracle HTTP Serverのホームページ, 2.3

G

グローバリゼーション・サポート

OraDAVに関する考慮事項, 9.5

H

ハッカー, B.9

HTTP, 用語集

HTTPリスナー, 1.1

Hypertext Transfer Protocol, 用語集

I

identd, 7.1.2

IdentityCheck, 7.1.2

IIS

Proxy Plug-In, A.1

SSO Plug-In, A.2

InfoDebug, D.6.2.20 IpCheck, A.2.4.1

L

LDAP, 用語集

Lightweight Directory Access Protocol, 用語集

リスナー・アドレス, 6.1

リスナー・ポート, 6.1

LoadModuleディレクティブ, 3.10.2.1

ロック

OraDAVおよび, D.3.12

ログ・ファイル, 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 LoginServerFile, A.2.4.1

M

管理

Fusion Middleware Control, 2

Oracle HTTP Server, 2.3

mod_certheaders, 3.2 mod_dav

OraDAV

ディスク・キャッシュ, 9.4.1

Oracle Web Cache, 9.4.2

パフォーマンスに関する考慮事項, 9.4

使用上の注意

グローバリゼーション・サポート, 9.5

mod_dms, 3.3, 8.3 mod_onsint, 3.4 mod_oradav, 3.5, 3.5, 9

概要

OraDAV, 9.1.2

WebDAV, 9.1.1

エラー・ログ, D.3.17, D.3.18 リクエストの取得および, D.3.1 OraDAV

管理, 9.1.2

Apache OraDAV, 9.1.2

アーキテクチャ, 9.1.3

構成パラメータ, 9.2.1

OraDAVドライバ, 9.1.2

OraDAVドライバAPI, 9.1.2

使用モデル, 9.1.4

パラメータ

ORAAllowIndexDetails, D.3.1

ORAAltPassword, D.3.2

ORACacheDirectory, D.3.3

ORACacheMaxResourceSize, D.3.4

ORACachePrunePercent, D.3.5

ORACacheTotalSize, D.3.6

ORAConnect, D.3.7

ORAConnectSN, D.3.8

ORAContainerName, D.3.9

ORAException, D.3.10

ORAGetSource, D.3.11

ORALockExpirationPad, D.3.12

ORAPackageName, D.3.13

ORAPassword, D.3.14

ORARootPrefix, D.3.15

ORAService, D.3.16

ORATraceEvents, D.3.17

ORATraceLevel, D.3.18

ORAUser, D.3.19

mod_ossl, 3.6, 3.6, 8.1

ディレクティブ

SSLAccelerator, D.4.1

SSLCARevocationFile, D.4.2

SSLCARevocationPath, D.4.3

SSLCipherSuite, D.4.4

SSLEngine, D.4.5

SSLLog, D.4.6

SSLLogLevel, D.4.7

SSLMutex, D.4.8

SSLOptions, D.4.9

SSLPassPhraseDialog, D.4.10

SSLProtocol, D.4.11

SSLRequire, D.4.12

SSLRequireSSL, D.4.13

SSLSessionCache, D.4.14

SSLSessionCacheTimeout, D.4.15

SSLVerifyClient, D.4.16

SSLWallet, D.4.17

SSLWalletPassword, D.4.18

mod_osso, 3.7, 3.7, 8.1, 8.4.2.2, A.2.1 mod_perl, 1.1, 3.8, 3.8, 8.3

データベース使用上の注意, 3.8.1

データベース接続のテスト, 3.8.1.2

mod_plsql, 3.10

構成ファイル, 3.10.2, D.6

cache.conf, 3.10.2.3, D.6.3

dads.conf, 3.10.2.2, D.6.2

plsql.conf, 3.10.2.1

構成パラメータ, 3.10.3 CustomOwa, D.6.2.3 PerPackageOwa, D.6.2.3 mod_reqtimeout, 3.1, 3.1 mod_ssl, 3.6 mod_wl_ohs, 8.3 ModplsqlStyle, D.6.2.17 モジュール, 1.1, 用語集

mod_certheaders, 3.2

mod_dms, 3.3

mod_onsint, 3.4

mod_oradav, 3.5

mod_ossl, 3.6

mod_osso, 3.7

mod_perl, 3.8

mod_plsql, 3.10

mod_ssl, 3.6

Multipurpose Internet Mail Extension, 4.4.2 Multiviews, B.4, B.4

N

nFast, D.4.1

NLS_LANG環境変数

OraDAVに関する考慮事項, 9.5

O

oproxy.serverlist, A.1.3.2.1

oproxy.servername.alias, A.1.3.2.4, A.1.3.2.5

oproxy.servername.hostname, A.1.3.2.2

oproxy.servername.port, A.1.3.2.3

oproxy.servername.urlrule, A.1.3.2.6

一致

コンテキスト, A.1.3.2.6

完全, A.1.3.2.6

拡張子, A.1.3.2.6

OptRenegotiate, D.4.9 ORA_IMPLICIT, 3.8.1.3 ORA_NCHAR, 3.8.1.3 ORAAllowIndexDetailsパラメータ, D.3.1, D.3.1 ORAAltPasswordパラメータ, D.3.2 ORACacheDirectoryパラメータ, 9.4.1, D.3.3 ORACacheMaxResourceSizeパラメータ, 9.4.1, D.3.4 ORACachePrunePercentパラメータ, 9.4.1, D.3.5 ORACacheTotalSizeパラメータ, 9.4.1, D.3.6 Oracle Enterprise Manager Application Server Control, 用語集 Oracle HTTP Server

キャッシュ, B.3

C/C++, 1.1.1.11

コンポーネント

HTTPリスナー, 1.1

モジュール, 1.1

Perlインタプリタ, 1.1

圧縮

出力, B.7

構成ファイルの構文, 1.3 ディレクトリ構造, 1.2 分散オーサリングおよびバージョニングのサポート, 1.1.1.3 FAQ, A, B 機能, 1.1 ロード・バランシング, 1.1.1.12 管理, 2.3 OPMN, 1.1.1.5 概要, 1 Perl, 1.1.1.9 PHP, 1.1.1.10 PL/SQL Server Pages, 1.1.1.7 プロセス・モデル

セキュリティに関する考慮事項, 5.4

Proxy Plug-In, 1.1.1.6 再起動, 4.1.4 セキュリティ, 1.1.1.1 サーバー側インクルード, 1.1.1.8 シングル・サインオン, 1.1.1.2 SSO Plug-In, 1.1.1.6 起動, 4.1.2 停止, 4.1.3 サポート, 1.4 URLリライティングとプロキシ・サーバー, 1.1.1.4 Oracle HTTP Serverのホームページ, 2.3 Oracle Web Cache

OraDAV, 9.4.2

WebDAV, 9.4.2

oracle_osso.dll, A.2.5, A.2.6 oracle_proxy_sunone.dll, A.1.2 oracle_proxy.dll, A.1.2, A.2.2 oracle_proxy.so, A.1.2 ORAConnectパラメータ, D.3.7 ORAConnectSNパラメータ

データベース接続

OraDAVおよび, D.3.8

ORAContainerNameパラメータ, D.3.9 OraDAV, 9, 9.1.2

管理, 9.1.2

説明, 9.1.2

グローバリゼーション・サポートに関する考慮事項, 9.5

使用モデル, 9.1.4

WebDAV

セキュリティに関する考慮事項, 9.3

OraDAV, 3.5 OraDAVおよび, D.3.3 OraDAVの構成パラメータ, 9.2.1 OraDAVドライバ, 9.1.2 OraDAVドライバAPI, 9.1.2 OraDAVユーザー, D.3.19 ORAExceptionパラメータ, D.3.10 ORAGetSourceパラメータ, D.3.11 ORALockExpirationPadパラメータ, D.3.12 ORAPackageNameパラメータ, D.3.13 ORAPasswordパラメータ, D.3.14 ORARootPrefixパラメータ, D.3.15 ORAServiceパラメータ, D.3.16 ORATraceEventsパラメータ, D.3.17 ORATraceLevelパラメータ, D.3.18 ORAUserパラメータ, D.3.19 osso_plugin.conf, A.2.4 概要, 1

P

パスワード

OraDAVおよび, D.3.2, D.3.14

PEM, 用語集 Perl

データベース・アクセス, 3.8.1.1

Perlインタプリタ, 1.1 PIDファイル, 4.1.1 平文, 用語集 PL/SQL, 用語集 plsql.conf, 3.10.2.1 PlsqlErrorStyle

ApacheStyle, D.6.2.17

DebugStyle, D.6.2.17

ModplsqlStype, D.6.2.17

PlsqlInfoLogging

InfoDebug, D.6.2.20

プラグイン, A.1.1, A.2.1, 用語集 ポート, 用語集 秘密鍵, 用語集 権限

ORAUser, D.3.19

プロパティ管理

OraDAVの使用, 9.1.4

PROPFINDディレクティブ, 9.1.4 PROPFINDメソッド

セキュリティに関する考慮事項, 9.1.5

PROPPATCHディレクティブ, 9.1.4 保護

Webサイト, B.9

Proxy Plug-In

動作, A.1.3.3

構成

oproxy.serverlist, A.1.3.2.1

oproxy.servername.alias, A.1.3.2.4, A.1.3.2.5

oproxy.servername.hostname, A.1.3.2.2

oproxy.servername.port, A.1.3.2.3

oproxy.servername.urlrule, A.1.3.2.6

プロキシ構成ファイルのパラメータ, A.1.3.2

プロキシ・サーバー定義ファイル, A.1.3.1

IIS, A.1 Sun Java System Webサーバー

Proxy Plug-In, A.1

トラブルシューティング

「ファイルが見つかりません」というエラー, A.1.9

ページ上の壊れているイメージ・リンク, A.1.9

文字化け, A.1.9

不完全なページ, A.1.9

不適切なURL, A.1.9

リスナーを起動できない場合, A.1.9

解析エラー, A.1.9

部分URLリクエストのエラー, A.1.9

プロキシ・サーバー定義ファイル, A.1.9

リダイレクト, A.1.9

REMOTE_ADDR, A.1.9

Sun Java Oneのサーバー・エラー, A.1.9

予期しないページの表示, A.1.9

プロキシ・サーバー, A.1.3.1, 用語集 プロキシ・サーバー定義ファイル, A.1.3.1 公開鍵, 用語集 公開鍵暗号, 用語集 公開鍵暗号, 用語集 公開鍵と秘密鍵のペア, 用語集

R

再起動, 4.1.4

コンテンツの再構築

OraDAVの使用, 9.1.4

リライト・ログ, C.6.1, C.6.1 RewriteLogLevel, C.6.1 ルートの接頭辞

OraDAVおよび, D.3.15

RSA, 用語集

S

スケーラビリティ, 用語集

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

Secure Sockets Layer, 用語集

Secure Sockets Layer, 4.4.1

セキュリティ

認証, 8.1

認可, 8.1

秘匿性, 8.1

PROPFINDメソッド, 9.1.5

WebDAV, 9.3

サービス名

OraDAVおよび, D.3.16

SID値

OraDAVおよび, D.3.16

シングル・サインオン, 8.1, 用語集

パートナ・アプリケーション, 8.4.2.2

sso_conf, A.2.3

指定

リスナー・アドレス, 6.1

リスナー・ポート, 6.1

ログ・ファイルの場所, C.6

ログ・ファイル, C.6

アクセス・ログ, 7.1.2

エラー・ログ, C.6.3

ログの切替え, 7.2.1.3

PIDファイル, 4.1.1

リライト・ログ, C.6.1, C.6.1

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

SQL NCHARデータ型, 3.8.1.3 SSL, 4.4.1, 用語集 SSL HWアクセラレーション・サポート, 1.1.1.1 SSLAccelerator, D.4.1

nFast, D.4.1

SSLCARevocationFile, D.4.2 SSLCARevocationPath, D.4.3 SSLCipherSuite, D.4.4

タグ, D.4.4

SSLEngine, D.4.5 SSLLog, D.4.6 SSLLogLevel, D.4.7 SSLMutex, D.4.8 SSLOptions, D.4.9

CompatEnvVars, D.4.9

ExportCertData, D.4.9

FakeBasicAuth, D.4.9

OptRenegotiate, D.4.9

StdEnvVars, D.4.9

StrictRequire, D.4.9

SSLPassPhraseDialog, D.4.10 SSLProtocol, D.4.11 SSLReqiureSSL, D.4.13 SSLRequire, D.4.12

変数

SSL, D.4.12

標準, D.4.12

SSLSessionCache, D.4.14 SSLSessionCacheTimeout, D.4.15 SSLVerifyClient, D.4.16 SSLWallet, D.4.17 SSLWalletPassword, D.4.18 SSO Plug-In

構成

ディレクティブ, A.2.4.1

ディレクティブ

IpCheck, A.2.4.1

LoginServerFile, A.2.4.1

IIS, A.2 トラブルシューティング

HTML認証, A.2.7

Oracle依存性ライブラリ, A.2.7

sso_conf, A.2.3 起動, 4.1.2 StdEnvVars, D.4.9 停止, 4.1.3 StrictRequire, D.4.9 サポート, 1.4 シンボリック・リンク

コンテナとの使用の回避, 9.2.1

シンボリック・リンク, コンテナとの使用の回避, 9.2.1

T

トレース・レベル

OraDAVおよび, D.3.18

トラブルシューティング, C

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

権限拒否, C.3

U

urlrule, A.1.3.2.6

ユーザー

OraDAV, D.3.19

UTF8, 3.8.1.3

W

ウォレット, 用語集

デジタル, 用語集

Wallet Resource Locator, 用語集 WebDAV, 9

HTTP Serverへの接続, 9.1.1

プロトコル, 9.1.1

セキュリティに関する考慮事項, 9.3

WRL, 用語集

X

X.509, 用語集

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