| Oracle® Fusion Middleware Oracle WebLogic ServerにおけるWebサーバー1.1プラグインの使い方 11g リリース1 (10.3.4) B61009-02 |
|
![]() 前 |
![]() 次 |
次の項では、Apache HTTP Serverプラグインをインストールして構成する方法を説明します。
|
注意: Oracle WebLogic Serverのこのリリースでは、単一のプラグインがApache HTTP ServerおよびOracle HTTP Serverの両方をサポートしています。 |
「バージョン1.1プラグインのダウンロード」の説明に従ってApache HTTP Serverプラグインをダウンロードした後、Apache HTTP ServerにApacheモジュールとしてインストールでき、動的共有オブジェクト(DSO)としてリンクできます。
DSOは、実行時にサーバーに動的にロードされるライブラリとしてコンパイルされ、Apacheを再コンパイルせずにインストールできます。
Apache HTTP Serverプラグインをインストールする前に、次の前提条件を満たす必要があります。
「バージョン1.1プラグインのダウンロード」の説明に従って、Apache HTTP Serverプラグインをダウンロードします。
ターゲット・システム上の選択した場所にプラグインのzip配布を展開します。たとえば、/home/myhome/weblogic-plugins-1.1/です。
SSLを使用する場合、JDK 6をインストールします。orapkiユーティリティを使用するには、JDK 6インストールが必要です。orapkiユーティリティは、SSLとの使用のためにウォレットや証明書失効リストなどの公開鍵認証基盤(PKI)要素を管理します。
サポートされているApache HTTP Serverインストールが存在します。
http://www.oracle.com/technology/software/products/ias/files/fusion_certification.htmlに記載されているApacheプラットフォームでバージョン1.1プラグインがサポートされています。
サポートされているバージョンのWebLogic Serverが構成済みで、ターゲット・システムで実行されています。ただし、それがプラグインのzip配布を展開したシステム上で実行されている必要はありません。サポートされているWebLogic Serverのバージョンは、http://www.oracle.com/technology/software/products/ias/files/fusion_certification.htmlを参照してください。
Apacheプラグインは、UNIXプラットフォーム用の共有オブジェクト(.so)およびWindows用のDLLとして配布されます。
Apache HTTP Serverプラグインを動的共有オブジェクトとしてインストールするには:
weblogic-plugins-1.1/libフォルダが、UNIXシステム上のLD_LIBRARY_PATH(およびWindowsシステム上のPATH)に含まれていることを確認します。含まれていない場合、Apacheの開始中にリンケージ・エラーが発生します。
Windowsの場合、ダウンロードしたプラグイン・ファイルを解凍した場所でlib/mod_wl.soまたはlib\mod_wl.dllを見つけます。たとえば、/home/myhome/weblogic-plugins-1.1/lib/mod_wl.soです。
mod_so.cモジュールが有効であることを確認します。
Apache HTTP Serverプラグインは、Apache HTTP Serverインストールに動的共有オブジェクト(DSO)としてインストールされます。
ApacheのDSOサポートは、mod_wl.soをロードする前に有効にする必要のあるモジュールmod_so.cに基づいています。
Apacheによって提供されるApache HTTP Serverをインストールした場合、mod_so.cはすでに有効化されています。次のコマンドを実行して、mod_so.cが有効化されていることを確認してください。
APACHE_HOME\bin\apachectl -l
(APACHE_HOMEは、Apache HTTP Serverをインストールしたディレクトリです。)
このコマンドは、有効なすべてのモジュールのリストを表示します。mod_so.cがリストにない場合は、Apache HTTP Serverを再構築して次のオプションが構成されるようにする必要があります。
... --enable-module=so --enable-rule=SHARED_CORE ...
「http://httpd.apache.org/docs/2.2/dso.html」にある「Apache 2.2 Shared Object (DSO) Support」を参照してください。
バックアップとして${APACHE_HOME}/bin/httpd.confファイルのコピーを作成します。
httpd.confファイルを開きます。
ファイルは、APACHE_HOME/conf/httpd.confにあります。(ここで、APACHE_HOMEは、Apache HTTP Serverインストールのルート・ディレクトリを示します。)「Apache HTTP Serverプラグインの構成」のサンプルhttpd.confファイルを参照してください。
APACHE_HOME/conf/httpd.confファイルに次の行を追加して、Apache 2.2.xに対してApache HTTP Serverプラグイン・モジュールをインストールしてください。Windowsの場合は、DLLファイルを指定してください。
LoadModule weblogic_module /home/myhome/weblogic-plugins-1.1/lib/mod_wl.so
次のコマンドで、APACHE_HOME/conf/httpd.confファイルの構文を検証します。
APACHE_HOME\bin\apachectl -t
(APACHE_HOMEは、Apache HTTP Serverをインストールしたディレクトリです。)
このコマンドの出力では、httpd.confファイルのエラーが示されるか、次が返されます。
Syntax OK
Apache HTTP Serverにプラグインをインストールしたら、WebLogic Server Apacheプラグインの構成と、プラグインを使用するためのサーバーの構成を行います。
この項では、HTTPトンネリングを有効にし、WebLogic Serverの他のプラグイン・パラメータを使用するために、httpd.confファイルを編集してパスまたはMIMEタイプによりリクエストをプロキシする方法について説明します。
Apache HTTP Serverインストールのhttpd.confファイルを編集し、Apache HTTP Serverプラグインを構成します。
バックアップとして${APACHE_HOME}/bin/httpd.confファイルのコピーを作成します。
httpd.confファイルを開きます。
ファイルは、APACHE_HOME/conf/httpd.confにあります。(ここで、APACHE_HOMEは、Apache HTTP Serverインストールのルート・ディレクトリを示します。)「Apache HTTP Serverプラグインの構成」のサンプルhttpd.confファイルを参照してください。
WebLogic ServerモジュールがApache 2.2.xに含まれていることを確認します。まだ含まれていない場合は、httpd.confファイルに次の行を追加します。Windowsの場合は、DLLファイルを指定します。
LoadModule weblogic_module /home/myhome/weblogic-plugins-1.1/lib/mod_wl.so
MIMEタイプによってリクエストをプロキシするには、次のいずれかを定義するIfModuleブロックを追加します。
クラスタリングされていないWebLogic Serverの場合: WebLogicHostおよびWebLogicPortパラメータ。
WebLogic Serverのクラスタの場合: WebLogicClusterパラメータ。
例:
<IfModule mod_weblogic.c> WebLogicHost my-weblogic-server-com WebLogicPort 7001 Debug ALL DebugConfigInfo ON WLLogFile /tmp/wl-proxy.log </IfModule>
MIMEタイプによってリクエストをプロキシするには、MatchExpression行をIfModuleブロックに追加します。MIMEタイプおよびパスによるプロキシの両方を有効にした場合、パスによるプロキシがMIMEタイプによるプロキシに優先することに注意してください。
たとえば、クラスタ化されていないWebLogic Serverに対する次のIfModuleブロックでは、MIMEタイプが.jspであるすべてのファイルがプロキシされます。
<IfModule mod_weblogic.c> WebLogicHost my-weblogic.server.com WebLogicPort 7001 MatchExpression *.jsp Debug ALL DebugConfigInfo ON WLLogFile /tmp/wl-proxy.log </IfModule>
次のように、複数のMatchExpressionsを使用することもできます。
<IfModule mod_weblogic.c> WebLogicHost my-weblogic.server.com WebLogicPort 7001 MatchExpression *.jsp MatchExpression *.xyz Debug ALL DebugConfigInfo ON WLLogFile /tmp/wl-proxy.log </IfModule>
MIMEタイプによってWebLogic Serverのクラスタにリクエストをプロキシする場合は、WebLogicHostおよびWebLogicPortパラメータのかわりにWebLogicClusterパラメータを使用します。例:
<IfModule mod_weblogic.c> WebLogicCluster w1s1.com:7001,w1s2.com:7001,w1s3.com:7001 MatchExpression *.jsp MatchExpression *.xyz </IfModule>
パスによってリクエストをプロキシするには、LocationブロックおよびSetHandler文を使用します。SetHandlerは、Apache HTTP Serverプラグイン・モジュールのハンドラを指定します。たとえば、次のLocationブロックでは、URLに/weblogicが含まれるすべてのリクエストがプロキシされます。
<Location /weblogic> SetHandler weblogic-handler PathTrim /weblogic </Location>
PathTrimパラメータには、WebLogic Serverインスタンスにリクエストを渡す前にURLの先頭から切り取る文字列を指定します(「Webサーバー・プラグインの一般的なパラメータ」を参照)。
必要に応じて、t3またはIIOPのHTTPトンネリングを有効にします。
t3プロトコルおよびweblogic.jarを使用する場合にHTTPトンネリングを有効にするには、次のLocationブロックをhttpd.confファイルに追加します。
<Location /bea_wls_internal/HTTPClnt> SetHandler weblogic-handler </Location>
IIOP (WebLogic Serverシン・クライアントのwlclient.jarで使用される唯一のプロトコル)を使用する場合にHTTPトンネリングを有効にするには、次のLocationブロックをhttpd.confファイルに追加します。
<Location /bea_wls_internal/iiop> SetHandler weblogic-handler </Location>
Apache HTTP Serverプラグインの追加パラメータを定義します。
Apache HTTP Serverプラグインは、「Webサーバー・プラグインの一般的なパラメータ」にリストされているパラメータを認識します。Apache HTTP Serverプラグインの動作を変更するには、次のいずれかでパラメータを定義します。
Locationブロック(パスによるプロキシに適用されるパラメータの場合)、または
IfModuleブロック(MIMEタイプによるプロキシに適用されるパラメータの場合)。
次のコマンドで、APACHE_HOME\conf\httpd.confファイルの構文を検証します。
APACHE_HOME\bin\apachectl -t
(APACHE_HOMEは、Apache HTTP Serverをインストールしたディレクトリです。)
このコマンドの出力では、httpd.confファイルのエラーが示されるか、次が返されます。
Syntax OK
Apache HTTP Serverを起動します。
${APACHE_HOME}/bin/apachectl start
(APACHE_HOMEは、Apache HTTP Serverをインストールしたディレクトリです。)
ブラウザからhttp://apache-host:apache-port/mywebapp/my.jspにリクエストを送信します。レスポンスを検証します。
IfModuleを使用しないように選択した場合、そのかわりに、WebLogicプロパティをLocationまたはVirtualHostブロック内に直接配置できます。LocationまたはVirtualHostブロックの次の例を考慮してください。
<Location /weblogic> SetHandler weblogic-handler WebLogicHost myweblogic.server.com WebLogicPort 7001 </Location> <Location /weblogic> SetHandler weblogic-handler WebLogicCluster w1s1.com:7001,w1s2.com:7001,w1s3.com:7001 </Location> <VirtualHost apachehost:80> SetHandler weblogic-handler WebLogicServer weblogic.server.com WebLogicPort 7001 </VirtualHost>
別個の構成ファイルを複数用意する場合は、httpd.confファイルのIfModuleブロックのApache Includeディレクティブを使用して、weblogic.confという独立した構成ファイルでパラメータを定義できます。
<IfModule mod_weblogic.c> # Config file for WebLogic Server that defines the parameters Include conf/weblogic.conf </IfModule>
weblogic.confファイルの構文は、httpd.confファイルの構文と同じです。
この項では、weblogic.confファイルの作成方法を説明し、サンプルのweblogic.confファイルが含まれています。
weblogic.confファイルを作成する際には、次の点に注意してください。
パラメータはそれぞれ独立した行に入力します。パラメータとその値の間に'='を挿入しないでください。例:
PARAM_1 value1 PARAM_2 value2 PARAM_3 value3
IfModuleブロックのMatchExpressionで指定されたMIMEタイプとLocationブロックで指定されたパスの両方にリクエストが一致する場合は、Locationブロックで指定された動作が優先されます。
Apache HTTP Serverの<VirtualHost>ブロックを使用する場合は、<VirtualHost>ブロック(http://httpd.apache.org/docs/vhosts/のApache仮想ホスト・ドキュメントを参照)内の仮想ホストのすべての構成パラメータ(たとえば、MatchExpression)を含める必要があります。
環境内に構成されているすべての仮想ホストのログ・ファイルを1つのみにしたい場合は、グローバル・プロパティを使用すれば実現できます。各仮想ホストでDebug、WLLogFileおよびWLTempDirプロパティを指定するかわりに、<IfModule>タグで一度に指定できます。
httpd.confファイルのサンプル:
<IfModule mod_weblogic.c> WebLogicCluster johndoe02:8005,johndoe:8006 Debug ON WLLogFile c:/tmp/global_proxy.log WLTempDir "c:/myTemp" DebugConfigInfo On KeepAliveEnabled ON KeepAliveSecs 15 </IfModule> <Location /jurl> SetHandler weblogic-handler WebLogicCluster agarwalp01:7001 </Location> <Location /web> SetHandler weblogic-handler PathTrim/web Debug OFF WLLogFile c:/tmp/web_log.log </Location> <Location /foo> SetHandler weblogic-handler PathTrim/foo Debug ERR WLLogFile c:/tmp/foo_proxy.log </Location>
/jurl/*に一致するすべてのリクエストではDebug LevelがALLに設定され、ログ・メッセージがc:/tmp/global_proxy.logファイルに記録されます。/web/*に一致するすべてのリクエストではDebug LevelがOFFに設定され、ログ・メッセージは記録されなくなります。/foo/*に一致するすべてのリクエストではDebug LevelがERRに設定され、ログ・メッセージはc:/tmp/foo_proxy.logファイルに記録されます。
<Files>ブロックではなくMatchExpression文を使用することをお薦めします。
次のweblogic.confファイルの例をテンプレートとして使用して、ユーザーの環境およびサーバーに合うように変更できます。#で始まる行はコメントです。
例3-1 Weblogicクラスタを使用した例
# These parameters are common for all URLs which are # directed to the current module. If you want to override # these parameters for each URL, you can set them again in # the <Location> or <Files> blocks. (Except WebLogicHost, # WebLogicPort, WebLogicCluster, and CookieName.) <IfModule mod_weblogic.c> WebLogicCluster w1s1.com:7001,w1s2.com:7001,w1s3.com:7001 ErrorPage http://myerrorpage.mydomain.com MatchExpression *.jsp </IfModule> ####################################################
例3-2で、ファイル名のパターン、HTTPリクエストのトランスポート先となるWebLogic Serverホストおよびその他のパラメータを表すMatchExpressionパラメータの構文は次のとおりです。
MatchExpression [filename pattern] [WebLogicHost=host] | [paramName=value]
最初のMatchExpressionパラメータではファイル名パターン*.jspを指定してから、1つのWebLogicHost名を指定しています。パイプ記号の後に続くparamName=valueの組合せでWebLogic Serverが接続リクエストをリスニングするポートを指定し、さらに「デバッグ」オプションを有効にするよう指定しています。2番目のMatchExpressionでは、ファイル名パターン*.httpを指定し、WebLogicClusterホストおよびそのポートを特定しています。パイプ記号の後に続くparamName=valueの組合せでは、クラスタのエラー・ページを指定しています。
例3-2 複数のWebLogicクラスタを使用した例
# These parameters are common for all URLs which are
# directed to the current module. If you want to override
# these parameters for each URL, you can set them again in
# the <Location> or <Files> blocks (Except WebLogicHost,
# WebLogicPort, WebLogicCluster, and CookieName.)
<IfModule mod_weblogic.c>
MatchExpression *.jsp WebLogicHost=myHost|WebLogicPort=7001|Debug=ON
MatchExpression *.html WebLogicCluster=myHost1:7282,myHost2:7283|ErrorPage=
http://www.xyz.com/error.html
</IfModule>
例3-3に、WebLogicクラスタを使用しない例を示します。
例3-3 WebLogicクラスタを使用しない例
# These parameters are common for all URLs which are # directed to the current module. If you want to override # these parameters for each URL, you can set them again in # the <Location> or <Files> blocks (Except WebLogicHost, # WebLogicPort, WebLogicCluster, and CookieName.) <IfModule mod_weblogic.c> WebLogicHost myweblogic.server.com WebLogicPort 7001 MatchExpression *.jsp </IfModule>
例3-4に、複数の名前ベースの仮想ホストを構成する例を示します。
例3-4 複数の名前ベースの仮想ホストを構成する例
# VirtualHost1 = localhost:80 <VirtualHost 127.0.0.1:80> DocumentRoot "C:/test/VirtualHost1" ServerName localhost:80 <IfModule mod_weblogic.c> #... WLS parameter ... WebLogicCluster localhost:7101,localhost:7201 # Example: MatchExpression *.jsp <some additional parameter> MatchExpression *.jsp PathPrepend=/test2 </IfModule> </VirtualHost> # VirtualHost2 = 127.0.0.2:80 <VirtualHost 127.0.0.2:80> DocumentRoot "C:/test/VirtualHost1" ServerName 127.0.0.2:80 <IfModule mod_weblogic.c> #... WLS parameter ... WebLogicCluster localhost:7101,localhost:7201 # Example: MatchExpression *.jsp <some additional parameter> MatchExpression *.jsp PathPrepend=/test2 #... WLS parameter ... </IfModule> </VirtualHost>
ServerNameには一意の値を定義する必要があります。一意でない場合、一部のプラグイン・パラメータが意図したとおりに機能しません。
この項では、Apache 2.2のhttpd.confファイルのサンプルを紹介します。このサンプルをテンプレートとして使用し、ユーザーの環境およびサーバーに合うように変更できます。#で始まる行はコメントです。
Apache HTTP Serverでは大文字と小文字は区別されません。
例3-5 Apache 2.2用サンプルhttpd.confファイル
#################################################### APACHE-HOME/conf/httpd.conf file #################################################### LoadModule weblogic_module lhome/myhome/weblogic-plugins-1.1/lib/mod_wl.so <Location /weblogic> SetHandler weblogic-handler PathTrim /weblogic ErrorPage http://myerrorpage1.mydomain.com </Location> <Location /servletimages> SetHandler weblogic-handler PathTrim /something ErrorPage http://myerrorpage1.mydomain.com </Location> <IfModule mod_weblogic.c> MatchExpression *.jsp WebLogicCluster w1s1.com:7001,w1s2.com:7001,w1s3.com:7001 ErrorPage http://myerrorpage.mydomain.com </IfModule>