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

前
 
次
 

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の起動、停止および再起動

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


注意:

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


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

ステータスが表示されたMASホームページ
図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.confPidFileディレクティブで、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をインストールするときには、次のいずれかの方法を選択できます。

ソフトウェアのみをインストールすることを選択した場合は、後で構成ツール(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コンポーネントを作成すると、ポートが自動的に割り当てられます。ただし、次のパラメータを使用すると、手動でポートを指定できます。

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

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

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_perlmod_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の構成

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構成」ページでは、次のタスクを実行できます。

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 fcntlAcceptMutex sysvsemに変更します(2箇所)。

LockFileディレクティブをコメントアウトします(3箇所)。

Solaris

ロック・ファイルは必要ありません。プロセス間pthread mutexが、推奨されるプロセス間mutexの実装です。

AcceptMutex fcntlAcceptMutex 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