| type=page |
| status=published |
| title=create-domain |
| next=create-file-user.html |
| prev=create-custom-resource.html |
| ~~~~~~ |
| |
| = create-domain |
| |
| [[create-domain-1]][[GSRFM00023]][[create-domain]] |
| |
| == create-domain |
| |
| Creates a domain |
| |
| [[sthref208]] |
| |
| === Synopsis |
| |
| [source] |
| ---- |
| asadmin [asadmin-options] create-domain [--help] |
| [--adminport adminport] |
| [--instanceport instanceport] |
| [--portbase portbase] |
| [--profile profile-name] |
| [--template template-name] |
| [--domaindir domaindir] |
| [--savemasterpassword={false|true}] |
| [--usemasterpassword={false|true}] |
| [--domainproperties (name=value)[:name=value]*] |
| [--keytooloptions (name=value)[:name=value]*] |
| [--savelogin={false|true}] |
| [--checkports={true|false}] |
| [--nopassword={false|true}] |
| domain-name |
| ---- |
| |
| [[sthref209]] |
| |
| === Description |
| |
| The `create-domain` subcommand creates a {productName} domain. A |
| domain in {productName} is an administrative namespace that complies |
| with the Java Platform, Enterprise Edition (Jakarta EE) standard. Every |
| domain has a configuration, which is stored in a set of files. Any |
| number of domains, each of which has a distinct administrative identity, |
| can be created in a given installation of {productName}. A domain |
| can exist independently of other domains. |
| |
| Any user who has access to the `asadmin` utility on a given system can |
| create a domain and store its configuration in a folder of the user's |
| choosing. By default, the domain configuration is created in the default |
| directory for domains. You can override this location to store the |
| configuration elsewhere. |
| |
| If domain customizers are found in JAR files in the as-install``/modules`` |
| directory when the `create-domain` subcommand is run, the customizers |
| are processed. A domain customizer is a class that implements the |
| `DomainInitializer` interface. |
| |
| The `create-domain` subcommand creates a domain with a single |
| administrative user specified by the `asadmin` utility option `--user`. |
| If the `--user` option is not specified, and the `--nopassword` option |
| is set to true, the default administrative user, `admin`, is used. If |
| the `--nopassword` option is set to false (the default), a username is |
| required. In this case, if you have not specified the user name by using |
| the `--user` option, you are prompted to do so. |
| |
| You choose an appropriate profile for the domain, depending on the |
| applications that you want to run on your new domain. You can choose the |
| developer, cluster, or enterprise profile for the domain you create. |
| |
| This subcommand is supported in local mode only. |
| |
| [[sthref210]] |
| |
| === Options |
| |
| asadmin-options:: |
| Options for the `asadmin` utility. For information about these |
| options, see the link:asadmin.html#asadmin-1m[`asadmin`(1M)] help page. |
| `--help`:: |
| `-?`:: |
| Displays the help text for the subcommand. |
| `--adminport`:: |
| The HTTP port or the HTTPS port for administration. This port is the |
| port in the URL that you specify in your web browser to manage the |
| domain, for example, `http://localhost:4949`. The `--adminport` option |
| cannot be used with the `--portbase` option. The default value is 4848. + |
| The `--adminport` option overrides the `domain.adminPort` property of |
| the `--domainproperties` option. |
| `--instanceport`:: |
| The domain provides services so that applications can run when |
| deployed. This HTTP port specifies where the web application context |
| roots are available for a web browser to connect to. This port is a |
| positive integer and must be available at the time of domain creation. |
| The `--instanceport` option cannot be used with the `--portbase` |
| option. The default value is 8080. + |
| The `--instanceport` option overrides the `domain.instancePort` |
| property of the `--domainproperties` option. |
| `--portbase`:: |
| Determines the number with which port assignments should start. A |
| domain uses a certain number of ports that are statically assigned. |
| The portbase value determines where the assignment should start. The |
| values for the ports are calculated as follows: |
| |
| * Administration port: portbase + 48 |
| * HTTP listener port: portbase + 80 |
| * HTTPS listener port: portbase + 81 |
| * JMS port: portbase + 76 |
| * IIOP listener port: portbase + 37 |
| * Secure IIOP listener port: portbase + 38 |
| * Secure IIOP with mutual authentication port: portbase + 39 |
| * JMX port: portbase + 86 |
| * JPDA debugger port: portbase + 9 |
| * Felix shell service port for OSGi module management: portbase + 66 |
| |
| + |
| When the `--portbase` option is specified, the output of this |
| subcommand includes a complete list of used ports. + |
| The `--portbase` option cannot be used with the `--adminport`, |
| `--instanceport`, or the `--domainproperties` option. |
| `--profile`:: |
| Do not specify this option. This option is retained for compatibility |
| with earlier releases. If you specify this option, a syntax error does |
| not occur. Instead, the subcommand runs successfully and displays a |
| warning message that the option is ignored. |
| `--template`:: |
| The file name, including a relative or absolute path, of a domain |
| configuration template to use for creating the domain. If a relative |
| path is specified, the subcommand appends the path to the |
| as-install``/lib/templates`` directory to locate the file. If it is an |
| absolute pathname, the subcommand locates the file in the specified |
| path. + |
| This option enables domains of different types to be created and |
| custom domain templates to be defined. |
| `--domaindir`:: |
| The directory where the domain is to be created. If specified, the |
| path must be accessible in the filesystem. If not specified, the |
| domain is created in the default domain directory, |
| as-install``/domains``. |
| `--savemasterpassword`:: |
| Setting this option to `true` allows the master password to be written |
| to the file system. If this option is `true`, the |
| `--usemasterpassword` option is also true, regardless of the value |
| that is specified on the command line. The default value is `false`. + |
| A master password is really a password for the secure key store. A |
| domain is designed to keep its own certificate (created at the time of |
| domain creation) in a safe place in the configuration location. This |
| certificate is called the domain's SSL server certificate. When the |
| domain is contacted by a web browser over a secure channel (HTTPS), |
| this certificate is presented by the domain. The master password is |
| supposed to protect the store (a file) that contains this certificate. |
| This file is called `keystore.jks` and is created in the configuration |
| directory of the domain created. If however, this option is chosen, |
| the master password is saved on the disk in the domain's configuration |
| location. The master password is stored in a file called |
| `master-password`, which is a Java JCEKS type keystore. The reason for |
| using the `--savemasterpassword` option is for unattended system |
| boots. In this case, the master password is not prompted for when the |
| domain starts because the password will be extracted from this file. + |
| It is best to create a master password when creating a domain, because |
| the master password is used by the `start-domain` subcommand. For |
| security purposes, the default setting should be false, because saving |
| the master password on the disk is an insecure practice, unless file |
| system permissions are properly set. If the master password is saved, |
| then `start-domain` does not prompt for it. The master password gives |
| an extra level of security to the environment. |
| `--usemasterpassword`:: |
| Specifies whether the key store is encrypted with a master password |
| that is built into the system or a user-defined master password. + |
| If `false` (default), the keystore is encrypted with a well-known |
| password that is built into the system. Encrypting the keystore with a |
| password that is built into the system provides no additional |
| security. + |
| If `true`, the subcommand obtains the master password from the |
| `AS_ADMIN_MASTERPASSWORD` entry in the password file or prompts for |
| the master password. The password file is specified in the |
| `--passwordfile` option of the |
| link:asadmin.html#asadmin-1m[`asadmin`(1M)]utility. + |
| If the `--savemasterpassword` option is `true`, this option is also |
| true, regardless of the value that is specified on the command line. |
| `--domainproperties`:: |
| Setting the optional name/value pairs overrides the default values for |
| the properties of the domain to be created. The list must be separated |
| by the colon (:) character. The `--portbase` options cannot be used |
| with the `--domainproperties` option. The following properties are |
| available: |
| |
| `domain.adminPort`;; |
| This property specifies the port number of the HTTP port or the |
| HTTPS port for administration. This port is the port in the URL that |
| you specify in your web browser to manage the instance, for example, |
| `http://localhost:4949`. Valid values are 1-65535. On UNIX, creating |
| sockets that listen on ports 1-1024 requires superuser privileges. + |
| The `domain.adminPort` property is overridden by the `--adminport` |
| option. |
| `domain.instancePort`;; |
| This property specifies the port number of the port that is used to |
| listen for HTTP requests. Valid values are 1-65535. On UNIX, |
| creating sockets that listen on ports 1-1024 requires superuser |
| privileges. + |
| The `domain.instancePort` property is overridden by `--instanceport` |
| option. |
| `domain.jmxPort`;; |
| This property specifies the port number on which the JMX connector |
| listens. Valid values are 1-65535. On UNIX, creating sockets that |
| listen on ports 1-1024 requires superuser privileges. |
| `http.ssl.port`;; |
| This property specifies the port number of the port that is used to |
| listen for HTTPS requests. Valid values are 1-65535. On UNIX, |
| creating sockets that listen on ports 1-1024 requires superuser |
| privileges. |
| `java.debugger.port`;; |
| This property specifies the port number of the port that is used for |
| connections to the |
| http://java.sun.com/javase/technologies/core/toolsapis/jpda/[Java |
| Platform Debugger Architecture (JPDA)] |
| (http://www.oracle.com/technetwork/java/javase/tech/jpda-141715.html) |
| debugger. Valid values are 1-65535. On UNIX, creating sockets that |
| listen on ports 1-1024 requires superuser privileges. |
| `jms.port`;; |
| This property specifies the port number for the Java Message Service |
| provider. Valid values are 1-65535. On UNIX, creating sockets that |
| listen on ports 1-1024 requires superuser privileges. |
| `orb.listener.port`;; |
| This property specifies the port number of the port that is used for |
| IIOP connections. Valid values are 1-65535. On UNIX, creating |
| sockets that listen on ports 1-1024 requires superuser privileges. |
| `orb.mutualauth.port`;; |
| This property specifies the port number of the port that is used for |
| secure IIOP connections with client authentication. Valid values are |
| 1-65535. On UNIX, creating sockets that listen on ports 1-1024 |
| requires superuser privileges. |
| `orb.ssl.port`;; |
| This property specifies the port number of the port that is used for |
| secure IIOP connections. Valid values are 1-65535. On UNIX, creating |
| sockets that listen on ports 1-1024 requires superuser privileges. |
| `osgi.shell.telnet.port`;; |
| This property specifies the port number of the port that is used for |
| connections to the |
| http://felix.apache.org/site/apache-felix-remote-shell.html[Apache |
| Felix Remote Shell] |
| (http://felix.apache.org/site/apache-felix-remote-shell.html). This |
| shell uses the Felix shell service to interact with the OSGi module |
| management subsystem. Valid values are 1-65535. On UNIX, creating |
| sockets that listen on ports 1-1024 requires superuser privileges. |
| |
| `--keytooloptions`:: |
| Specifies an optional list of name-value pairs of keytool options for |
| a self-signed server certificate. The certificate is generated during |
| the creation of the domain. Each pair in the list must be separated by |
| the colon (:) character. + |
| Allowed options are as follows: |
| |
| `CN`;; |
| Specifies the common name of the host that is to be used for the |
| self-signed certificate. This option name is case insensitive. + |
| By default, the name is the fully-qualified name of the host where |
| the `create-domain` subcommand is run. |
| |
| `--savelogin`:: |
| If set to true, this option saves the administration user name and |
| password. Default value is false. The username and password are stored |
| in the `.asadminpass` file in user's home directory. A domain can only |
| be created locally. Therefore, when using the `--savelogin` option, |
| the host name saved in `.asadminpass` is always `localhost`. If the |
| user has specified default administration port while creating the |
| domain, there is no need to specify `--user`, `--passwordfile`, |
| `--host`, or `--port` on any of the subsequent `asadmin` remote |
| commands. These values will be obtained automatically. |
| + |
| |
| [NOTE] |
| ==== |
| When the same user creates multiple domains that have the same |
| administration port number on the same or different host (where the |
| home directory is NFS mounted), the subcommand does not ask if the |
| password should be overwritten. The password will always be |
| overwritten. |
| ==== |
| `--checkports`:: |
| Specifies whether to check for the availability of the administration, |
| HTTP, JMS, JMX, and IIOP ports. The default value is true. |
| `--nopassword`:: |
| Specifies whether the administrative user will have a password. If |
| false (the default), the password is specified by the |
| `AS_ADMIN_PASSWORD` entry in the `asadmin` password file (set by using |
| the `--passwordfile` option). If false and the `AS_ADMIN_PASSWORD` is |
| not set, you are prompted for the password. + |
| If true, the administrative user is created without a password. If a |
| user name for the domain is not specified by using the `--user` |
| option, and the `--nopassword` option is set to true, the default user |
| name, `admin`, is used. |
| |
| [[sthref211]] |
| |
| === Operands |
| |
| domain-name:: |
| The name of the domain to be created. The name may contain only ASCII |
| characters and must be a valid directory name for the operating system |
| on the host where the domain is created. |
| |
| [[sthref212]] |
| |
| === Examples |
| |
| [[GSRFM471]][[sthref213]] |
| |
| ==== Example 1 Creating a Domain |
| |
| This example creates a domain named `domain4`. |
| |
| [source] |
| ---- |
| asadmin>create-domain --adminport 4848 domain4 |
| Enter admin user name [Enter to accept default "admin" / no password]> |
| Using port 4848 for Admin. |
| Using default port 8080 for HTTP Instance. |
| Using default port 7676 for JMS. |
| Using default port 3700 for IIOP. |
| Using default port 8181 for HTTP_SSL. |
| Using default port 3820 for IIOP_SSL. |
| Using default port 3920 for IIOP_MUTUALAUTH. |
| Using default port 8686 for JMX_ADMIN. |
| Using default port 6666 for OSGI_SHELL. |
| Distinguished Name of the self-signed X.509 Server Certificate is: |
| [CN=sr1-usca-22,OU=GlassFish,O=Oracle Corp.,L=Redwood Shores,ST=California,C=US] |
| No domain initializers found, bypassing customization step |
| Domain domain4 created. |
| Domain domain4 admin port is 4848. |
| Domain domain4 allows admin login as user "admin" with no password. |
| Command create-domain executed successfully. |
| ---- |
| |
| [[GSRFM472]][[sthref214]] |
| |
| ==== Example 2 Creating a Domain in an Alternate Directory |
| |
| This example creates a domain named `sampleDomain` in the |
| `/home/someuser/domains` directory. |
| |
| [source] |
| ---- |
| asadmin> create-domain --domaindir /home/someuser/domains --adminport 7070 |
| --instanceport 7071 sampleDomain |
| Enter admin user name [Enter to accept default "admin" / no password]> |
| Using port 7070 for Admin. |
| Using port 7071 for HTTP Instance. |
| Using default port 7676 for JMS. |
| Using default port 3700 for IIOP. |
| Using default port 8181 for HTTP_SSL. |
| Using default port 3820 for IIOP_SSL. |
| Using default port 3920 for IIOP_MUTUALAUTH. |
| Using default port 8686 for JMX_ADMIN. |
| Using default port 6666 for OSGI_SHELL. |
| Enterprise ServiceDistinguished Name of the self-signed X.509 Server Certificate is: |
| [CN=sr1-usca-22,OU=GlassFish,O=Oracle Corp.,L=Redwood Shores,ST=California,C=US] |
| No domain initializers found, bypassing customization step |
| Domain sampleDomain created. |
| Domain sampleDomain admin port is 7070. |
| Domain sampleDomain allows admin login as user "admin" with no password. |
| Command create-domain executed successfully. |
| ---- |
| |
| [[GSRFM473]][[sthref215]] |
| |
| ==== Example 3 Creating a Domain and Saving the Administration User Name and Password |
| |
| This example creates a domain named `myDomain` and saves the |
| administration username and password. |
| |
| [source] |
| ---- |
| asadmin> create-domain --adminport 8282 --savelogin=true myDomain |
| Enter the admin password [Enter to accept default of no password]> |
| Enter the master password [Enter to accept default password "changeit"]> |
| Using port 8282 for Admin. |
| Using default port 8080 for HTTP Instance. |
| Using default port 7676 for JMS. |
| Using default port 3700 for IIOP. |
| Using default port 8181 for HTTP_SSL. |
| Using default port 3820 for IIOP_SSL. |
| Using default port 3920 for IIOP_MUTUALAUTH. |
| Using default port 8686 for JMX_ADMIN. |
| Using default port 6666 for OSGI_SHELL. |
| Enterprise ServiceDistinguished Name of the self-signed X.509 Server Certificate is: |
| [CN=sr1-usca-22,OU=GlassFish,O=Oracle Corp.,L=Redwood Shores,ST=California,C=US] |
| No domain initializers found, bypassing customization step |
| Domain myDomain created. |
| Domain myDomain admin port is 8282. |
| Domain myDomain allows admin login as user "admin" with no password. |
| Login information relevant to admin user name [admin] |
| for this domain [myDomain] stored at |
| [/home/someuser/.asadminpass] successfully. |
| Make sure that this file remains protected. |
| Information stored in this file will be used by |
| asadmin commands to manage this domain. |
| Command create-domain executed successfully. |
| ---- |
| |
| [[GSRFM474]][[sthref216]] |
| |
| ==== Example 4 Creating a Domain and Designating the Certificate Host |
| |
| This example creates a domain named `domain5`. The common name of the |
| host that is to be used for the self-signed certificate is `trio`. |
| |
| [source] |
| ---- |
| asadmin> create-domain --adminport 9898 --keytooloptions CN=trio domain5 |
| Enter the admin password [Enter to accept default of no password]> |
| Enter the master password [Enter to accept default password "changeit"]> |
| Using port 9898 for Admin. |
| Using default port 8080 for HTTP Instance. |
| Using default port 7676 for JMS. |
| Using default port 3700 for IIOP. |
| Using default port 8181 for HTTP_SSL. |
| Using default port 3820 for IIOP_SSL. |
| Using default port 3920 for IIOP_MUTUALAUTH. |
| Using default port 8686 for JMX_ADMIN. |
| Using default port 6666 for OSGI_SHELL. |
| Distinguished Name of the self-signed X.509 Server Certificate is: |
| [CN=trio,OU=GlassFish,O=Oracle Corp.,L=Redwood Shores,ST=California,C=US] |
| No domain initializers found, bypassing customization step |
| Domain domain5 created. |
| Domain domain5 admin port is 9898. |
| Domain domain5 allows admin login as user "admin" with no password. |
| Command create-domain executed successfully. |
| ---- |
| |
| [[sthref217]] |
| |
| === Exit Status |
| |
| 0:: |
| subcommand executed successfully |
| 1:: |
| error in executing the subcommand |
| |
| [[sthref218]] |
| |
| === See Also |
| |
| link:asadmin.html#asadmin-1m[`asadmin`(1M)] |
| |
| link:delete-domain.html#delete-domain-1[`delete-domain`(1)], |
| link:list-domains.html#list-domains-1[`list-domains`(1)], |
| link:login.html#login-1[`login`(1)], |
| link:start-domain.html#start-domain-1[`start-domain`(1)], |
| link:stop-domain.html#stop-domain-1[`stop-domain`(1)] |
| |
| Apache Felix Remote Shell |
| (`http://felix.apache.org/site/apache-felix-remote-shell.html`), Java |
| Platform Debugger Architecture (JPDA) |
| (`http://www.oracle.com/technetwork/java/javase/tech/jpda-141715.html`) |
| |
| |