4 Oracle HTTP Serverの実行

Oracle HTTP Serverを実行するには、WebLogicまたはスタンドアロン環境にOracle HTTP Serverインスタンスを作成して管理します。

この章では、インスタンスの作成、基本的なOracle HTTP Serverのタスクの実行、およびOracle HTTP Serverをリモートで管理する方法について説明します。次の項が含まれます:

開始する前に

Oracle HTTP Serverを実行する前に、完了しておく前提条件のタスクがあります。これらのタスクには、サーバーのインストールと構成、およびWebLogic Serverとノード・マネージャの起動が含まれます。

  1. Oracle HTTP Serverのインストールと構成の説明に従って、Oracle HTTP Serverをインストールおよび構成します。
  2. Oracle HTTP Server管理ホストでは、SSLはデフォルトで有効です。新たに作成されるインスタンスの管理ホストは、自己署名証明書を含むdefaultウォレットを使用するように構成されます。セキュリティ上の理由から、「管理ポート用のSSLの構成」の説明に従ってCA署名証明書を使用する構成にした後で、管理ホストを変更する必要があります。
  3. WebLogic ServerドメインでOracle HTTP Serverを実行している場合は、Oracle WebLogic Serverサーバーの起動と停止の管理サーバーの起動と停止に従ってWebLogic Serverを起動します。

    ノート:

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

    • WindowsプラットフォームでOracle HTTP Serverが機能するには、そのシステムにMicrosoft Visual C++ランタイム・ライブラリがインストールされている必要があります。『Oracle HTTP Serverのインストールと構成』を参照してください。

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

Oracle HTTP Serverインスタンスの作成

構成ウィザードを使用すると、ドメインの作成時に複数のOracle HTTP Serverインスタンスを同時に作成できます。

WebLogic Server Domain (FullまたはRestricted JRFドメイン・タイプ)を作成している場合、インスタンスを作成する必要はありません。インスタンスを作成しないことを選択した場合は、警告が表示されますが、構成プロセスは続行できます。

スタンドアロン・ドメインを作成している場合、Oracle HTTP Serverインスタンスはデフォルトで作成されます。

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

ノート:

予約済の範囲内(通常1024未満)にあるTCPポートを使用するOracle HTTP Serverインスタンスを作成しようとしている場合、サーバーを特権ポートにバインドできるように追加の構成を行う必要があります。「特権ポートでのOracle HTTP Serverインスタンスの起動(UNIXのみ)」を参照してください。

WebLogic ServerドメインでのOracle HTTP Serverインスタンスの作成

カスタムWLSTコマンドohs_createInstance()、あるいはOracle Fusion Middlewareインフラストラクチャの一部としてインストールされているFusion Middleware Controlを使用して、WebLogic Serverドメインの中に管理対象のOracle HTTP Serverインスタンスを生成できます。次の項で、これらの手順について説明します。

ノート:

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

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

WLSTを使用してWebLogic ServerドメインにOracle HTTP Serverインスタンスを作成できます。次のステップに従います。

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

    LinuxまたはUNIX: $ORACLE_HOME/oracle_common/common/bin/wlst.sh

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

  2. WLSTに接続します。
    • WebLogic Serverドメインでは:

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

      たとえば:

      > connect('weblogic', '<yourpassword>', 'abc03lll.myCo.com:7001')
      
  3. インスタンスおよびドメイン作成時に割り当てられたマシン名を指定してohs_createInstance()コマンドを使用し、インスタンスを作成します。
    > ohs_createInstance(instanceName='ohs1', machine='abc03lll.myCo.com', [listenPort=XXXX], [sslPort=XXXX], [adminPort=XXXX]) 
    

    ノート:

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

    たとえば:

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

    ノート:

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

ノート:

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

WLSTを使用したOracle HTTP Serverインスタンスのキーストアとの関連付け

構成ウィザードを使用してコロケート・モードでOracle HTTP Serverインスタンスを作成した後で、ohs_updateInstancesカスタムWLSTコマンドを使用してインスタンスとキーストアを関連付けます。

このコマンドでは、ドメイン内のすべてのOracle HTTP Serverインスタンス間で解析が行われ、次のタスクが実行されます。

  • 存在しない場合、新しいキーストアが<instanceName>_defaultという名前で作成されます。

  • 新しく作成したキーストアにデモンストレーション用の証明書demoCASignedCertificateを入れます。

  • キーストアをインスタンスの場所にエクスポートします。

「ohs_updateInstances」を参照してください。

Oracle HTTP Serverインスタンスとキーストアを関連付けるには:

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

    LinuxまたはUNIX: $ORACLE_HOME/oracle_common/common/bin/wlst.sh

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

  2. 管理サーバー・インスタンスに接続します。
    connect('<userName', '<password>', '<host>:<port>')  
    
  3. ohs_updateInstancesカスタムWLSTコマンドを実行します。たとえば:
    ohs_updateInstances()
Fusion Middleware Controlを使用したインスタンスの作成

Oracle Fusion Middlewareインフラストラクチャの一部としてインストールされているFusion Middleware Controlを使用して、WebLogic Serverドメインの中にOracle HTTP Serverインスタンスを生成できます。次のステップに従います。

  1. Fusion Middleware Controlにログインし、Oracle HTTP Serverインスタンスを作成するWebLogic Serverドメインのシステム・コンポーネント・インスタンスのホームページに移動します。
  2. WebLogic Serverドメインのメニューを開き、「管理」を選択してから、「OHSの作成/削除」を選択します。

    ノート:

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

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

  3. 「作成」をクリックします。

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

  4. 「インスタンス名」で、Oracle HTTP Serverインスタンスの一意の名前(ohs_2など)を入力します。
  5. 「マシン名」で、ドロップダウン・コントロールをクリックし、インスタンスを関連付けるマシンを選択します。
  6. 「OK」をクリックします。

    「OHSインスタンス」ページが再表示され、確認メッセージと新しいインスタンスが示されます。ポート番号は自動的に割り当てられます。

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

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

インスタンスのプロビジョニングについて

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

  • マスター(ステージング)コピーは次の場所にあります。

    DOMAIN_HOME/config/fmwconfig/components/OHS/componentName

  • ランタイムは次の場所にあります。

    DOMAIN_HOME/config/fmwconfig/components/OHS/instances/componentName

    実行時にインスタンスを提供するために、ノード・マネージャが実行中である必要があります。

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

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

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

スタンドアロン・ドメインでのOracle HTTP Serverインスタンスの作成

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

基本的なOracle HTTP Serverタスクの実行

WLSTまたはFusion Middleware Controlを使用して、基本的なOracle HTTP Serverの管理タスクを実行できます。

プロセスID (PID)ファイルの詳細、およびWLSTまたはFusion Middleware Controlを使用して基本的な管理タスクを実行する方法については、次のタスクを参照してください。

PIDファイルの理解

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

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

DOMAIN_HOME/servers/<componentName>/logs

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

関連項目:

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

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

この項には、Fusion Middleware ControlおよびWLSTを使用してOracle HTTP Serverを起動する方法に関する情報が含まれます。

ノート:

WindowsプラットフォームでOracle HTTP Serverが機能するには、そのシステムにMicrosoft Visual C++ランタイム・ライブラリがインストールされている必要があります。『Oracle HTTP Serverのインストールと構成』を参照してください。

この項には次のトピックが含まれます:

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

Fusion Middleware Controlで、Oracle HTTP Serverのホーム・ページからOracle HTTP Serverを起動します。HTTP Serverのホーム・ページに移動して、次のいずれかを実行します。

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

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

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

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

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

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

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

  • ページ・ヘッダーから「起動」を選択します。

    インスタンスがUNKNOWNの状態で起動します。

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

WLSTを使用してOracle HTTP Serverインスタンスを起動するには、WebLogic Serverドメインでstart()コマンドを使用するか、スタンドアロン・ドメインでnmStart()を使用します。次の表にこれらのコマンドを示します。

ノート:

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

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

これらのコマンドでは、「Oracle HTTP Serverインスタンスの作成」に記載されているようにOracle HTTP Serverインスタンスを作成して、WLSTが実行していることを想定しています。

ドメイン 構文

WebLogic

start('instanceName')

または

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

または

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

スタンドアロン

nmStart(serverName='name', serverType='type')
nmStart(serverName='ohs1', serverType='OHS')
コマンド行を使用したOracle HTTP Serverインスタンスの起動

管理サーバーを含むホストからstartComponentスクリプトを起動して、コマンド行からOracle HTTP Serverインスタンスを起動できます。

  1. ノード・マネージャが稼働していることを確認します。
  2. 次のコマンドを入力します。

    LinuxまたはUNIX: $DOMAIN_HOME/bin/startComponent.sh componentName

    Windows: DOMAIN_HOME\bin\startComponent.cmd componentName

    たとえば:

    $DOMAIN_HOME/bin/startComponent.sh ohs1
    

    startComponentスクリプトはノード・マネージャとコンタクトし、nmStart()コマンドを実行します。

  3. プロンプトが表示された場合、ノード・マネージャのパスワードを入力します。システムは次のメッセージにより応答します。
    Successfully started server componentName...
    Successfully disconnected from Node Manager...
    
    Exiting WebLogic Scripting Tool.
    

ノート:

このスクリプトを使用して、Oracle HTTP Serverインスタンスをリモートで起動することもできます。その場合、スクリプトはコンポーネントの場所を判別するために構成を読み取ります。このスクリプトは管理サーバーと同じシステムから実行する必要があります。「Oracle HTTP Serverのリモート管理」を参照してください。
ノード・マネージャのパスワードの格納

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

  1. プロンプトに次のコマンドを入力します。
    $DOMAIN_HOME/bin/startComponent.sh componentName storeUserConfig
    

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

  2. パスワードを入力します。

    システムは次のメッセージにより応答します。

    Creating the key file can reduce the security of your system if it is not kept
    in a secured location after it is created. Creating new key...
    The username and password that were used for this WebLogic NodeManager
    connection are stored in $HOME/.wlst/nm-cfg-myDomainName.props and 
    $HOME /.wlst/nm-key-myDomainName.props.
特権ポートでのOracle HTTP Serverインスタンスの起動(UNIXのみ)

警告:

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

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

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

  1. スーパー・ユーザーとして次のステップを実行して、ORACLE_HOME/ohs/bin/launchファイルを更新します(スーパー・ユーザー権限へのアクセス権がない場合、システム管理者にこれらのステップを実行してもらいます)。

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

      chown root $ORACLE_HOME/ohs/bin/launch
      
    2. ファイルの権限を次のように変更します。

      chmod 4750 $ORACLE_HOME/ohs/bin/launch
       

      ルート権限が必要なステップが完了しました。

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

  2. httpd.confファイルのUserおよびGroupディレクティブを構成します。

    User用に構成されたユーザーIDは、インスタンスを作成したのと同じユーザーIDである必要があります。Group用に構成されたグループIDは、インスタンスを作成するのに使用するのと同じグループIDである必要があります。Oracle HTTP Server構成ファイルを参照してください。Oracle HTTP Serverを構成して別のユーザーIDで実行するには、別のユーザーとしてのOracle HTTP Serverインスタンスの起動(UNIXのみ)を参照してください。

  3. Oracle HTTP Serverインスタンスの停止で説明されている停止方法のいずれかを使用することで、インスタンスを停止(実行中の場合)します。

  4. Oracle HTTP Serverインスタンスの起動で説明されている起動方法のいずれかを使用することで、インスタンスを起動します。

別のユーザーとしてのOracle HTTP Serverインスタンスの起動(UNIXのみ)

UNIXシステムの場合、Oracle HTTP Serverのワーカー・プロセス(接続を受け入れ、リクエストを処理するプロセス)は、インスタンスを作成するのに使用されるユーザーIDとは異なるユーザーIDとして実行するように構成できます。

特権ポートでのOracle HTTP Serverインスタンスの起動(UNIXのみ)の指示に従い、必要なユーザーIDでUserディレクティブを構成します。構成されたユーザーIDは、インスタンス・ディレクトリを含むグループと同じグループに属している必要があります。Groupディレクティブも、インスタンスを作成するのに使用するのと同じグループに構成および設定される必要があります。

ノート:

  • Oracle HTTP Serverの親プロセスおよびロギング処理はルートとして実行し、これらのプロセスは接続を受け入れることもリクエストを処理することもありません。

  • ノード・マネージャがSSLリスナーを使用するように構成されている場合、startComponent.shまたはnmConnectコマンドが別のユーザーとして正常に実行できるように、他のユーザーがノード・マネージャにより使用されるSSLトラスト・ストアにアクセスする適切な権限を持っていることを確認します。

    『Oracle WebLogic Serverノード・マネージャの管理』ノード・マネージャの概要に関する項を参照してください。

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

この項には、Fusion Middleware ControlおよびWLSTを使用してOracle HTTP Serverを停止する方法に関する情報が含まれます。Oracle HTTP Serverが停止すると、他のサービスも影響を受ける場合がある点に注意してください。

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

Fusion Middleware Controlで、Oracle HTTP Serverのホーム・ページからOracle HTTP Serverを停止できます。Oracle HTTP Serverのホーム・ページに移動して、次のいずれかを実行します。

  • Oracle HTTP Serverのホームページから、次の手順を実行します。

    1. 停止するサーバー・インスタンスを選択します。

    2. サーバー・インスタンスのホーム・ページで、「Oracle HTTP Server」ドロップダウン・メニューから、「コントロール」「停止」の順に選択します。

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

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

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

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

  • サーバー・インスタンスのホーム・ページのページ・ヘッダーから、「停止」を選択します。

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

WLSTを使用してOracle HTTP Serverを停止できます。スクリプト・ツール内から次のコマンドのいずれかを使用します。

ノート:

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

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

ドメイン 構文

WebLogic

shutdown('serverName')
shutdown('ohs1')

スタンドアロン

nmKill(serverName='serverName', serverType='type')Foot 1
nmKill(serverName='ohs1', serverType='OHS')

脚注1

nmKill()もWebLogicドメインで機能します。

警告:

パラメータを指定せずにshutdown()を実行すると、WebLogic Serverが終了し、WLSTを終了します。Oracle HTTP Serverは引き続き実行されます。回復するには、WebLogic Serverを再起動し、WLSTを立ち上げ、AdminServerに再接続します。次に、Oracle HTTP Serverインスタンス名でシャットダウンを再実行します。

コマンド行からのOracle HTTP Serverインスタンスの停止

管理サーバーを含むホストからstopComponentスクリプトを起動して、コマンド行からOracle HTTP Serverインスタンスを停止できます。

  1. 次のコマンドを入力します。
    $DOMAIN_HOME/bin/stopComponent.sh componentName
    

    たとえば:

    $DOMAIN_HOME/bin/stopComponent.sh ohs1
    

    このコマンドは、WLSTを起動して、nmKill()コマンドを実行します。ノード・マネージャが実行中ではない場合には、stopComponentコマンドは動作しません。

  2. プロンプトが表示された場合、ノード・マネージャのパスワードを入力します。

    「ノード・マネージャのパスワードの格納」の説明に従って、storeUserConfigオプションを指定してOracle HTTP Serverインスタンスを起動した場合、プロンプトは表示されません。

    サーバーが停止すると、システムは次のように応答します。

    Successfully killed server componentName...
    Successfully disconnected from Node Manager...
    
    Exiting WebLogic Scripting Tool.

ノート:

このスクリプトを使用して、Oracle HTTP Serverインスタンスをリモートで停止することもできます。その場合、スクリプトはコンポーネントの場所を判別するために構成を読み取ります。このスクリプトは管理サーバーと同じシステムから実行する必要があります。「Oracle HTTP Serverのリモート管理」を参照してください。

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

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

Oracle HTTP Serverのスタンドアロン・バージョンを実行する場合、オフラインまたは「agent」WLSTコマンドを使用する必要があります。これらのコマンドについては、それぞれの適切な箇所で説明します。

『Oracle® Fusion Middleware管理者ガイド』Oracle WebLogicスクリプト作成ツール(WLST)の使用の開始に関する項を参照してください。

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

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

次の項には、Fusion Middleware ControlおよびWLSTを使用してOracle HTTP Serverを再起動する方法に関する情報が含まれます。

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

Fusion Middleware Controlで、Oracle HTTP Serverのホーム・ページからOracle HTTP Serverを再起動します。Oracle HTTP Serverのホーム・ページに移動して、次のいずれかを実行します。

  • Oracle HTTP Serverのホームページから、次の手順を実行します。

    1. 再起動するサーバー・インスタンスを選択します。「コントロール」を選択します。

    2. インスタンスのホーム・ページで「起動」をクリックするか、「Oracle HTTP Server」ドロップダウン・メニューから、「コントロール」「再起動」の順に選択します。

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

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

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

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

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

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

ノート:

  • WebLogicドメインとスタンドアロン・ドメインでは、これらのコマンドが動作するにはノード・マネージャが起動している(すなわち、状態がRUNNINGである)必要があります。ノード・マネージャが停止している場合は、エラー・メッセージが表示されます。

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

  • nmSoftRestartコマンドもWebLogicドメインで使用できます。これを行うには、まずnmConnectコマンドを使用してノード・マネージャに接続する必要があります。

ドメイン 構文

WebLogic

softRestart('serverName')
softRestart('ohs1')

スタンドアロン

nmSoftRestart(serverName='name', serverType='type')
nmSoftRestart(serverName='ohs1', serverType='OHS')
コマンドラインでのOracle HTTP Serverインスタンスの再起動

コマンドラインでOracle HTTP Serverインスタンスを再起動するには、restartComponentスクリプトを使用します。

次のコマンドを実行します。

$DOMAIN_HOME/bin/restartComponent.sh componentName

たとえば:

$DOMAIN_HOME/bin/restartComponent.sh ohs1

このコマンドは、WLSTを起動して、nmSoftRestart()コマンドを実行します。ノード・マネージャが実行中ではない場合には、restartComponentコマンドは動作しません。プロンプトが表示された場合、ノード・マネージャのパスワードを入力します。

「ノード・マネージャのパスワードの格納」の説明に従って、storeUserConfigオプションを指定してインスタンスを起動した場合、ノード・マネージャのパスワードのプロンプトは表示されません。

サーバーが再起動すると、システムは次のメッセージで応答します。

Successfully restarted server componentName...
Successfully disconnected from Node Manager...
Exiting WebLogic Scripting Tool.

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

この項には、実行中のOracle HTTP Serverインスタンスのステータスを確認する方法に関する情報が含まれます。Oracle Fusion Middlewareインフラストラクチャの一部としてインストールされているFusion Middleware Controlから、またはWLSTを使用して、この情報を確認できます。

この項には次のトピックが含まれます:

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

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

下矢印は、サーバー・インスタンス(この場合はohs_2)が実行中でないことを示します。

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

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

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

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

ノート:

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

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

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

  • nmServerStatusコマンドもWebLogicドメインで使用できます。これを行うには、nmConnectコマンドを使用して先にノード・マネージャに接続する必要があります。

ドメイン 構文

WebLogic

state('serverName')
state('ohs1')

スタンドアロン

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

ノート:

このコマンドは、存在しないコンポーネントとUNKNOWN状態の実在するコンポーネントを区別しません。したがって、存在しないインスタンスを入力した場合(タイプミスなど)には、UNKNOWN状態が返ります。

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

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

この項には次のトピックが含まれます:

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

WebLogic Serverドメインでは、カスタムWLSTコマンドohs_deleteInstance()、あるいはOracle Fusion Middlewareインフラストラクチャの一部としてインストールされているFusion Middleware Controlを使用できます。次のトピックでは、これらの手順について説明します。

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

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

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

  • すべてのOracle HTTP Server構成ディレクトリおよびその内容が削除されます(OHS/instanceNameやOHS/instances/instanceNameなど)。これらのパスは構成のランタイムおよびマスター・コピーの両方を参照しています。

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

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

ノート:

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

WLSTを使用してインスタンスを削除するには:

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

    LinuxまたはUNIX: $ORACLE_HOME/oracle_common/common/bin/wlst.sh

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

  2. WLSTに接続します。
    • WebLogic Serverドメインでは:

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

      たとえば:

      > connect('weblogic', '<yourpassword>', 'abc03lll.myCo.com:7001')
      
  3. コマンド・プロンプトで次のように入力
    ohs_deleteInstance(instanceName='instanceName')
    

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

    ohs_deleteInstance(instanceName='ohs1')
    

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

ノート:

状態がUNKNOWNの新しく作成されたOracle HTTP Serverインスタンス(たとえば、構成ウィザードを使用して作成)の場合、インスタンスを起動して停止し、状態をSHUTDOWNに変えることができます。その後、正常に削除できます。

状態がRUNNINGのインスタンスの場合、最初にインスタンスを停止して状態をSHUTDOWNにしてから、正常に削除できます。

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

Fusion Middleware Controlを使用してOracle HTTP Serverインスタンスを削除するには:

ノート:

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

  1. Fusion Middleware Controlにログインします。削除するOracle HTTP Serverインスタンスを含むWebLogic Serverドメインのシステム・コンポーネント・インスタンスのホームページに移動します。
  2. WebLogic Serverドメインのメニューを開き、「管理」を選択してから、「OHSの作成/削除」を選択します。
  3. 「OHSインスタンス」ページで、削除するインスタンスを選択し、「削除」をクリックします。
  4. 確認ウィンドウで「はい」をクリックして削除を確認します。

    選択したOracle HTTP Serverインスタンスが削除されたことを示す情報メッセージを備えた「OHSインスタンス」ページが表示されます。

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

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

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

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

  • 削除されたインスタンスに対してコンパイルされたログは、DOMAIN_HOME/servers/ohs1 (インスタンス名をohs1と仮定)にそのまま残されます。その後、同じ名前の新しいインスタンスが作成された場合、継承されて、それらのファイルへのロギングが続行されます。

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

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

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

  1. 実行中のすべてのインスタンスを停止します(Oracle HTTP Serverインスタンスの停止を参照してください)。構成ウィザードはOracle HTTP Serverインスタンスを確認しないため、削除前には、すべてのインスタンスが確実に停止していることを確認する必要があることに注意してください。

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

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

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

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

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

      選択したインスタンスが削除されます。

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

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

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

デフォルトのノード・マネージャのポート番号の変更

WLSTまたはOracle WebLogic Server管理コンソールのいずれかを使用して、ノード・マネージャのポートのデフォルト値を変更できます。

この項には次のトピックが含まれます:

WLSTを使用したデフォルトのノード・マネージャのポートの変更

WLSTを使用してデフォルトのノード・マネージャのポート番号を変更するには、カスタム・コマンドreadDomainを使用してドメインを開きます。マシン用のノード・マネージャを含むディレクトリに移動します。ListenPortプロパティを設定してからドメインを更新します。

...
readDomain('DOMAIN_HOME')
cd('/Machines/Machine_Name/NodeManager/Node_Manager_Name')
set('ListenPort',9090)
updateDomain()
closeDomain()
...

この例では、DOMAIN_HOMEは、ドメインのルート・ディレクトリを表しています。MachinesおよびNodeManagerはディレクトリです。Node_Manager_NameMachine_Nameマシンに属するノード・マネージャの名前です。デフォルトのノート・マネージャの名前はlocalmachineです。デフォルトのMachine_Namelocalmachineです。ListenPortの値は9090に設定されています。

Oracle WebLogic Server管理コンソールを使用したデフォルトのノード・マネージャのポートの変更

次のステップに従い、Oracle WebLogic Server管理コンソールを使用してデフォルトのノード・マネージャのポート番号を変更します。

  1. 手動でDOMAIN_HOME/nodemanager/nodemanager.propertiesファイルを編集して、ListenPortプロパティの値を変更します。
  2. WebLogic Server管理コンソールで、ノード・マネージャに関連するマシンの構成を、新しいポート番号を指すように変更します。

    管理コンソールの左ペインから、「環境」を展開して「マシン」を選択します。編集する構成のマシンを選択します。「構成」タブ、「ノード・マネージャ」タブの順に選択します。リスニング・ポートをnodemanager.propertiesファイルで更新されたポートに変更します。「保存」をクリックします。

スタンドアロン・ドメインでのノード・マネージャのユーザー名とパスワードの更新

WLSTコマンドを使用してスタンドアロン・ドメインでノード・マネージャのユーザー名とパスワードを更新できます:

  1. MW_HOME/oracle_common/common/binから次のコマンドを実行して、WebLogic Scripting Tool (WLST)を起動します:
    UNIX: ./wlst.sh
    Windows: wlst.cmd
  2. 次のWLSTコマンドを実行します:
    1. readDomain('$DOMAIN_HOME')
    2. cd('SecurityConfiguration/$DOMAIN_NAME')
    3. set('NodeManagerUsername','new_NodeManager_Username')
    4. set('NodeManagerPasswordEncrypted','new_NodeManager_password')
    5. updateDomain()
    6. closeDomain()

startComponentstoreConfigオプションを使用してノード・マネージャのユーザー名とパスワードが保存された場合は、ノード・マネージャの資格証明を変更した後でOHSを再起動する前に、以下を削除します:

  • user_home/.wlst/nm-key-domain_name.props
  • user_home/.wlst/nm-cfg-domain_name.props

Oracle HTTP Serverのリモート管理

スタンドアロン環境で実行されているOracle HTTP Serverインスタンスは、別のマシンで実行されている、コロケートされたOracle HTTP Serverの実装でリモート管理できます。WLSTまたはFusion Middleware Controlを使用して、リモート・マシンからサーバーを起動、停止および構成します。

この項では、Oracle HTTP Serverをリモートで実行する方法に関する情報を示します。

リモート環境の設定

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

リモート環境のホスト要件

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

  • コロケート・インストール(この例では、このインストールをホスト1と呼びます)。

  • スタンドアロン・インストール(ホスト2)。host2のスタンドアロンMW_HOMEへのパスは、host1のコロケートされたMW_HOMEへのパスと同じである必要があります。たとえば:
    /scratch/user/work
タスク1: ホスト1での拡張ドメインの設定

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

  1. リポジトリ構成ユーティリティ(RCU)を使用して、拡張ドメインのデータベースを設定およびインストールします。『リポジトリ作成ユーティリティによるスキーマの作成』を参照してください。
  2. 構成ウィザードを起動して拡張ドメインを作成します。表4-1で指定した値を使用します。

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

    対象 選択または入力する値

    ドメインの作成

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

    テンプレート

    Oracle HTTP Server (コロケート)

    アプリケーションの場所

    デフォルトです。

    管理者アカウント

    ユーザー名およびパスワード。

    データベース構成タイプ

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

    オプションの構成

    項目は次のとおりです。

    • 管理サーバー

    • ノード・マネージャ

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

    • デプロイメントおよびサービス

    管理サーバー

    リスニング・アドレス(「すべてのローカル・アドレス」またはホスト1用の有効な名前かアドレス)およびポート

    ノード・マネージャ

    ドメインごとに、ノード・マネージャの資格証明を指定します。

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

    「追加」し、コンポーネント・タイプOHSを使用して(たとえば、システム・コンポーネント値ohs1を使用して)フィールドを設定します。

    OHSサーバー

    リスニング・アドレスとポートか、デフォルトを使用します。

    マシン

    「追加」。これにより、マシンがドメイン(たとえば、ohs1_Machine)に、ノード・マネージャのリスニング値とポート値と一緒に追加されます。ホスト2用の有効な名前またはアドレスなど(ローカル・ホストまたは「すべてのローカル・アドレス」は使用しない)、ホスト1からアクセス可能なホスト2用のリスニング・アドレスを指定する必要があります。

    システム・コンポーネントの割当

    OHSコンポーネント(たとえば、ohs1)。続いて、右矢印を使用して、そのコンポーネントをマシン(たとえば、ohs1_machine)に割り当てます。

    構成サマリー

    「作成」(OPSSステップの実行に数分かかる場合があります)。

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

ホスト1で、packコマンドを使用してドメインを圧縮します。packコマンドは、ドメイン全体またはドメインのサブセットのスナップショットを格納したテンプレート・アーカイブ(.jar)ファイルを作成します。

UNIXでは、次のコマンドを実行します:

MW_HOME/oracle_common/common/bin/pack.sh -domain=path_to_domain -template=path_to_template -template_name=name -managed=true

たとえば:

MW_HOME/oracle_common/common/bin/pack.sh -domain=MW_HOME/user_projects/domains/ohs1_domain -template=/tmp/ohs1_tmplt.jar -template_name=ohs1 -managed=true
タスク3: ホスト2でのドメインの解凍

unpackコマンドは、リモート・マシンの管理対象サーバー・ドメイン・ディレクトリに使用されるフル・ドメインまたはドメインのサブセットを作成します。次のステップを使用して、タスク2: ホスト1でのドメインの圧縮でホスト1上に圧縮したドメインをホスト2上に解凍します。

  1. タスク2: ホスト1でのドメインの圧縮で作成したテンプレート・ファイルを、ホスト1からホスト2へコピーします。
  2. Unixでunpackコマンドを実行してドメインを解凍します:
    MW_HOME/oracle_common/common/bin/unpack.sh -domain=path_to_domain -template=path_to_template
    

    たとえば:

    MW_HOME/oracle_common/common/bin/unpack.sh -domain=MW_HOME/user_projects/domains/ohs1_domain -template=/tmp/ohs1_tmplt.jar
タスク4: Oracle HTTP Serverのリモート実行

ホスト1で作成したドメインをホスト2で解凍したら、コロケート環境で使用するのと同じ一連のWLSTコマンドとFusion Middleware Controlツールを使用して、コンポーネントの起動、停止、再起動および構成を行えます。

Oracle HTTP Serverをリモート実行するには、次のことを行います。

  1. ホスト1でWebLogic管理サーバーを起動します。
    <MW_HOME>/user_projects/domains/ohs1_domain/bin/startWebLogic.sh &
    
  2. ホスト2でノード・マネージャを起動します。
    <MW_HOME>/user_projects/domains/ohs1_domain/bin/startNodeManager.sh &
    

ホスト1のコロケート実装から、ホスト2のOracle HTTP Serverインスタンスを実行できるようになりました。任意のWLSTコマンドまたはFusion Middleware Controlツールを使用できます。たとえば、ホスト2をノード・マネージャに接続してサーバーohs1を起動するには、ホスト1で次のように入力します。

<MW_HOME>/ohs/common/bin/wlst.sh
nmConnect('weblogic', '<password>', '<nm-host>', '<nm-port>', '<domain-name>', '<domain-directory>','ssl') 
nmStart(serverName='ohs1', serverType='OHS')

Oracle HTTP Serverコンポーネントの起動、停止、再起動および構成の詳細は、基本的なOracle HTTP Serverの実行を参照してください。

管理ポート用のSSLの構成

管理ポートは、ノード・マネージャのOHSプラグインとの通信のためにOracle HTTP Server (OHS)によって内部的に使用されます。ノード・マネージャのOHSプラグインは、ノード・マネージャとの通信にSSLを使用するように強化されています。

この後のトピックで説明する構成ステップは、OHS管理ホスト(SSLサーバー)とノード・マネージャのOHSプラグイン(SSLクライアント)の間のSSL通信を設定する必要があります:

サーバー側構成の実行

サーバー側の構成を完了するには、ステージング・ディレクトリに存在するadmin.confファイルを変更することで、ウォレットを作成しOracle HTTP Server管理ホストのSSLを有効にする必要があります。

このためには、次のトピックを参照してください:

  1. ウォレットの作成
  2. Oracle HTTP Server管理ホストでのSSLの有効化

admin.confファイルの変更の詳細は、「Oracle HTTP Server構成ファイルの変更」を参照してください。

ウォレットの作成

信頼性のあるCAによって署名された証明書が含まれるウォレットを作成します。

証明書の識別名(DN)のCommon Name属性を選択する際に、SSLハンドシェイクのホスト名検証ステップが成功するための要件に注意してください。「確実なホスト名検証の成功」を参照してください。

ウォレットを作成するには、インストールの種類に応じて次のトピックを参照してください:

スタンドアロン・インストールでのウォレットの作成

スタンドアロン・インストールのウォレットを作成するには、KEYTOOLユーティリティを使用してキーストアを作成し、証明書署名リクエスト(CSR)を生成し、必要な証明書をキーストアにインポートし、ORAPKIユーティリティを使用してこのキーストアをウォレットに変換し、Oracle HTTP Server管理ホストがこのウォレットを使用するように構成します。

これを行うには、次のステップを実行します:

  1. 次の環境変数を設定します。

    UNIX:

    export ORACLE_HOME=absolute_path_to_ORACLE_HOME
    export PATH=$ORACLE_HOME/oracle_common/bin:$PATH
    export JAVA_HOME=absolute_path_to_JDK8

    Windowsの場合:

    set ORACLE_HOME=absolute_path_to_ORACLE_HOME
    set PATH=%ORACLE_HOME%\oracle_common\bin:%PATH%
    set JAVA_HOME=absolute_path_to_JDK8
  2. 作業ディレクトリを設定して、そのディレクトリに移動します。

    mkdir walletkey
    cd walletkey
  3. キーストアと秘密キーを作成します:

    keytool -genkey -alias ca_cert -keyalg RSA -keysize 2048 -sigalg SHA256withRSA -dname "CN=hostname.domainname,O=My Company Corporation,L=Denver,ST=CO,C=US" -keypass keypass_password -keystore keystore.jks -storepass storepass_password
    

    このコマンドでは:

    • 別名ca_certが確立されます。別の名前を選択できます。
    • keystore.jksは、新しいキーストアに選択する名前です。
    • keypass_passwordstorepass_passwordは、キーパスとキーストアそれぞれに指定するパスワードです。
  4. 証明書署名リクエスト(CSR)を生成して、認証局(CA)に送信してから次に進みます(あるいは自己署名を使用します):

    keytool -certreq -v -alias ca_cert -file server.csr -sigalg SHA256withRSA -keypass keypass_password -storepass storepass_password -keystore keystore.jks
    

    このコマンドでは:

    • ca_certは前のステップで指定した別名です。
    • server.csrはCAに提供するものです。
    • keystore.jksはキーストアです。
  5. 信頼できるルート証明書をキーストアにインポートします:

    keytool -import -v -noprompt -trustcacerts -alias root -file root.crt -keystore keystore.jks

    このコマンドでは:

    • 別名rootは、中間CAの信頼できる証明書のために選択する名前です。
    • root.crtは、CAの信頼できるルート証明書です。
    • keystore.jksはキーストアです。
  6. CAから提供される場合は、信頼できる中間証明書をキーストアにインポートして別名を選択します。

    keytool -import -v -noprompt -trustcacerts -alias intermediate -file intermediate.crt -keystore keystore.jks
    

    このコマンドでは:

    • 別名intermediateは、中間CAの信頼できる証明書のために選択する名前です。
    • intermediate.crtは、CAの信頼できる中間証明書です。
    • keystore.jksはキーストアです。
  7. 署名されたサーバー証明書をキーストアにインポートします:

    keytool -import -v -alias ca_cert -file server.crt -keystore keystore.jks

    このコマンドでは:

    • 別名ca_certは、サーバー証明書のために選択した名前です。
    • server.crtは、通常CSRから取得する署名付きサーバー証明書です。
    • keystore.jksはキーストアです。
  8. キーストアをウォレットに変換します:

    orapki wallet create -wallet ./wallet -auto_login_only
    orapki wallet jks_to_pkcs12 -wallet ./wallet -keystore ./keystore.jks -jkspwd jks_password
  9. Oracle HTTP Serverのadmin.confファイルでウォレットを構成します。単純かつ一貫性を高めるため、次の例に示すように汎用性の高い中心的な場所を使用します。この場所が同じOracleユーザーによって所有されていることを確認してください。

    admin.confファイルの例:

    
    <VirtualHost AdminHostIP:AdminPort>
    <IfModule ossl_module>
     ...
     SSLWallet "/usr/oracle/ohs/wallets"
     ...
    </IfModule>
    </VirtualHost> 

コロケート・インストールでのウォレットの作成

コロケート・インストールの場合は、Fusion Middleware ControlでOracle HTTP Server管理ホストのウォレットを作成し、そのウォレットを使用するようにOracle HTTP Server管理ホストを構成します。

  1. WebLogicのユーザー名およびパスワードを使用して、Fusion Middleware Controlにログインします。

    http://host.domain:port/em
  2. Fusion Middleware Controlを使用して、関連するOHSコンポーネント(たとえばohs1)を起動します。

    ノート:

    キーストアは、アプリケーション・ストライプおよびそのストライプ内のキーストアによって一意に識別されます。キーおよび証明書はストライプ内のキーストアに作成されます。セキュリティ・ストア内のストライプ名はセキュリティ・ストアで一意であり、ストライプ内のキーストア名はストライプで一意です。たとえば、(stripe1,keystoreA)、(stripe1,keystoreB)および(stripe2,keystoreA)は、3つの異なるキーストアを指します。アプリケーションは、アプリケーション・ストライプ内に複数のキーストアを作成できます。
  3. Oracle HTTP Serverのストライプの作成:

    1. weblogicドメインにナビゲートし、「セキュリティ」に移動して、「キーストア」をクリックします。
    2. 「ストライプの作成」をクリックします。
    3. OHSという名前で新しいストライプを作成します。名前では大文字/小文字が区別されることに注意してください。
  4. OHSインスタンスのキーストアの作成:

    1. ohsインスタンスをクリックします。
    2. OracleHTTPServerにナビゲートし、「セキュリティ」に移動して、「キーストア」をクリックします。
    3. 「キーストアの作成」をクリックし、ポリシーとして作成をクリックします
    4. キーストア名を入力します。たとえば、Testです。新しいキーストアはinstancename_Testという名前で作成されます(ohs1_Testなど)。
  5. キー・ペアの生成:

    1. 新しいキーストア(ohs1_Test)を選択し、「管理」をクリックします。
    2. 「キー・ペアの生成」をクリックします。
    3. 必須の詳細を入力して、「OK」をクリックします。
  6. CSRの生成:

    1. 生成された新しいキー・ペアを選択します。
    2. 「CSRの生成」をクリックします。次の情報を含むページが表示されます:
      Certificate signing request with Alias: ohs_cert is exported successfully. To export it to a
            file, click "Export CSR". You can send this file to a CA or you can cut and paste the entire
            text in the box from BEGIN NEW CERTIFICATE REQUEST to END NEW CERTIFICATE REQUEST. Once you
            get your certificate back from CA you can continue with import.
    3. 「CSRのエクスポート」をクリックしてファイルを保存します。

      「構成をロックして編集」を編集して、変更内容がコミットされるようにしてください。キーストアが保存されない場合、新しい証明書をインポートすることはできません。そのため、証明書をリクエストする前に、ブラウザを終了し、元に戻ってキーストアが保存されたことを確認します。

  7. CSRを任意のCAに送信して証明書を取得することで、CA署名付き証明書を取得します。

  8. 信頼できる証明書のインポート:

    1. OracleHTTPServerにナビゲートし、「セキュリティ」に移動して、「キーストア」をクリックします。
    2. CSRが生成されたキーストアを選択し、「管理」をクリックします。
    3. 「インポート」をクリックします。
    4. 「証明書タイプ」で、「信頼できる証明書」を選択し、ルートCA証明書rootca.crtの内容を貼り付けるか、そのファイルを選択して「OK」をクリックします。
    5. チェーン内のその他の信頼できるCA証明書に対して上記のステップを繰り返します。
  9. 信頼できる証明書をWebLogicドメインにインポートします。また、ルートCA証明書およびその他の信頼できるCA証明書を、信頼できるキーストア内のweblogic systemストライプにインポートします。

    1. weblogicドメインにナビゲートし、「セキュリティ」に移動して、「キーストア」をクリックします。
    2. systemストライプを展開し、信頼を選択して、「管理」をクリックします。
    3. 「インポート」をクリックします。
    4. 「証明書タイプ」で、「信頼できる証明書」を選択し、ルートCA証明書rootca.crtの内容を貼り付けるか、そのファイルを選択して「OK」をクリックします。
    5. チェーン内のその他の信頼できるCA証明書に対して上記のステップを繰り返します。
  10. ユーザー証明書のインポート:

    1. OracleHTTPServerにナビゲートし、「セキュリティ」に移動して、「キーストア」をクリックします。
    2. CSRが生成されたキーストアを選択し、「管理」をクリックします。
    3. 「インポート」をクリックします。
    4. 「証明書タイプ」で、「証明書」を選択し、server.crtの内容を貼り付けるか、そのファイルを選択して「OK」をクリックします。
  11. キーストアのウォレットへのエクスポート:

    1. OracleHTTPServerにナビゲートし、「セキュリティ」に移動して、「キーストア」をクリックします。
    2. CSRが生成されたキーストアを選択し、「管理」をクリックします。
    3. 「キーストアをウォレットにエクスポート」をクリックします。自動ログイン専用ウォレットがOHSインスタンスのkeystoreディレクトリに作成されます。

    ノート:

    キーストアをウォレットにエクスポートする前に、必ず「ロックして編集」をクリックしてから「変更のアクティブ化」をクリックしてください。
  12. 新しく作成されたウォレットをadmin.confファイルが指すように編集することで、Oracle HTTP Serverでウォレットを構成します。

    admin.confファイルの例:

    <VirtualHost AdminHostIP:AdminPort>
    <IfModule ossl_module>
     ...
     SSLWallet "/usr/oracle/ohs/wallets"
     ...
    </IfModule>
    </VirtualHost>

    ノート:

    admin.confファイルはFusion Middleware Controlを使用して編集できません。手動で編集するには、「Oracle HTTP Server構成ファイルの変更」を参照してください。
Oracle HTTP Server管理ホストでのSSLの有効化

<IfModule ossl_module>ブロックに次のmod_osslディレクティブを構成することで管理ホストのSSLを有効にします。

デフォルトでは、admin.confファイルには次の構成設定が含まれます。

サンプル構成:

<VirtualHost 127.0.0.1:9991>
<IfModule ossl_module>
 SSLEngine on
 SSLProtocol TLSv1.2
 SSLCipherSuites TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256,TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384,TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256,TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384,TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA,TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA,TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256,TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384,TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256,TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384,TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA,TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA,TLS_RSA_WITH_AES_128_GCM_SHA256,TLS_RSA_WITH_AES_256_GCM_SHA384,TLS_RSA_WITH_AES_128_CBC_SHA256,TLS_RSA_WITH_AES_256_CBC_SHA256,SSL_RSA_WITH_AES_128_CBC_SHA,SSL_RSA_WITH_AES_256_CBC_SHA 
 SSLWallet “<wallet location>”
</IfModule>
</VirtualHost> 

確実なホスト名検証の成功

ホスト名の検証は、ノード・マネージャとOracle HTTP Server (OHS)管理ホスト間のSSLハンドシェイクの一部として行われます。

ホスト名の検証が成功するのは、ノード・マネージャの接続先である管理ホストURLのホスト名が、OHS管理ホストがSSL接続の一部として返送するデジタル証明書のホスト名と一致する場合です。

確実に検証ステップを成功させるためには、次の項の説明に従ってOracle HTTP Server管理ホストのホスト名を正しく構成する必要があります:

ServerNameディレクティブの構成

ServerNameディレクティブを使用して、Oracle HTTP Server管理ホストのホスト名を構成します。構成するホスト名は、SSL証明書のDistinguished NamesCommon Name属性と一致するか、subjectAltName拡張と一致する必要があります。ServerNameディレクティブをadmin.confファイルの<VirtualHost>ブロックに配置します。

ノート:

ServerNameディレクティブを構成しないと、ノード・マネージャとOHS管理ホスト間の通信でSSLが有効になったときに、OHSは起動できず次のメッセージが生成されます:

ServerName directive is not configured in admin.conf of <ohs_instance>

Listenディレクティブとホスト名の構成はリンクしているため、ホスト名が構成された後で、Listenディレクティブへの変更が必要になる場合があります。

Listenディレクティブの構成

管理ホストのIPアドレスとポートを選択し、これでListenディレクティブを構成します。ServerNameディレクティブを使用して構成されたホスト名は、admin.confファイルのListenディレクティブで構成されるIPアドレスにマップされる必要があります。これは、ノード・マネージャとOHS管理ホストの通信中にホスト名解決エラーが発生しないようにするためです。Listenディレクティブで使用されるIPアドレスは、<VirtualHost>ディレクティブで使用されるものと一致する必要があります。

ノート:

nslookupを使用して、Listenディレクティブで使用されるIPアドレスが管理ホストのホスト名に正しくマップされていることを確認します。

Listenディレクティブが、特定のIPアドレス(Listen <ipaddress>:<port>)ではなく、使用可能なすべてのインタフェース(Listen <port>)でリスニングするように構成されると、OHSは起動できず次のメッセージが生成されます:

HostName/IP address is not configured for Listen directive in admin.conf of <ohs_instance_name>

サーバー側でのSSL構成が終了すると、admin.confの構成は次のサンプルのようになります:

#[Listen] OHS_PROXY_PORT
Listen <IP>:<PORT>
#[VirtualHost] OHS_PROXY_VH
<VirtualHost <IP>:<PORT>>

// Ensure <HOSTNAME> resolves to <IP>
ServerName <HOSTNAME>
<Location /dms/>
  SetHandler dms-handler
  Require all granted
</Location>
CustomLog "||${PRODUCT_HOME}/bin/odl_rotatelogs 
${ORACLE_INSTANCE}/servers/${COMPONENT_NAME}/logs/admin_log 43200" common
<IfModule ossl_module>
  SSLEngine on
  SSLProtocol TLSv1.2
  SSLCipherSuite 
TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256,TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384,TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256,TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384,TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA,TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA,TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256,TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384,TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256,TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384,TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA,TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA,TLS_RSA_WITH_AES_128_GCM_SHA256,TLS_RSA_WITH_AES_256_GCM_SHA384,TLS_RSA_WITH_AES_128_CBC_SHA256,TLS_RSA_WITH_AES_256_CBC_SHA256,SSL_RSA_WITH_AES_128_CBC_SHA,SSL_RSA_WITH_AES_256_CBC_SHA

// Ensure CN attribute of the certificate’s DN matches <HOSTNAME>
  SSLWallet “<WALLET LOCATION>”
 </IfModule>
</VirtualHost>

ノート:

上記のサンプルで、<IP><PORT><HOSTNAME>および<WALLET LOCATION>はご使用の環境の詳細に対応します。

クライアント側構成の実行

クライアント側では、ノード・マネージャの信頼を構成する必要があります。

Oracle HTTP Server (OHS)管理ホストに構成された証明書をノード・マネージャが信頼できるようにします。このためには、OHS管理ホストのウォレットに存在するユーザー証明書に署名したルートCAの証明書をエクスポートし、その証明書をインスタンスのノード・マネージャのウォレットに信頼できる証明書としてインポートします。ノード・マネージャのOracle HTTP Serverプラグインの機能が強化され、インスタンスのOHS管理ホストの信頼できる証明書を含むウォレットをインスタンスごとに保持できるようになりました。

インスタンスに対するノード・マネージャのウォレットを構成するには、nm-walletプロパティを$DOMAIN_HOME/config/fmwconfig/components/COMPONENT_TYPE/COMPONENT_NAMEにあるohs.plugins.nodemanager.propertiesファイルに追加し、信頼できる証明書を含むウォレットの絶対パスを設定します。

ノード・マネージャの信頼性を設定するには:

  1. Oracle HTTP Server管理ホストのウォレットに存在するユーザー証明書に署名したルートCAの証明書をエクスポートします:
    $orapki wallet export -wallet path_to_server_wallet -dn "DN for root CA certificate" -cert root_CA.crt
  2. ノード・マネージャのウォレットを作成します:
    $orapki wallet create -wallet /test/my_nm_wallet -auto_login_only
  3. ルートCAの証明書を、信頼できる証明書としてmy_nm_walletにインポートします:
    $orapki wallet add -wallet /test/my_nm_wallet -trusted_cert -cert root_CA.crt -auto_login_only

ohs.plugins.nodemanager.propertiesファイルのnm-walletプロパティがノード・マネージャのウォレットを指すように構成します:

  1. $DOMAIN_HOME/config/fmwconfig/components/COMPONENT_TYPE/COMPONENT_NAMEにあるohs.plugins.nodemanager.propertiesファイルをテキスト・エディタで開きます。
  2. このファイルの末尾にnm-wallet=/test/my_nm_walletを追加します。

ノート:

Fusion Middleware ControlまたはWLSTを使用してohs.plugins.nodemanager.propertiesファイルを編集することはできません。手動で編集するには、「Oracle HTTP Server構成ファイルの変更」を参照してください。