WebLogic Server コマンド リファレンス
weblogic.Server コマンドライン リファレンス
weblogic.Server
クラスは、WebLogic Server インスタンスのメイン クラスです。Java コマンドで weblogic.Server
を呼び出すことで、サーバ インスタンスを起動します。クラスは、コマンド プロンプト (シェル) で直接呼び出すことも、スクリプトまたはノード マネージャから間接的に呼び出すこともできます。
ここでは、以下の項目について説明します。
スクリプトを使用し WebLogic Server インスタンスを起動する方法については、『サーバの起動と停止の管理』の「起動スクリプトによる管理サーバの起動」と「起動スクリプトによる管理対象サーバの起動」を参照してください。
ノード マネージャを使用して WebLogic Server インスタンスを起動する方法については、『サーバの起動と停止の管理』の「ノード マネージャを使用したサーバの制御」を参照してください。
weblogic.Server ユーティリティの環境要件と構文
この節では、サーバ インスタンスを起動する前に設定する必要のある環境について説明します。次に、weblogic.Server
を呼び出すための構文を示します。
環境
weblogic.Server
コマンドの環境を設定するには、次の手順に従います。
『インストール ガイド』の説明に従って、WebLogic Server ソフトウェアをインストールおよびコンフィグレーションします。
必要な場合は、「クラスパスの変更」の説明に従って、CLASSPATH
環境変数を変更します。
PATH
環境変数に JVM を追加しない場合は、JVM が提供する Java 実行可能ファイルのパス名を指定する必要があります。
クラスパスの変更
インストール後、WebLogic Server のクラスパスは既に設定されていますが、WebLogic Server にパッチを追加する、使用する PointBase のバージョンを更新する、Log4j ロギングのサポートを追加するなどの理由でクラスパスを変更することもできます。
クラスパスを変更せずにすべての WebLogic Server ドメインにパッチを適用するには、パッチの JAR ファイルに weblogic_sp.jar
という名前を付け、そのファイルを WL_HOME
/server/lib
ディレクトリにコピーします。commEnv.cmd/sh
スクリプトによって、JAR ファイルの weblogic_sp
がクラスパスに自動的に組み込まれます。
パッチ ファイルに weblogic_sp.jar
という名前を付けない場合、または以下に示すような JAR ファイルをクラスパスで weblogic.jar
の前に確実に追加したい場合、次の手順に従います。
すべてのドメインで、WL_HOME
/common/bin
の commEnv.cmd/sh
スクリプトを編集し、使用する JAR ファイルを WEBLOGIC_CLASSPATH
環境変数の先頭に追加します。
特定の WebLogic Server ドメインにパッチを適用するには、そのドメインの bin
ディレクトリにある setDomainEnv.cmd/sh
スクリプトを編集し、その JAR ファイルを PRE_CLASSPATH
環境変数の先頭に追加します。
PointBase (Java だけで作られているデータベース管理システム) の試用版を使用している場合は、続いて以下のファイルをクラスパスに指定します。
WL_HOME
/common/eval/pointbase/lib/pbembedded51.jar および pbclient51.jar
WebLogic Enterprise Connectivity を使用している場合は、以下のファイルをクラスパスに指定します。
WL_HOME
/server/lib/wlepool.jar
WL_HOME
/server/lib/wleorb.jar
Log4j ロギングを使用する場合、以下のファイルをクラスパスに指定します。
WL_HOME
/server/lib/log4j.jar
サーバを実行するシェル環境によって、パス要素を区切るための文字が決まります。Windows では、通常はセミコロン (;) を使用します。BASH シェルでは、通常はコロン (:) を使用します。
構文
weblogic.Server
を呼び出すための構文は次のとおりです。
java [options
] weblogic.Server [-help]
java weblogic.Server -help
コマンドは、よく使用されるオプションのリストを返します。
デフォルト動作
「環境」のとおりに必要な環境を設定してから、オプションを指定せずにコマンド java weblogic.Server
を入力すると、WebLogic Server は次のように動作します。
domain_name
/config
ディレクトリ内で config.xml
というファイルを探します。
domain_name
/config
ディレクトリに config.xml
が存在する場合、WebLogic Server は次のように動作します。
config/config.xml
でサーバ インスタンスが 1 つだけ定義されている場合、そのサーバ インスタンスを起動します。
たとえば、WL_HOME
samples\domains\medrec から java weblogic.Server
を発行すると、WebLogic Server は MedRec サーバを起動します。
config/config.xml
で複数のサーバ インスタンスが定義されている場合、
管理サーバが定義されている場合は、その名前のサーバを探します。
管理サーバが定義されていない場合は、myserver
というサーバ コンフィグレーションを探します。サーバ コンフィグレーションが見つかった場合は、myserver
インスタンスを起動します。
myserver
というサーバが見つからない場合、WebLogic Server は weblogic.Server
プロセスを終了してエラー メッセージを生成します。
カレント ディレクトリに config.xml
ファイルがない場合、WebLogic Server は作成するかどうかを尋ねます。y
と回答すると、WebLogic Server は次のように動作します。
myserver
という名前のサーバ コンフィグレーションを作成して、config/config.xml
ファイルにそのコンフィグレーションを格納します。
指定するオプションはすべて config.xml
ファイルに保持されます。たとえば、-Dweblogic.ListenPort=8001
と指定すると、WebLogic Server は config.xml
ファイルに 8001
を保存します。指定しないオプションについては、サーバ インスタンスはデフォルト値を使用します。
コンフィグレーション ファイルのバックアップ コピーを作成するように WebLogic Server をコンフィグレーションできます。そうすることで、コンフィグレーションの変更を元に戻す必要がある場合や、万一コンフィグレーション ファイルが破損した場合に、回復しやすくなります。詳細については、『ドメインのコンフィグレーションについて』の「コンフィグレーション ファイルのアーカイブ」を参照してください。
指定されたユーザ名とパスワードを使用して、管理者特権を持つユーザを作成します。このユーザの定義を、他の基本的なセキュリティ関連のデータと一緒に domain_name
/security
の DefaultAuthenticatorInit.ldift
、DefaultRoleMapperInit.ldift
、および SerializedSystemIni.dat
ファイルに格納します。
WebLogic Server はユーザ名とパスワードを暗号化して server_name
/security/boot.properties
ファイルに格納します。これにより、以後サーバをインスタンス化するときにはログイン プロンプトが回避されます。詳細については、『サーバの起動と停止の管理』の「起動 ID ファイル」を参照してください。
以後サーバをインスタンス化するときに使用できる 2 つのスクリプト、bin/startWebLogic.cmd
および bin/startWebLogic.sh
を作成します。テキスト エディタを使用して、サーバをプロダクション モードと開発モードのどちらで起動するかなどの起動オプションを変更することができます。startWebLogic
スクリプトには、各オプションを説明するコメントが含まれています。
サーバは新しいドメインの管理サーバとして起動されます。このドメインには他のサーバはなく、また、デプロイメントもサードパーティ製ソリューションもありません。それらは任意の WebLogic ドメインに追加するのと同じように追加できます。
weblogic.Server コンフィグレーション オプション
weblogic.Server
オプションを使用すると、サーバ インスタンスの属性をコンフィグレーションできます。サーバ インスタンスの起動時には、一般に以下の属性が使用されます。
WebLogic Server には、サーバの保存済みコンフィグレーションを一時的にオーバーライドするための起動オプションも用意されています。これらの起動オプションについては、「サーバのコンフィグレーションをオーバーライドするオプション」を参照してください。
「weblogic.Server コマンドラインを使用したドメインの作成」で説明するとおりに新しいドメインを作成する場合以外は、すべての起動オプションは現在のサーバのインスタンス化に適用され、既存の config.xml
ファイルに保持されている値は変更されません。config.xml
ファイルを変更するには、Administration Console または WebLogic Scripting Tool (WLST) を使用します。『WebLogic Scripting Tool ガイド』の「WLST オフラインを使用した WebLogic ドメインの作成とコンフィグレーション」を参照してください。
設定した WebLogic Server 属性値の確認方法については、「コマンドラインで設定した属性値の確認」を参照してください。
JVM パラメータ
以下の表に、サーバ インスタンスが動作する Java 仮想マシン (JVM) をコンフィグレーションするための、よく使用されるオプションを示します。JVM オプションの完全なリストについては、ご使用の JVM のドキュメントを参照してください。WebLogic Server で使用できる JVM のリストについては、http://edocs.beasys.co.jp/e-docs/platform/suppconfigs/index.html の『WebLogic Platform サポート対象のコンフィグレーション』を参照。
表 4-1 JVM パラメータを設定するためのよく使用されるオプション
オプション
|
説明
|
-Xms および -Xmx
|
Java ヒープ メモリの最小値と最大値を指定する (MB 単位)。
たとえば、デフォルトの 256MB の Java ヒープ メモリを WebLogic Server に割り当ててサーバを起動するとする。そのためには、java -Xms256m および -Xmx512m オプションを使用してサーバを起動する。
パラメータに割り当てられたこれらの値は、WebLogic Server のパフォーマンスに大きく影響する可能性があり、ここでは一般的なデフォルト値としてのみ紹介している。プロダクション環境では、実際のアプリケーションや環境に合った適切なメモリ ヒープ サイズを慎重に判断する必要がある。
|
-classpath
|
このオプションで指定する最低限の内容は、「クラスパスの変更」で説明されている。
この引数を使用する代わりに、CLASSPATH 環境変数を使用してクラスパスを指定できる。
|
-client -server
|
一部の JVM が HotSpot 仮想マシンを起動するために使用する。この機能を使用するとパフォーマンスが向上する。WebLogic Server で使用できる JVM のリストについては、http://edocs.beasys.co.jp/e-docs/platform/suppconfigs/index.html の『WebLogic Platform サポート対象のコンフィグレーション』を参照。
|
ライセンスおよびコンフィグレーション データの場所
すべてのサーバ インスタンスは、ライセンスとコンフィグレーション データにアクセスできる必要があります。以下の表に、このデータの場所を指定するためのオプションを示します。
表 4-2 ライセンスおよびコンフィグレーション データの場所を指定するためのオプション
オプション
|
説明
|
-Dbea.home= bea_home
|
BEA ホーム ディレクトリの場所を指定する。BEA ホーム ディレクトリには、ライセンス情報などの必要不可欠な情報が格納されている。
デフォルトでは、weblogic.Server はクラスパス内の値に基づいて BEA ホーム ディレクトリの場所を判別する。
|
-Dweblogic.RootDirectory= path
|
サーバのルート ディレクトリを指定する。『ドメインのコンフィグレーションについて』の「サーバのルート ディレクトリ」を参照。
デフォルトでは、ルート ディレクトリは起動コマンドを発行するディレクトリ。
|
-Dweblogic.ConfigFile=
file_name
|
注意 : このオプションは WebLogic Server 9.0 で削除された。
ドメインのコンフィグレーション ファイルを指定する。file_name 値は、『BEA WebLogic Server Configuration Reference』で定義されたスキーマに準拠する有効な XML ファイルでなければならない。
XML ファイルは、ドメインの管理サーバのルート ディレクトリに存在する必要がある。ルート ディレクトリは、カレント ディレクトリか、または -Dweblogic.RootDirectory で指定したディレクトリ。
file_name 値にはパス名を指定できない。たとえば、次の値は無効となる。
-Dweblogic.ConfigFile=c:\mydir\myfile.xml
代わりに次の引数を使用する。
-Dweblogic.RootDirectory=c:\mydir -Dweblogic.ConfigFile=myfile.xml
この値を指定しない場合のデフォルトは、サーバのルート ディレクトリの config/config.xml になる。
|
-Dweblogic.management.GenerateDefaultConfig=true
|
config.xml ファイルの作成時に weblogic.Server クラスが確認を求めないようにする。
weblogic.Server を空のディレクトリで呼び出した場合にだけ有効。「デフォルト動作」を参照。
|
-Dweblogic.Domain= domain
|
ドメインの名前を指定する。
weblogic.Server を使用してドメインを作成する場合、このオプションを使用するとドメインに特定の名前を指定できる。
また、このオプションでは、7.0 より前のリリースの WebLogic Server で要求され、現在のリリースでも引き続きサポートされるディレクトリ構造をサポートする。7.0 より前のリリースでは、コンフィグレーション ファイルが以下のパス名に格納されている必要があった。
.../config/ domain_name /config.xml
domain_name はドメインの名前。
ドメインのコンフィグレーション ファイルがそのパス名に準拠していて、config/ domain_name 以外のディレクトリから weblogic.Server コマンドを呼び出す場合、-Dweblogic.Domain= domain 引数を指定すると、WebLogic Server は config/ domain_name /config.xml に一致するパス名内で config.xml ファイルを探す。
|
管理対象サーバがコンフィグレーション データを取得する方法については、表 4-3 の -Dweblogic.management.server
エントリを参照してください。
Administration Console には、コマンドラインで設定した値は表示されません。設定した属性値の確認方法については、「コマンドラインで設定した属性値の確認」を参照してください。
例
以下の例では、SimpleServer という名前の管理サーバ インスタンスを起動します。この例では、config.xml
ファイルの名前が SimpleDomain.xml
になり、c:\my_domains\SimpleDomain
というディレクトリに格納されています。コマンドは WL_HOME
\server\bin\setWLSEnv.cmd
の実行後に D:\
ディレクトリから発行されます。WL_HOME
は WebLogic Server のインストール ディレクトリです。
D:\> java -Dweblogic.Name=SimpleServer -Dweblogic.ConfigFile=SimpleDomain.xml -Dweblogic.RootDirectory=c:\my_domains\SimpleDomain weblogic.Server
以下の例では、SimpleManagedServer という名前の管理対象サーバ インスタンスを起動します。管理対象サーバはそのコンフィグレーション データを管理サーバに問い合わせるため、config.xml
ファイルの指定は有効ではありません。WebLogic Server の複数のインスタンスで、同じルート ディレクトリを使用することもできます。ただし、サーバ インスタンスでルート ディレクトリを共有する場合、すべての相対ファイル名はユニークでなければなりません。この例では、SimpleManagedServer は SimpleServer とルート ディレクトリを共有しています。コマンドは WL_HOME
\server\bin\setWLSEnv.cmd
の実行後に D:\
ディレクトリから発行されます。
D:\> java -Dweblogic.Name=SimpleManagedServer -Dweblogic.management.server=http://localhost:7001 -Dweblogic.RootDirectory=c:\my_domains\SimpleDomain weblogic.Server
サーバのコンフィグレーションをオーバーライドするオプション
ほとんどの場合、ドメインの config.xml
ファイルに保存されているコンフィグレーションを起動オプションでオーバーライドする必要はありません。ただし、その必要が生じる場合もまれにあります。
警告 : 起動オプションを使用してコンフィグレーション値をオーバーライドした場合、サーバ インスタンスはそのライフ サイクルにわたってその値を使用します。Administration Console、WebLogic Scripting Tool、または他のユーティリティを使用してこの値を変更しても、変更した値は、オーバーライド オプションを使用せずにサーバを再起動するまでオーバーライドされたままになります。
たとえば、プロダクション環境で、ドメインの config.xml
ファイルの変更を禁止するポリシーが設定されているにもかかわらず、一時的なリスン ポートを使用して管理サーバを再起動する必要があるとします。この場合、weblogic.Server
コマンドを使用して管理サーバを起動するときに、-Dweblogic.ListenPort=7501
という起動オプションを指定することで現在のサーバ セッションのリスン ポートを変更できます。サーバ インスタンスは、config.xml
ファイルからそのコンフィグレーション MBean を初期化しますが、リスン ポートの値として 7501
を使用します。その後、起動オプションを渡さずに管理サーバを起動すると、サーバ インスタンスは config.xml
ファイルの値である 8010
を再び使用します。図 4-1 を参照してください。
図 4-1 config.xml 値のオーバーライド
以下のオブジェクトを使用して、サーバのコンフィグレーションを一時的にオーバーライドします。
サーバ通信
以下の表に、サーバの通信方法をコンフィグレーションするためのオプションを示します。
表 4-3 サーバ通信をコンフィグレーションするためのオプション
オプション
|
説明
|
-Dweblogic.management.server= [ protocol ://] Admin-host:port
|
サーバ インスタンスを管理対象サーバとして起動し、そのサーバ インスタンスをコンフィグレーションおよび管理する管理サーバを指定する。
ドメインのコンフィグレーション ファイルでは、サーバ コンフィグレーションが管理サーバと管理対象サーバのどちらであるかを指定しない。サーバ インスタンスが管理サーバと管理対象サーバのどちらの役割を果たすかについては、インスタンスの起動に使用するオプションで決定する。起動コマンドで -Dweblogic.management.server オプションを省略した場合、サーバは管理サーバとして起動される (ただし、特定のドメイン内でアクティブな管理サーバ インスタンスは 1 つのみ)。管理サーバを実行したら、他のすべてのサーバ コンフィグレーションは、起動コマンドに -Dweblogic.management.server オプションを指定して、管理対象サーバとして起動する必要がある。
protocol には、HTTP 、HTTPS 、T3 、または T3S を指定する。T3S および HTTPS プロトコルの場合は、管理対象サーバと管理サーバで SSL を有効にして、管理サーバの SSL リスン ポートを指定する必要がある。
注意 : 指定するプロトコルに関係なく、管理対象サーバのコンフィグレーションを最初にダウンロードするときは HTTP または HTTPS が使用される。RMI サブシステムが初期化されると、サーバ インスタンスは T3 または T3S プロトコルを使用できる。
Admin-host には、localhost または管理サーバが動作するマシンの DNS 名または IP アドレスを指定する。
port には、管理サーバのリスン ポートを指定する。ドメイン全体の管理ポートを設定した場合は、port にはドメイン全体の管理ポートを指定する必要がある。
管理サーバへの接続のコンフィグレーションの詳細については、『サーバの起動と停止の管理』の「管理対象サーバの管理サーバへの接続のコンフィグレーション」を参照。
|
-Dweblogic.ListenAddress= host
|
このサーバ インスタンスがリクエストをリスンするアドレスを指定する。host の値は、サーバ インスタンスをホストするコンピュータの DNS 名または IP アドレスのいずれかでなければならない。
この起動オプションは、config.xml ファイルで指定されたリスン アドレス値をオーバーライドする。オーバーライドは現在のサーバのインスタンス化に適用され、config.xml ファイルの値は変更されない。Administration Console または WLST を使用して config.xml ファイルを変更する。
詳細については、Administration Console オンライン ヘルプの「リスン アドレスのコンフィグレーション」、および『WebLogic Scripting Tool ガイド』の「WLST オフラインを使用した WebLogic ドメインの作成とコンフィグレーション」を参照。
|
-Dweblogic.ListenPort=
portnumber
|
サーバ インスタンスのプレーン テキスト (非 SSL) リスン ポートを指定し、有効にする。
この起動オプションは、config.xml ファイルで指定されたリスン ポート値をオーバーライドする。オーバーライドは現在のサーバのインスタンス化に適用され、config.xml ファイルの値は変更されない。Administration Console または WLST を使用して config.xml ファイルを変更する。
デフォルトのリスン ポートは 7001。
詳細については、Administration Console オンライン ヘルプの「リスン ポートのコンフィグレーション」、および『WebLogic Scripting Tool ガイド』の「WLST オフラインを使用した WebLogic ドメインの作成とコンフィグレーション」を参照。
|
-Dweblogic.ssl.ListenPort=
portnumber
|
WebLogic Server インスタンスが SSL 接続リクエストをリスンするポートを指定し、有効にする。
この起動オプションは、config.xml ファイルで指定された SSL リスン ポート値をオーバーライドする。オーバーライドは現在のサーバのインスタンス化に適用され、config.xml ファイルの値は変更されない。Administration Console または WLST を使用して config.xml ファイルを変更する。
デフォルトの SSL リスン ポートは 7002。
詳細については、Administration Console オンライン ヘルプの「リスン ポートのコンフィグレーション」、および『WebLogic Scripting Tool ガイド』の「WLST オフラインを使用した WebLogic ドメインの作成とコンフィグレーション」を参照。
|
-Dweblogic.management. discover={true | false}
|
注意 : このオプションは WebLogic Server 9.0 で削除された。
管理サーバに障害が発生し、再起動された後、そのサーバがドメインの管理を回復するかどうかを指定する。
true 値の場合、管理サーバはすべての管理対象サーバと通信し、管理サーバが動作していることを通知する。
false 値の場合、管理サーバは、ドメインで現在アクティブな管理対象サーバと通信できない。
警告 : false の値は、単一サーバの開発環境でのみ指定すること。false を指定すると、ドメイン内のサーバ インスタンスが持つデプロイ済みモジュールのセットに整合性がなくなる可能性がある。
WebLogic Server 9.0 では、このコマンドは非推奨になった。管理サーバが実行を停止して、そのドメインの管理対象サーバは実行を続けた場合、各管理対象サーバは、ServerMBean 属性の AdminReconnectIntervalSecs で指定される間隔で管理サーバに定期的に再接続しようとするため。詳細については、『サーバの起動と停止の管理』の「管理対象サーバと再起動された管理サーバ」を参照。
|
Administration Console には、コマンドラインで設定した値は表示されません。設定した属性値の確認方法については、「コマンドラインで設定した属性値の確認」を参照してください。
SSL
各 WebLogic Server インスタンスでは weblogic.management.configuration.SSLMBean
のインスタンスを使用して、SSL コンフィグレーションを表現します。以下の表で、-Dweblogic.security.SSL
で始まるすべてのオプションは、サーバの SSLMBean
のコンフィグレーションを変更します。たとえば、-Dweblogic.security.SSL
.ignoreHostnameVerification
オプションでは、SSLMBean
の ignoreHostnameVerification
属性の値を設定します。
以下の表に、セキュア ソケット レイヤ (SSL) を使用して通信するようにサーバをコンフィグレーションするためのオプションを示します。
表 4-4 SSL をコンフィグレーションするためのオプション
オプション
|
説明
|
-Dweblogic.security.SSL. ignoreHostnameVerification= true
|
ホスト名検証を無効にする。これによって、WebLogic Server に付属のデモ用デジタル証明書を使用できるようになる。
デフォルトでは、WebLogic Server インスタンスが SSL クライアントである場合 (SSL を介して他のサーバやアプリケーションに接続しようとする場合)、WebLogic Server は、SSL サーバから返されるデジタル証明書のホスト名が、SSL サーバへ接続するときに使用する URL のホスト名と一致していることを検証する。ホスト名が一致しない場合は接続が中断される。
このオプションを使用するか、または config.xml ファイル内のサーバのコンフィグレーションを変更することで、ホスト名検証を無効にすると、サーバ インスタンスは SSL クライアントである場合にホスト名を検証しない。
注意 : プロダクション環境でデモ用デジタル証明書を使用したり、ホスト名検証を無効にしたりすることは望ましくない。
この起動オプションは、config.xml ファイルで設定されたホスト名検証をオーバーライドする。オーバーライドは現在のサーバのインスタンス化に適用され、config.xml ファイルの値は変更されない。Administration Console または WLST を使用して config.xml ファイルを変更する。
詳細については、『WebLogic Server のセキュリティ』の「ホスト名検証の使い方」を参照。
|
-Dweblogic.security.SSL. HostnameVerifier=
hostnameverifierimplmentation
|
カスタム ホスト名検証クラスの名前を指定する。このクラスは weblogic.security.SSL.HostnameVerifier インタフェースを実装する必要がある。
|
-Dweblogic.security.SSL. sessionCache.ttl=
sessionCacheTimeToLive
|
SSL セッション キャッシングに対するサーバセッションのデフォルトの存続期間を変更する。
sessionCacheTimeToLive 値で、SSL セッションの存続時間 (ミリ秒単位) を指定する。デフォルト値は 90000 ミリ秒 (90 秒)。つまり、クライアントが 90 秒以内に (同じセッション ID を使用して) サーバに再びアクセスすると、WebLogic Server は既存の SSL セッションを使用する。サーバの起動スクリプトで -Dweblogic.security.SSL.sessionCache.ttl を設定するとこの値を変更できる。
sessionCache.ttl の場合、
|
-Dweblogic.management. pkpassword= pkpassword
|
暗号化されたフラット ファイルから SSL プライベート キーを取得するためのパスワードを指定する。
このオプションは、プライベート キーを暗号化されたフラット ファイルに格納する場合に使用する。
|
-Dweblogic.security.SSL. trustedCAKeyStore= path
|
非推奨のため、デフォルトで無視される。
WebLogic Server 8.1 より前のリリースで利用可能だった SSL 機能を使用するようにサーバ インスタンスをコンフィグレーションする場合、この引数を使用してサーバまたはクライアントで信頼される認証局を指定する。path の値は、Sun JKS キーストア ファイル (キーおよび証明書のリポジトリを格納) への相対パス名または絶対パス名でなければならない。
8.1 より前のリリースで利用可能だった SSL 機能をサーバ インスタンスで使用し、この引数を指定しない場合は、WebLogic Server またはクライアントは、JAVA_HOME \jre\lib\security で指定されているすべての証明書を信頼する。
プロダクション環境でデモ用認証局を使用することは望ましくない。
詳細については、『WebLogic Server のセキュリティ』の「SSL のコンフィグレーション」を参照。
|
Administration Console には、コマンドラインで設定した値は表示されません。設定した属性値の確認方法については、「コマンドラインで設定した属性値の確認」を参照してください。
追加の SSL 属性を設定する
起動コマンドから追加の SSL 属性を設定するには、次の手順に従います。
起動オプションからコンフィグレーションできる SSL 属性を確認するには、SSLMBean および ServerMBean の WebLogic Server Javadoc を参照してください。Javadoc では、各属性の有効な値も示されています。
SSLMBean
および ServerMBean
がセッター メソッドとして公開している各属性は、起動オプションで設定できます。
SSLMBean
に属性を設定するには、起動コマンドに次のオプションを追加します。
-Dweblogic.ssl.
attribute-name
=
value
attribute-name
は、MBean のセッター メソッドの名前から set
プレフィックスを除いたものです。
ServerMBean
に属性を設定するには、起動コマンドに次のオプションを追加します。
-Dweblogic.server.
attribute-name
=
value
attribute-name
は、MBean のセッター メソッドの名前から set
プレフィックスを除いたものです。
たとえば、SSLMBean
は次のセッター メソッドでその Enabled
属性を公開します。
setEnabled()
MedRecServer というサーバ インスタンスで SSL を有効にするには、MedRecServer の起動時に次のコマンドを使用します。
java -Dweblogic.Name=MedRecServer
-Dweblogic.ssl.Enabled=true weblogic.Server
Administration Console には、コマンドラインで設定した値は表示されません。設定した属性値の確認方法については、「コマンドラインで設定した属性値の確認」を参照してください。
セキュリティ
以下の表に、一般的なセキュリティ パラメータをコンフィグレーションするためのオプションを示します。
表 4-5 一般的なセキュリティ パラメータのオプション
オプション
|
説明
|
-Dweblogic.management. username= username
|
サーバ インスタンスを実行するユーザ名を指定する。
ユーザ名は、サーバを起動するパーミッションを持つロールに属していなければならない。ロールとパーミッションについては、『WebLogic リソースのセキュリティ』の「ユーザ、グループ、セキュリティ ロール」を参照してください。
このオプションにより、サーバ インスタンスは起動 ID ファイルを一切使用しないようになり、サーバが起動 ID ファイルを使用することになるような他の起動オプションはオーバーライドされる。詳細については、『サーバの起動と停止の管理』の「起動 ID ファイル」を参照。
|
-Dweblogic.management. password= password
|
ユーザ パスワードを指定する。
このオプションにより、サーバ インスタンスは起動 ID ファイルを一切使用しないようになり、サーバが起動 ID ファイルを使用することになるような他の起動オプションはオーバーライドされる。詳細については、『サーバの起動と停止の管理』の「起動 ID ファイル」を参照。
注意 : パスワードを指定したがユーザ名を指定しなかった場合、ユーザ名とパスワードの両方を指定するよう要求される。
|
-Dweblogic.system. StoreBootIdentity=true
|
サーバのルート ディレクトリに boot.properties ファイルを作成する。このファイルには、サーバの起動に使用したユーザ名とパスワードの暗号化バージョンが格納される。
この引数をサーバの ServerStartMBean で指定しないこと。詳細については、『サーバの起動と停止の管理』の「ノード マネージャを使用してサーバを起動するときのユーザ資格の指定」を参照。
この引数を起動スクリプトに追加しないことを推奨。この引数は、boot.properties ファイルを作成する場合にのみ使用すること。
詳細については、『サーバの起動と停止の管理』の「起動 ID ファイル」を参照。
|
-Dweblogic.system. BootIdentityFile= filename
|
ユーザ名とパスワードを格納する起動 ID ファイルを指定する。
filename の値は、有効な起動 ID ファイルの絶対パス名でなければならない。例 :
-Dweblogic.system.BootIdentityFile=
WL_HOME \mydomain\servers\myserver\security\boot.properties
ファイル名を指定しない場合、サーバ インスタンスまたは weblogic.Admin SHUTDOWN および FORCESHUTDOWN コマンドは、サーバのルート ディレクトリにある boot.properties ファイルを使用する。
起動 ID ファイルが存在しない場合、
注意 : weblogic.Admin ユーティリティは、WebLogic Server 9.0 では非推奨。同等の機能 (SHUTDOWN や FORCESHUTDOWN など) については、WebLogic Scripting Tool (WLST) を使用することが望ましい。これらのコマンドの使い方の詳細については、「WLST コマンドおよび変数リファレンス」の「ライフ サイクル コマンド」を参照。
|
-Dweblogic.system. RemoveBootIdentity=true
|
サーバの起動後に起動 ID ファイルを削除する。
|
-Dweblogic.security.anonymous UserName= name
|
匿名ユーザにユーザ ID を割り当てる。デフォルトでは、すべての匿名ユーザは <anonymous> という文字列で識別される。
WebLogic Server 6.x のセキュリティ動作をエミュレートするには、name の値に guest を指定して、セキュリティ レルムに guest という名前のユーザを作成する。
詳細については、『WebLogic リソースのセキュリティ』の「ユーザ、グループ、セキュリティ ロール」を参照。
|
-Djava.security.manager
-Djava.security.policy[=]=
filename
|
Java セキュリティ マネージャを有効にして、Java 2 セキュリティ ポリシーが含まれるファイル名を (相対パスまたは完全修飾パス名を使用して) 指定する標準 J2EE オプション。
WebLogic Server のサンプル ポリシー ファイルを使用するには、WL_HOME \server\lib\weblogic.policy を指定する。
-Djava.security.policy== filename (二重の等号記号に注意) を使用すると、ポリシー ファイルはデフォルトのセキュリティ ポリシーをオーバーライドする。この結果、JACC が有効にされるときにサーブレットおよび EJB 認可に使用されるポリシー ファイルが無視される。単一の等号記号 (= ) を使用すると、ポリシー ファイルは既存のセキュリティ ポリシーに付加される。
詳細については、『WebLogic Security プログラマーズ ガイド』の「Java セキュリティ マネージャを使用しての WebLogic リソースの保護」を参照。
|
-Dweblogic.security. fullyDelegateAuthorization=true
|
デフォルトでは、EJB または Web アプリケーションのデプロイメント記述子でセキュリティ制約が定義されている場合を除いて、Administration Console から、EJB または Web アプリケーションに対してロールとセキュリティ ポリシーを設定することはできない。
WebLogic Server の起動時にこのオプションを使用すると、この問題はオーバーライドされる。
この起動オプションは、<unchecked> タグまたは <restricted> タグを使用する EJB または EJB メソッド、または <auth-constraint> タグに role-name が指定されていない Web アプリケーションでは機能しない。
|
-Dweblogic.management. anonymousAdminLookupEnabled=true
|
ユーザ資格を指定しないで MBeanHome インタフェースを取得できるようにする。MBeanHome インタフェースは WebLogic Server JMX API の一部。
ユーザ資格を指定しないで MBeanHome を取得すると、インタフェースは、WebLogic Server MBean の認可プロセスで保護されるように明示的にマークされていない MBean 属性の値に対する読み込み専用アクセスをユーザに付与する。
この起動オプションは、Administration Console の [domain_name |セキュリティ|全般] ページにある [匿名 Admin のルックアップを有効化] 設定をオーバーライドする。
デフォルトでは、MBeanHome API は、デフォルトのセキュリティ ロールのいずれかを持つ WebLogic ユーザに対してのみ MBean へのアクセスを許可する。詳細については、『WebLogic リソースのセキュリティ』の「ユーザ、グループ、セキュリティ ロール」を参照。
|
-Dweblogic.security. identityAssertionTTL= seconds
|
ID アサーション キャッシュがサブジェクトを格納する秒数をコンフィグレーションする。
ID アサーション プロバイダ (X.509 証明書またはその他のトークン) を使用する場合、サブジェクトはサーバにキャッシュされる。この結果、<run-as> タグを使用したサーブレットと EJB メソッドのパフォーマンスと、ID アサーションが使用されるがキャッシュされないその他の場所のパフォーマンス (XML ドキュメントの署名と暗号化など) が大幅に向上する。このキャッシングにより、目的のセマンティクスに違反する場合もある。
デフォルトによって、サブジェクトはキャッシュに 300 秒間保持される (最大許容値)。-1 に設定するとキャッシュを無効化できる。
値を大きくすると ID アサーションのパフォーマンスが大幅に向上するが、コンフィグレーション済み認証プロバイダの変更に対する ID アサーション プロバイダの応答が遅くなる。たとえば、ユーザのグループの変更は、サブジェクトがキャッシュからフラッシュされて再作成されるまで反映されなくなる。
|
-Djava.security.manager
-Djava.security.policy= <insert the location of your policy file here>
-Djavax.security.jacc.PolicyConfigurationFactory.provider= weblogic.security.jacc.simpleprovider.PolicyConfigurationFactoryImpl
-Djavax.security.jacc.policy.provider= weblogic.security.jacc.simpleprovider.SimpleJACCPolicy
-Dweblogic.security.jacc.RoleMapperFactory.provider= weblogic.security.jacc.simpleprovider.RoleMapperFactoryImpl
|
セキュリティ レルムで JACC プロバイダを使用するには、これらの 5 つのシステム プロパティを定義する必要がある。これらのプロバイダを使用する場合、JACC は外部アプリケーションに対する EJB および Servlet コンテナの認可決定を処理する。内部アプリケーションに対する認可決定は、WebLogic Security フレームワークの認可によって処理される。JACC 認可では J2SE セキュリティを使用する必要があるので、J2EE セキュリティ マネージャとポリシー ファイル (サーバ起動プロパティの java.security.manager と java.security.policy で指定する) を使用して WebLogic Server を起動する必要がある。詳細については、『WebLogic Security プログラマーズ ガイド』の「Java セキュリティ マネージャを使用しての WebLogic リソースの保護」を参照。
WebLogic JACC 実装は、ポリシー オブジェクトがデフォルトの sun.security.provider.PolicyFile クラスであると予測する。
起動時に、WebLogic Server は JACC 起動プロパティで指定されたクラスを検索してインスタンス化しようとし、それらを検索またはインスタンス化できない場合 (起動プロパティで指定されたファイルが無効なクラスである場合など) は起動に失敗する。
|
Administration Console には、コマンドラインで設定した値は表示されません。設定した属性値の確認方法については、「コマンドラインで設定した属性値の確認」を参照してください。
メッセージの出力とロギング
以下の表に、サーバ インスタンスのメッセージの出力をコンフィグレーションするためのオプションを示します。
表 4-6 メッセージの出力をコンフィグレーションするためのオプション
オプション
|
説明
|
-Dweblogic.Stdout=" filename "
|
サーバ と JVM の標準出力ストリームをファイルにリダイレクトする。パス名を、完全修飾で指定するか、WebLogic Server のルート ディレクトリからの相対で指定する。
詳細については、Administration Console オンライン ヘルプの「JVM の出力のリダイレクト」を参照。
|
-Dweblogic.Stderr=" filename "
|
サーバ と JVM の標準エラー ストリームをファイルにリダイレクトする。パス名を、完全修飾で指定するか、WebLogic Server のルート ディレクトリからの相対で指定する。
詳細については、『ログ ファイルのコンフィグレーションとログ メッセージのフィルタ処理』の「JVM の出力のリダイレクト」を参照。
|
-Dweblogic. AdministrationMBeanAuditingEnabled= {true | false}
|
ユーザがコンフィグレーションを変更したときやドメイン内のリソースの管理操作を呼び出したときに、管理サーバからコンフィグレーション監査ログ メッセージが送信されるようにするかどうかを指定する。
デフォルトによって、管理サーバはコンフィグレーション監査メッセージを送信しない。
Administration Console オンライン ヘルプの「コンフィグレーション監査の有効化」を参照。
|
Administration Console には、コマンドラインで設定した値は表示されません。設定した属性値の確認方法については、「コマンドラインで設定した属性値の確認」を参照してください。
ロギング属性を設定する
各 WebLogic Server インスタンスでは weblogic.management.configuration.LogMBean
のインスタンスを使用して、ロギング サービスのコンフィグレーションを表現します。
起動コマンドから LogMBean
属性の値を設定するには、次の手順に従います。
起動オプションからコンフィグレーションできるログ属性を確認するには、LogMBean の WebLogic Server Javadoc を参照してください。Javadoc では、各属性の有効な値も示されています。
LogMBean
がセッター メソッドとして公開している各属性は、起動オプションで設定できます。
起動コマンドに次のオプションを追加します。
-Dweblogic.log.
attribute-name
=
value
attribute-name
は、MBean のセッター メソッドの名前から set
プレフィックスを除いたものです。
LogMBean
は次のセッター メソッドでその FileName
属性を公開します。
setFileName()
MedRecServer インスタンスのローカル ログ ファイルの名前を指定するには、MedRecServer の起動時に次のコマンドを使用します。
java -Dweblogic.Name=MedRecServer
-Dweblogic.log.FileName="C:\logfiles\myServer.log"
weblogic.Server
Administration Console には、コマンドラインで設定した値は表示されません。設定した属性値の確認方法については、「コマンドラインで設定した属性値の確認」を参照してください。
その他のサーバ コンフィグレーション オプション
以下の表に、サーバ インスタンスの追加属性をコンフィグレーションするためのオプションを示します。
表 4-7 サーバ属性をコンフィグレーションするためのオプション
オプション
|
説明
|
-Dweblogic.Name=
servername
|
起動するサーバ インスタンスの名前を指定する。指定する名前は、ドメインの config.xml ファイルで定義されているサーバの名前を参照していなければならない。
|
-Dweblogic.ProductionModeEnabled= {true | false}
|
この属性は WebLogic Server 9.0 で非推奨になった。
サーバがプロダクション モードで起動するかどうかを指定する。
true を指定すると、WebLogic Server は domain_name /autodeploy ディレクトリにあるアプリケーションを自動的にデプロイおよび更新できなくなる。
このオプションを指定しない場合、値は false と見なされる。
プロダクション モードを有効にするには、WLST を使用して DomainMBean.isProductionModeEnabled を true に設定するか、Administration Console を使用できる。Administration Console オンライン ヘルプの「プロダクション モードへの変更」を参照。
|
-Dweblogic.management. startupMode= STARTUPMODE
|
この起動引数を使用するには、ドメイン全体の管理ポートを使用するようにドメインをコンフィグレーションする必要がある。
管理ポートの詳細については、『WebLogic Server 環境のコンフィグレーション』の「管理ポートと管理チャネル」および Administration Console オンラインヘルプの「ドメイン全体の管理ポートのコンフィグレーション」を参照。
この起動モード オプションを指定すると、config.xml ファイルのすべての起動モード設定がオーバーライドされる。オーバーライドは現在のサーバのインスタンス化に適用され、config.xml ファイルの値は変更されない。Administration Console または WLST を使用して config.xml ファイルを変更する。
コマンドラインまたは config.xml のいずれかで、この値を指定しない場合、デフォルトでは実行中 (RUNNING ) 状態で起動される。
|
-Dweblogic.apache.xerces. maxentityrefs= numerical-value
|
WebLogic XML パーサが解決する XML ドキュメント内のエントリ数を制限する。
このオプションを指定しない場合、WebLogic Server でインストールされる XML パーサは、XML ドキュメントに含まれているエントリ数に関係なく、XML ドキュメント内の 10,000 エントリの参照を解決する。
|
-Dweblogic.jsp.windows.caseSensitive=true
|
Windows 上の JSP コンパイラが、出力ファイル名の作成時に大文字小文字を保持する。
『WebLogic Server Web アプリケーション、サーブレット、JSP の開発』の「WebLogic JSP コンパイラの使い方」を参照。
|
-Dweblogic.servlet.optimisticSerialization=true
|
optimistic-serialization が有効になっている場合、リクエストがサーブレット コンテキストを超えてディスパッチされるときに getAttribute(name) のコンテキストとリクエスト属性がシリアライズおよびデシリアライズされない。
つまり、複数の Web アプリケーションに共通する属性は、共通の親クラスローダにスコープ指定するか (アプリケーション スコープ指定)、2 つの Web アプリケーションが同じアプリケーションに属していない場合はシステムのクラスパスに配置する必要がある。
optimistic-serialization がオフ (デフォルト値) になっている場合、WebLogic Server は ClassCastException の発生を回避するために getAttribute(name) のコンテキストおよびリクエストの属性をシリアライズおよびデシリアライズする。
optimistic-serialization 値は、WebAppContainerMBean でドメイン レベルで指定することもできる。この値は、すべての Web アプリケーションに適用される。weblogic.xml に値を指定した場合、その値はドメイン レベルの値をオーバーライドする。
デフォルト値は false。
|
Administration Console には、コマンドラインで設定した値は表示されません。設定した属性値の確認方法については、「コマンドラインで設定した属性値の確認」を参照してください。
クラスタ
以下の表に、クラスタの追加属性をコンフィグレーションするためのオプションを示します。
表 4-8 クラスタ属性をコンフィグレーションするためのオプション
オプション
|
説明
|
-Dweblogic.cluster. multicastAddress
|
クラスタ化されたサーバが、クラスタ関連の通信の送信および受信に使用するマルチキャスト アドレスを指定する。デフォルトでは、クラスタ化されたサーバは config.xml ファイルで定義されたマルチキャスト アドレスを参照する。このオプションを使用して config.xml の値をオーバーライドする。
注意 : Administration Console には、コマンドラインで設定した値は表示されない。設定した属性値の確認方法については、「コマンドラインで設定した属性値の確認」を参照。
マルチキャスト アドレスの設定方法に関係なく、クラスタ内のすべてのサーバは同じマルチキャスト アドレスで通信する必要がある。
|
weblogic.Server コマンドラインを使用したサーバ インスタンスの起動
サーバ インスタンスを起動する簡単な方法は次のとおりです。
コマンド シェルで、次のスクリプトを実行して必要な環境変数を設定します。
WL_HOME
\server\bin\setWLSEnv.cmd
(Windows の場合)
WL_HOME
/server/bin/setWLSEnv.sh
(UNIX の場合)
WL_HOME
は WebLogic Server ソフトウェアのインストール ディレクトリです。
コマンド シェルで、ドメイン ディレクトリのルート (通常は BEA_HOME
\user_projects\domains\
DOMAIN_NAME
) に移動します。たとえば、WL_HOME
\samples\domains\medrec
ディレクトリに移動します。
管理サーバを起動するには、次のコマンドを入力します。
java weblogic.Server
注意 : 使用するパスワードは 8 文字以上の文字列でなければなりません (大文字と小文字は区別される)。スペース文字は使用できません。詳細については、『コンフィグレーション ウィザードを使用した WebLogic ドメインの作成』の「管理ユーザ名とパスワードのコンフィグレーション」を参照してください。
ドメインの管理サーバがすでに動作していて、config.xml
ファイルで管理対象サーバをすでに定義している場合は、管理対象サーバを次のように起動できます。
java -Dweblogic.Name=
managed-server-name
-Dweblogic.management.server=
url-for-Administration-Server
weblogic.Server
たとえば、MedRec ドメインで MedRecManagedServer という管理対象サーバを作成する場合、次のコマンドを入力できます。
java -Dweblogic.Name=MedRecManagedServer
-Dweblogic.management.server=localhost:7011
weblogic.Server
weblogic.Server コマンドラインを使用したドメインの作成
weblogic.Server
を使用して、単一のサーバ インスタンスを含むドメインを作成できます。weblogic.Server
を使用してドメインに管理対象サーバ インスタンスを追加したり、既存のドメインを変更したりすることはできません。
「デフォルト動作」で説明されているように、weblogic.Server
は config.xml
ファイルが見つからない場合、新しいファイルを作成するかどうかを尋ねます。指定するコマンド オプションは、該当する属性がある場合は config.xml
ファイルに保持されます。たとえば、-Dweblogic.Name
および -Dweblogic.Domain
オプションでは、サーバ コンフィグレーションの名前とドメインの名前を指定します。weblogic.Server
が config.xml
ファイルを見つけられない場合、これらの両方の値は config.xml
に保持されます。一方、-Dweblogic.system.BootIdentityFile
オプションは、サーバ インスタンスを起動するためのユーザ資格が含まれるファイルを指定しますが、config.xml
ファイルに保持される属性ではありません。
簡単なサンプル ドメインとサーバを作成してインスタンス化するには、次の手順に従います。
コマンド シェルで、次のスクリプトを実行して必要な環境変数を設定します。
WL_HOME
\server\bin\setWLSEnv.cmd
(Windows の場合)
WL_HOME
/server/bin/setWLSEnv.sh
(UNIX の場合)
WL_HOME
は WebLogic Server ソフトウェアのインストール ディレクトリです。
コマンド シェルで、空のディレクトリを作成します。
java -Dweblogic.Domain=SimpleDomain -Dweblogic.Name=SimpleServer
-Dweblogic.management.username=weblogic -Dweblogic.management.password=weblogic -Dweblogic.ListenPort=7001
weblogic.Server
このコマンドを入力すると、WebLogic Server は新しい config.xml
ファイルを作成するかどうかをたずねてきます。y
と入力すると、SimpleDomain というドメインがインスタンス化されます。ドメインの管理サーバは次のようにコンフィグレーションされます。
管理サーバの名前は SimpleServer。
ドメインのセキュリティ レルムには、管理ユーザ weblogic
が 1 つ定義される (パスワードは weblogic
)。
管理サーバのリスン アドレスには、localhost
、ホスト コンピュータの IP アドレス、またはホスト コンピュータの DNS 名を使用できる。リスン アドレスの設定の詳細については、Administration Console オンライン ヘルプの「リスン アドレスのコンフィグレーション」を参照してください。
管理サーバはポート 7001 でリスンする。
この節で説明したように weblogic.Server
コマンドを入力すると、次のファイルが作成されます。
config.xml
DefaultAuthenticatorInit.ldift
、DefaultRoleMapperInit.ldift
、および SerializedSystemIni.dat
。基本的なセキュリティ関連データを格納します。
boot.properties
ファイル。暗号化された形式でユーザ名とパスワードを格納します。このファイルを使用すると、サーバ起動時のユーザ名とパスワードのプロンプトを回避できます。詳細については、『サーバの起動と停止の管理』の「起動 ID ファイル」を参照してください。
startWebLogic.cmd
および startWebLogic.sh
。以後サーバのインスタンス化に使用できます。
注意 : weblogic.Server
を空のディレクトリで呼び出すと、WLST Offline およびコンフィグレーション ウィザードと同じコンフィグレーション プロセスによってドメインが暗黙的に作成されます。これにより、常に共通のドメインを参照できるようになります。weblogic.Server
を使用して空のディレクトリにドメインを暗黙的に作成されるまで、約 15 秒かかります。
コマンドラインで設定した属性値の確認
起動オプションではサーバのローカル コンフィグレーション MBean の属性値を設定するため、Administration Console にはコマンドラインで設定した値は表示されません。サーバのローカル コンフィグレーション MBean の値を表示するには、次のように WLST を使用します。
>
java weblogic.WLST
WebLogic Server インスタンスを起動し (「サーバの起動と停止」を参照)、connect
コマンドを使用して WLST をサーバに接続します。connect
コマンドの詳細については、『WLST コマンドおよび変数リファレンス』の「connect」を参照してください。
wls:/(offline)>
connect('username','password','t3s://localhost:7002')
Connecting to weblogic server instance running at t3s://localhost:7002 as username weblogic ...
wls:/mydomain/serverConfig>
たとえば、あるクラスタ メンバーが使用しているマルチキャスト アドレスを調べるには、WLST をそのサーバ インスタンスに接続して、以下のコマンドを入力します。
wls:/mydomain/serverConfig>
cd('Clusters/cluster_name')
wls:/mydomain/serverConfig/Clusters/mycluster>
cmo.getMulticastAddress()
'239.192.0.0'
サーバ インスタンスが標準出力に出力するメッセージの重大度レベルを調べるには、WLST をそのサーバ インスタンスに接続して、以下のコマンドを入力します。
wls:/mydomain/serverConfig>
cd('Servers/server_name/Log/server_name')
wls:/mydomain/serverConfig/Servers/myserver/Log/myserver>
cmo.getStdoutSeverity()
'Notice'
WLST の使用の詳細については、『WebLogic Scripting Tool ガイド』を参照してください。コンフィグレーション MBean の詳細については、『JMX によるカスタム管理ユーティリティの開発』の「WebLogic Server MBean について」を参照してください。