Create Domain Toolでは、モデルとWLSTをオフラインで使用してドメインを作成します。 ツールを使用するには、次に示すように、モデルのdomainInfo
セクションにドメインの管理パスワードを指定する必要があります。
domainInfo:
AdminPassword: welcome1
前述のモデルを使用して、createDomain
ツールを実行し、WebLogic Serverドメインを作成する場所を指定します。
$ weblogic-deploy\bin\createDomain.cmd -oracle_home c:\wls12213 -domain_parent d:\demo\domains -model_file MinimalDemoDomain.yaml
明らかに、テンプレート定義のサーバーのみを使用して空のドメインを作成することはあまり面白くありませんが、この例では、モデルのスパースがより強まるようになります。 Create Domain Toolを実行する場合は、モデル・ファイルを指定する必要があります。 外部ファイルへの参照は、すでに存在するか、アーカイブ・ファイルに含まれている必要があります。 モデルがアーカイブ・ファイルへの1つ以上のパス(wlsdeploy/applications/myapp.war
など)を参照する場合、-archive_file <archive-file-name>
が指定されていないか、指定されたアーカイブ・ファイルに指定されたパスが含まれていないと、Create Domain Toolでエラーが生成されます。
アーカイブ・ファイルとその構造の詳細については、「アーカイブ・ファイル」 (/weblogic-deploy-tooling/concepts/archive/)ページを参照してください。
モデルをカスタマイズして、変数ファイルに定義されたプロパティを参照するモデル・トークンを使用して、環境間で変化する構成値を外部化できます。 これらのモデル・トークンは、@@PROP:<name>@@
という形式です。<name>
は、-variable_file <variable-file-name>
コマンドライン引数で指定された変数ファイル内のプロパティ名にマップされます。 例を見てみましょう。
次のモデル・セクションでは、JDBC DataSource URL、ユーザー名およびパスワードにモデル・トークンを使用します。
resources:
JDBCSystemResource:
MyDatabase:
Target: mycluster
JdbcResource:
DatasourceType: GENERIC
JDBCConnectionPoolParams:
ConnectionReserveTimeoutSeconds: 10
InitialCapacity: 0
MaxCapacity: 5
MinCapacity: 0
TestConnectionsOnReserve: true
TestTableName: SQL ISVALID
JDBCDriverParams:
DriverName: oracle.jdbc.OracleDriver
PasswordEncrypted: '@@PROP:JDBCSystemResource.MyDatabase.JdbcResource.JDBCDriverParams.PasswordEncrypted@@'
URL: '@@PROP:JDBCSystemResource.MyDatabase.JdbcResource.JDBCDriverParams.URL@@'
Properties:
user:
Value: '@@PROP:JDBCSystemResource.MyDatabase.JdbcResource.JDBCDriverParams.Properties.user.Value@@'
次の変数ファイルは、各トークンに置換される値を指定します。
JDBCSystemResource.MyDatabase.JdbcResource.JDBCDriverParams.URL=jdbc:oracle:thin:@//mydb.example.com:1539/PDBORCL
JDBCSystemResource.MyDatabase.JdbcResource.JDBCDriverParams.Properties.user.Value=scott
JDBCSystemResource.MyDatabase.JdbcResource.JDBCDriverParams.PasswordEncrypted=tiger
次のコマンド行は、ドメインの作成時にトークン解決を有効にするための変数ファイルを提供します。
$ weblogic-deploy\bin\createDomain.cmd -model_file mymodel.yaml -variable_file myvariables.properties -oracle_home c:\wls12213 -domain_parent d:\demo\domains
デフォルトでは、他のすべてのWDTツールと同様に、Create Domain Toolは、作成されるドメインが純粋なWebLogic Serverドメインであると想定します。 WebLogic Serverドメインとは、weblogic-deploy/lib/typedefs/WLS.json
にあるWLS
typedefファイルによって定義されます。 その他のドメイン・タイプは、対応するtypedefファイルをweblogic-deploy/lib/typedefs/<type-name>.json
にインストールするだけでわかります。 たとえば、JRF
ドメイン・タイプは、weblogic-deploy/lib/typedefs/JRF.json
typedefファイルによって定義されます。
別のタイプのドメインを作成する場合は、-domain_type <type-name>
コマンドライン引数を追加するだけで済みます。たとえば、JRFドメインの場合は、コマンドライン引数に-domain_type JRF
を追加します。 ドメインtypedefsは、適用するドメイン・テンプレート、ドメイン・テンプレートで定義されたリソースのターゲット指定の処理方法、および必要なRCUスキーマに関する情報をツールに通知するため、Create Domain Toolにとって重要なロールを果たします。 詳細は、「ドメイン・タイプ定義」のページを参照してください。
ドメイン・タイプ引数を使用する例:
$ weblogic-deploy\bin\createDomain.cmd -domain_type JRF -model_file model.yaml -oracle_home c:\wls12213 -domain_parent d:\demo\domains
ドメイン・タイプを指定する場合、参照されるOracle Homeに必要な製品がインストールされていることが重要です。 たとえば、JRF
ドメインを作成するには、Oracle HomeにFMWインフラストラクチャがインストールされている必要があります。
タイプがRCUスキーマに依存するドメインを作成する場合は、データベースにRCUスキーマを作成する必要があります。 これを行うには、Oracle Homeにインストールされているrcu
ユーティリティ(たとえば、$ORACLE_HOME/oracle_common/bin/rcu
)を直接実行するか、Create Domain ToolでRCUを実行します。 どちらの方法でも、domainInfo:/RCUDbInfo
セクションは、テンプレート定義のRCUデータ・ソースの構成に必要な情報を提供することが重要です。 次の例は、rcu
ユーティリティがスキーマの作成にすでに使用されている場合に必要となる最小限の属性セットを示しています。
domainInfo:
RCUDbInfo:
rcu_db_conn_string: mydb.example.com:1539/PDBORCL
rcu_prefix: DEMO
rcu_schema_password: my-demo-password
Create Domain Toolを使用してRCUスキーマを作成する場合は、rcu_admin_password
属性も指定する必要があります。 データベース管理ユーザーがsys as sysdba
でない場合は、rcu_admin_user
属性を使用して、代わりに使用するデータベース管理ユーザー名を指定します。
domainInfo:
RCUDbInfo:
rcu_db_conn_string: mydb.example.com:1539/PDBORCL
rcu_prefix: DEMO
rcu_admin_user: admin
rcu_admin_password: my-admin-password
rcu_schema_password: my-demo-password
「The RCUDbInfo」セクションには、より高度なシナリオで重要になる可能性がある他のフィールドがあります。 詳細は、「データベースへの接続」ページを参照してください。
モデルがRCUを実行するために適切に構成されたら、Create Domain Toolコマンド・ラインに-run_rcu
引数を追加するだけです。
$ weblogic-deploy\bin\createDomain.cmd -run_rcu -domain_type JRF -run_rcu -model_file jrf-model.yaml -oracle_home c:\wls12213 -domain_parent d:\demo\domains
-run_rcu
を使用してRCUスキーマを作成する場合、Create Domain Toolのデフォルトの動作では、スキーマを作成する前にまずスキーマを削除しようとすることに注意してください。 この動作は、tool.properties
ファイルのdisable.rcu.drop.schema
プロパティを使用して無効にできます。 詳細については、[ツール・プロパティ・ファイル] (/weblogic-deploy-tooling/userguide/tools-config/tool_prop/)ページを参照してください。
より複雑なドメインを作成するには、カスタム・ドメイン・タイプを作成する必要がある場合があります。 これは、ドメインにカスタム・テンプレートまたは他のOracle製品のテンプレートがある場合に便利です。 詳細については、「ドメイン・タイプ定義」を参照してください。
デフォルトでは、WLSTオフラインでは、管理者パスワードに8文字以上、1文字以上の数字または特殊文字が必要です。 Create Domainツールは、topology
セクションのSecurity/User
セクションに追加されたユーザーのdomainInfo
セクションのAdminPassword
属性値とPassword
フィールドの両方を、デフォルト・ルールに対してバリデートします。
3.5.0より前は、管理者パスワードのバリデーション・エラーによりWLSTエラーが発生し、ドメインの作成が中断されましたが、他のユーザーのバリデーション・エラーにより、ドメインとユーザーが作成された場合でも、WDTから警告が発生しました。 ただし、バグのため、無効なパスワードを持つこれらのユーザーは、使用できないパスワードで作成されています。
3.5.0以降、このバリデーションは統合および拡張されました。 次に、パスワード・バリデーションを実行します:
topology:
SecurityConfiguration:
Realm:
myrealm:
PasswordValidator:
SystemPasswordValidator:
SystemPasswordValidator:
MinPasswordLength: 12
警告: デフォルト値が8のMinPasswordLength
属性と、デフォルト値が1のMinNumericOrSpecialCharacters
属性には特別な動作があります。 WLSTオフラインでは、管理者パスワードのバリデート時にこれらの値は考慮されません。 かわりに、常にデフォルト値が使用されるため、Create Domainで値が小さい場合でも、パスワードがこれらのデフォルト値を満たさないため、WLSTオフラインではドメインの作成に失敗します。 この新しいパスワード・バリデーションの場合のみ、Create Domainでは、モデルで指定されたものとデフォルト値との間の大きい値が使用されます。 Create Domainでは、モデル内の正確な設定でSystemPasswordValidator
セキュリティ・プロバイダが作成されます。
この新しいバリデーション動作を無効にするには、$WLSDEPLOY_HOME/lib/tool.properties
でenable.create.domain.password.validation
プロパティをfalse
に設定するか、またはCreate Domainツールを起動する前に-Dwdt.config.enable.create.domain.password.validation=false
をWLSDEPLOY_PROPERTIES
環境変数に追加します。 このバリデーションを無効にすると、ドメインの管理パスワードのWLSTオフライン・バリデーションを除き、パスワードのすべてのバリデーションが無効になります。
モデルまたは変数ファイルにWDT Encrypt Model Toolで暗号化されたパスワードが含まれている場合は、Create Domain Toolで復号化できるように、モデルの暗号化に使用するWDT暗号化パスフレーズを指定する必要があります。 これを行うには、次のいずれかのコマンドライン引数を指定します:
-passphrase_env <ENV_VAR>
- 指定された環境変数からパスフレーズを読み取ります。-passphrase_file <file-name>
- パスフレーズを含むファイルからパスフレーズを読み取る、または-passphrase_prompt
- シェル・スクリプトの標準入力に値をプロンプトまたはパイプして、stdin
からパスフレーズを読み取ります。Create Domain Toolでは、「複数のモデルの使用」に説明されている複数のモデルを使用できます。
boot.properties
開発ドメインを作成する場合、WDTは、ドメイン内の各サーバーに対してboot.properties
ファイルを作成する利便性を提供します。 boot.properties
ファイルには、管理サーバー・ユーザー名およびパスワードの暗号化された値が含まれます。 管理サーバーまたは管理対象サーバーを起動すると、WebLogic Serverは資格証明のプロンプトを省略し、かわりにboot.properties
ファイルの資格証明を使用します。
ServerStartMode
オプションがprod
またはsecure
に設定されている場合、またはドメインMBeanのProductionModeEnabled
属性がtrue
に設定されている場合、ドメインは本番モードです。 同じモデルで両方の属性を使用するアンチ・パターンです。
boot.properties
ファイルは、WDTが実行されるマシンのドメイン・ホームに格納されます。 サーバーごとに<domain_home>/servers/<server_name>/security/boot.properties
として格納されます。
次に、ServerStartMode
を使用してドメインを開発モードで作成するように指定するモデルの例を示します。 ドメインのデフォルトは開発モードであるため、次のServerStartMode
行は効果がないので、この例は説明のみを目的としています。
domainInfo:
AdminUserName: weblogic
AdminPassword: welcome1
ServerStartMode: dev
topology:
Name: my-domain
次の環境変数を設定できます。
JAVA_HOME
JDKのロケーション。 これは有効なJava 7以降のJDKである必要があります。 WLSDEPLOY_PROPERTIES
WLSTに渡されるシステム・プロパティ。Create Domain Tool (およびWLSTを使用するその他のツール)を実行する場合、ツールの実行に使用される実際のJDKは、JAVA_HOME
環境変数によって定義されたものではなく、Oracle HomeにWebLogic Serverをインストールするために使用されるJDKになります。 ベスト・プラクティスは、WebLogic Serverのインストールに使用したものと同じJDKインストールを指すようにJAVA_HOME
を設定することです。
ツールの完全なコンソール出力(stdoutおよびstderrに出力される出力)およびログ・ファイルcreateDomain.log
(通常は<install home>/weblogic-deploy/logs
ディレクトリにあります)を指定してください。 可能な場合は、モデル、変数およびアーカイブ・ファイル、および環境の理解に役立つその他の情報、実行していること、および何が起こっているかを記入してください。
createDomain
のパラメータ表パラメータ | 定義 | デフォルト |
---|---|---|
-archive_file |
使用するアーカイブ・ファイルへのパス。 -model_file 引数が指定されていない場合、このアーカイブのモデル・ファイルが使用されます。 これは、アーカイブ・ファイルのカンマ区切りリストとして指定することもできます。 各アーカイブ内の内容が、リストの前のアーカイブより優先されます。 |
|
-domain_home |
-domain_parent を使用しない場合は必須です。 ドメインを作成する完全なディレクトリと名前。 |
|
-domain_parent |
-domain_home を使用しない場合は必須です。 ドメインを作成する親ディレクトリ。 名前は、モデル内のドメイン名です。 |
|
-domain_type |
ドメインのタイプ(WLS 、JRF など)。 |
WLS |
-java_home |
新しいドメインに使用するJavaホーム。 指定しない場合、JAVA_HOME 環境変数の値がデフォルトになります。 |
|
-model_file |
モデル・ファイルのロケーション。 これは、モデル・ロケーションのコンマ区切りリストとして指定することもできます。このリストでは、前のモデル・ロケーションの上に続く各モデル層が配置されます。 | |
-oracle_home |
Oracle WebLogicインストールのホーム・ディレクトリ。 ORACLE_HOME 環境変数が設定されていない場合は必須です。 |
|
-opss_wallet |
既存のRCUスキーマ・セットに再接続するために必要なドメインの暗号化キーを含むOracleウォレットのロケーション。 | |
-opss_wallet_passphrase_env |
プロンプトでOPSSウォレット・パスフレーズを入力する代替手段。 この値は、WDTがパスフレーズの取得に使用する環境変数名です。 | |
-opss_wallet_passphrase_file |
プロンプトでOPSSウォレット・パスフレーズを入力する代替手段。 値は、パスフレーズを取得するためにWDTが読み取る文字列値を持つファイルの名前です。 | |
-passphrase_env |
プロンプトで暗号化パスフレーズを入力する代替手段。 この値は、WDTがパスフレーズの取得に使用する環境変数名です。 | |
-passphrase_file |
プロンプトで暗号化パスフレーズを入力する代替手段。 値は、パスフレーズを取得するためにWDTが読み取る文字列値を持つファイルの名前です。 | |
-passphrase_prompt |
WDTが暗号化パスフレーズを要求したり、標準入力から読み取ったりできるようにします。 | |
-run_rcu |
RCUを実行して、指定したRCUプレフィクスを使用してドメイン・タイプで指定されたデータベース・スキーマを作成します。 RCUを実行すると、作成を試みる前に、同じRCUプレフィクスを持つ既存のスキーマが削除されます。 | |
-use_encryption |
(非推奨) -passphrase_prompt 引数に置き換えられます。 |
|
-variable_file |
モデルで使用される変数の値を含むプロパティ・ファイルのロケーション。 これは、プロパティ・ファイルのカンマ区切りリストとして指定することもできます。このリストでは、前述のプロパティ・レイヤーの先頭に続く各プロパティ・レイヤーのセットがあります。 |