ヘッダーをスキップ
Oracle Fusion Middleware Oracle HTTP Server管理者ガイド
11g リリース1 (11.1.1)
B55928-04
  ドキュメント・ライブラリへ移動
ライブラリ
製品リストへ移動
製品
目次へ移動
目次
索引へ移動
索引

前
 
次
 

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モジュールの概要

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

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

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の説明が続きます
「図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の構成パラメータ

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パラメータについて説明します。

9.2.1.1 ORAAllowIndexDetails

OraDAVを使用できないOracle HTTP Server環境では、mod_davはHTTPのGETリクエストにレスポンスを返しません。かわりに、GETリクエストには通常のOracle HTTP Serverのメカニズムを使用してレスポンスが返されます。

ORAAllowIndexDetailsパラメータは、DAVコレクションに対するGETリクエストが実行され、ディレクトリ内でindex.htmlファイルが見つからない場合に、OraDAVがレスポンスを返す方法を制御します。典型的なOracle HTTP Server環境では、別のモジュールが制御を引き継ぎ、そのコレクション内のリソース(ファイル)の索引を表すクライアントHTMLを自動的に生成してレスポンスを返します。

OraDAVが使用可能なOracle HTTP Serverでは、コレクションに対するGETリクエストにレスポンスを返すときに、同様のアクションが実行されます。ORAAllowIndexDetailsTRUEに設定されている場合、生成される索引には説明列(各リソースの詳細情報へのリンク付き)が含まれています。

デフォルト値はFALSEですが、この場合、生成される索引には説明列は表示されません。また、URLに?detailsが使用されている場合は無視され、URLのコンテンツが返されます。

9.2.1.2 ORAAltPassword

ORAUserパラメータで指定したユーザーのパスワードを指定します。OraAltPasswordでは、BASE64エンコード文字列を使用します。パスワードをエンコードされない平文のままORAUserパラメータとともに表示することを避ける場合、このパラメータで代替パスワードを提供します。

ORAPasswordパラメータを指定しないと、パスワードにはORAAltPasswordパラメータが使用されます。

9.2.1.3 ORACacheDirectory

ディスク・キャッシュ操作に使用するディレクトリを指定します。このパラメータを指定しないと、OraDAV操作のディスク・キャッシュは実行されません。

指定されたディレクトリが存在し、Oracle HTTP Serverによって読取り可能である必要があります。ただし、通常のGETリクエストでは表示できないようにする必要があります。このディレクトリが通常のGETリクエストで表示できると、キャッシュ・ディレクトリにアクセスするユーザーがセキュリティ対策を迂回する可能性があります。

このディレクトリは、最終アクセス時刻がサポートされているファイル・システム上に置く必要があります。Microsoft Windowsシステムの場合、これはFATではなくNTFSでフォーマットされたパーティションを使用することを意味します。

キャッシュ・ディレクトリをキャッシュ以外の目的に使用しないでください。キャッシュ・ディレクトリ内のファイルは、削除されることがあります。

ORACacheDirectoryパラメータを使用する場合は、ORACacheTotalSizeパラメータも使用する必要があります。

9.2.1.4 ORACacheMaxResourceSize

ディスク・キャッシュ操作用のキャッシュ可能な最大リソース・サイズを指定します。整数の後にKB(キロバイト)またはMB(メガバイト)を指定できます。整数の後に単位を指定しない場合、デフォルトの単位はバイトです。

このパラメータにより、Web管理者は大きなメディア・ファイルによってキャッシュが独占されるのを防ぐことができます。ただし、キャッシュするファイルが大きい場合の方が、パフォーマンスは向上します。

例9-2は、ORACacheMaxResourceSizeの例を示しています。

例9-2 ORACacheMaxResourceSizeパラメータ

DAVParam ORACacheMaxResourceSize 1024KB

例9-2の設定では、OraDAVは1MBを超えるリソースをキャッシュできません。

9.2.1.5 ORACachePrunePercent

キャッシュがいっぱいになった場合に解放する際の、ディスク・キャッシュの使用率を指定します。ディスク・キャッシュがいっぱいになると、キャッシュのディスク使用率がORACachePrunePercentの値に減少するまで、キャッシュ内の最も古いファイルから順に削除されます。デフォルト値は25です。

9.2.1.6 ORACacheTotalSize

ディスク・キャッシュ操作に使用するキャッシュのサイズを指定します。整数の後にMB(メガバイト)またはGB(ギガバイト)を指定できます。整数の後に単位を指定しない場合、デフォルトの単位はバイトです。

例9-3 ORACacheTotalSizeパラメータ

DAVParam ORACacheTotalSize 1GB

ORACacheDirectoryパラメータを使用する場合は、ORACacheTotalSizeパラメータも使用する必要があります。

ORACacheTotalSize値は、Webサイトの重要な部分、または最もアクセス頻度の高い全ファイルに25%以上の領域を追加したもののうち、どちらかを十分に保持できる大きさにする必要があります。値が小さすぎる場合、BLOBデータをファイル・システムに書き込み、新しいキャッシュ・リクエストを受信するためにファイルを削除するという追加の処理が発生するため、全体のパフォーマンスが低下します。

実際にディスク・キャッシュに使用される領域は、ORACacheTotalSize値を超えて最大ORACacheMaxResourceSize値に達する場合があります。また、ファイル・システムのブロック・サイズが原因となって、キャッシュが使用するディスク領域がORACacheTotalSize値を超えることのないよう注意してください。

9.2.1.7 ORAConnect

接続先のOracle Databaseを指定します。ORAConnectパラメータを使用すると、tnsnames.oraファイルに含まれていないデータベースに接続できます。値には次の書式を使用する必要があります。

database_host:database_port:database_sid

例9-4は、この例を示しています。

例9-4 ORAConnectパラメータ

DAVParam ORAConnect my-pc.example.com:1521:mysid

Oracle Databaseに接続するには、ORAConnect、ORAConnectSNまたはORAServiceパラメータのうち、いずれか1つのみを指定する必要があります。tnsnames.oraファイルに含まれるデータベースに接続するには、ORAServiceパラメータを使用します。

9.2.1.8 ORAConnectSN

接続先のOracle Databaseを指定します。ORAConnectSNパラメータを使用すると、tnsnames.oraファイルに含まれていないデータベースに接続できます。このパラメータの値は文字列で、次の書式を使用する必要があります。

database-host:database-port:database-service-name

Oracle Databaseに接続するには、ORAConnectまたはORAServiceパラメータのうち、いずれか1つのみを指定する必要があります。tnsnames.oraファイルに含まれるデータベースに接続するには、ORAServiceパラメータを使用します。

9.2.1.9 ORAContainerName

ORAUserパラメータで指定されたデータベース・ユーザー(スキーマ)内に、PL/SQパッケージとデータベース表のセットであるコンテナが存在している必要があります。これによって、データベースに階層構造でファイルを格納できます。ORAContainerNameパラメータでは、そのロケーションで使用するコンテナの名前を指定します。このパラメータの値は、20文字以下の文字列です。たとえば、<Location/project1>などです。

9.2.1.10 ORAException

PL/SQLパッケージで例外が発生した場合、Oracle HTTP Serverログ・ファイルerror_logにPL/SQLスタック・ダンプを書き込みます。値は、RAISEまたはNORAISEです。デフォルト値はNORAISEです。


注意:

このパラメータはデバッグに使用すると便利ですが、大量のディスク領域を使用し、システムのパフォーマンスを低下させる場合があります。

9.2.1.11 ORAGetSource

ファイル・システムへのアクセスにのみ適用されます。このパラメータでは、1つ以上のファイル拡張子を指定して、実行するのではなく編集のために開くファイルのタイプを識別します。ファイル拡張子にはピリオド(.)を含めます。また、カンマを使用してファイル拡張子を区切ります。このパラメータの値は、二重引用符で囲みます。次に例を示します。

".htm, .html, .jsp1, .jsp2"

ORAGetSourceパラメータを使用すると、通常はGET操作の結果として実行されるファイルを編集のために開くことができます。


注意:

.jspファイルおよび.sqljspファイルはデフォルトで編集用に開かれます。ORAGetSourceパラメータで指定する必要はありません。

9.2.1.12 ORALockExpirationPad

待機時間の長いネットワーク環境で、Microsoft Officeにおけるロックのリフレッシュ動作を調整するために使用します。Microsoft Officeは、ロックが期限切れになる直前にDAVリソースのロックをリフレッシュしようとします。Microsoft OfficeクライアントとDAVサーバー間にネットワークの輻輳があると、ロックの期限切れ後にリフレッシュ・リクエストが着信することがあります。値は秒数です。デフォルト値は0(ゼロ)です。

OraDAVは、期限切れになったリソースのロックを定期的に調べて削除します。ORALockExpirationPadパラメータを使用すると、ロックが期限切れになってから削除されるまでの期間を追加できます。たとえば、ORALockExpirationPadを120に設定すると、期限切れ時刻以降少なくとも2分間は、OraDAVでロックが削除されません。

9.2.1.13 ORAPackageName

OraDAVコマンドの発行時にコールするOraDAVドライバの実装を識別します。デフォルトはOraDAVドライバ、つまりORDSYS.DAV_API_DRIVERパッケージです。

9.2.1.14 ORAPassword

ORAUserパラメータで指定したユーザーのパスワードを指定します。

ORAPasswordパラメータでパスワードをエンコードされていない文字列として指定しない場合は、ORAAltPasswordパラメータを使用して、BASE64エンコード文字列としてパスワードを指定できます。

9.2.1.15 ORARootPrefix

データベース・リポジトリ内のルートとして使用されるディレクトリを指定します。このパラメータを指定した場合、WebDAVクライアントはこのディレクトリをルートとして認識し、このディレクトリに至るリポジトリ・ディレクトリは認識できません。値の末尾にはスラッシュ(/)を含めないでください。

例9-5は、データベース・リポジトリにディレクトリ/first/second/third/fourthが含まれる場合の例です。

例9-5 ORARootPrefixパラメータ

DAVParam ORARootPrefix /first/second

WebDAVクライアントは/thirdディレクトリを認識し、/third/fourthディレクトリにナビゲートできますが、/firstまたは/first/secondディレクトリは認識もナビゲートもできません。

9.2.1.16 ORAService

接続先のOracle Databaseを指定します。tnsnames.oraファイル内のSID値と一致する値を指定する必要があります。

Oracle Databaseに接続するには、ORAConnectORAConnectSNまたはORAServiceパラメータのうち、いずれか1つのみを指定する必要があります。tnsnames.oraファイルに含まれていないデータベースに接続するには、ORAConnectまたはORAConnectSNパラメータを使用します。

9.2.1.17 ORATraceEvents

デバッグ用にOracle HTTP Serverエラー・ログに記録するイベントのタイプを指定します。このパラメータの値は、次のいずれかです。

  • getsource: ファイル・システムに対するGETアクティビティをトレースします。

  • hreftoutf8: ネイティブなキャラクタ・セットからUTF-8へのHREF変換をトレースします。

  • request: mod_oradavによって処理されるDAVリクエスト、レスポンスおよびステータス値をトレースします。


注意:

このパラメータはデバッグに使用すると便利ですが、大量のディスク領域を使用し、システムのパフォーマンスを低下させる場合があります。

9.2.1.18 ORATraceLevel

Oracle HTTP Serverエラー・ログに記録するデバッグのレベル(トレース文)を指定します。最低レベルは0(デフォルト)で、トレースを実行しません。最高レベルは4で、最大限のトレースを実行します。このパラメータの値は、0から4の整数です。

デバッグのレベルとして大きい数値を設定すると、より多くの情報がエラー・ログ・ファイルに書き込まれます。


注意:

このパラメータを大きい数値に設定すると、デバッグの場合には便利ですが、大量のディスク領域を使用するため、システムのパフォーマンスが低下します。

9.2.1.19 ORAUser

ORAConnectORAConnectSNまたはORAServiceパラメータで指定したサービスへの接続時に使用するデータベース・ユーザー(スキーマ)を指定します。

このユーザーには、次の権限が必要です。

  • CONNECT

  • RESOURCE

  • CREATE TABLESPACE

  • DROP TABLESPACE

  • CREATE ANY TRIGGER

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>

ファイルを保存し、Oracle HTTP Serverを再起動します。AdvConfig下のmod_oradev.confファイルを編集するオプションが表示されます。

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の併用

ディスク・キャッシュによるパフォーマンスの改善度は、中型から大型のファイル(約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でのグローバリゼーション・サポートに関する考慮事項

DAVOraUseNLSLangディレクティブは、ローカル・ファイル・システムへのアクセスに対するグローバリゼーション・サポートを提供します。このディレクティブでは、ファイル・システム内のファイル名を、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の説明が続きます
「図9-2 OraDAVからShiftJIS文字を使用したファイル・システムへのアクセス」の説明

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

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

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

    <Location /dav_public>
      DAV On
      DAVOraUseNLSLang 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/<ohs_name>/moduleconf

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