Installing the server in silent mode#

In silent mode, you specify the installation properties in a text file and then run the server installation without command-line prompts.

If you are adding the server to a high-availability cluster, including as a cold standby server:

For information about high-availability clusters, see High availability and failover. For information about cold standby, see Adding cold standby servers.

You specify the server installation properties in the install.properties file, which is located in the root folder of the installation files. During the installation process, the server stores these properties in the installed.properties file, which is in the conf/server folder of the server installation files. If you have an already existing installation, you can use its installed.properties file as an example of the properties.

Note: Some of the properties in the table below can be changed after the server has been installed and others cannot. After the server starts for the first time, the server adds other properties to the installed.properties file. Some of these additional properties can be changed and others cannot.

  1. Download and extract the installation files for HCL Launch.

    These files are available for download from the IBM Passport Advantage® website. See the IBM UrbanCode Deploy download document.

  2. If you are using a database other than Apache Derby, place the JAR file for the database in the lib/ext folder of the installation files.

  3. Customize the installation by specifying the properties in the following table.

    If you do not specify a property, the default value is used. These properties are copied to the installed.properties file of the completed installation.

    If you specify a path in a property on a Windows system, you must escape any backslash (\) characters that are in the path. For example, to set the install.server.dir property to C:\ucd, specify install.server.dir=C\:\\ucd. See java.util Class Properties.

    Note: The server.initial.password needs to be specified or install will fail.

    Property Default value Description
    agentcomm.enabled None Set the property to true to enable the Web agents and agent relays communication with the server. Note that all servers in an HA cluster must be configured to enable or disable JMS communication.
    agentcomm.jms.enabled None Set the property to true to enable the JMS agents and agent relays communication with the server. If you want to use Web agents and agent relays only, then set the property to false. If you have JMS agents and relays in your architecture and have set the property to false, it will result in HCL Launch malfunction. Note that all servers in an HA cluster must be configured to enable or disable JMS communication.
    agentcomm.keystore ../conf/server/s2s-client-identity.keystore Used with Web agents. See, Web agent configuration
    agentcomm.uri wss://host-or-ip:7919 WebSocket connection that is used to communicate with Web agents. The WebSocket secure URL must have the format wss://host-or-ip:port. Each server must have a unique URL, and every server in a HA cluster must be able to connect to this URL. Web agents use this URL to communicate with the sever.
    com.urbancode.ds.web.rest.integration.vsys.VsysHelper.timeout 120 The time, in seconds, that server waits while it provisions an IBM PureApplication® System environment. For complicated patterns, you might have to increase this value. Specify a value greater than the longest provision session requires. For example, if no provision is expected to take longer than 10 minutes, specify 900, or 15 minutes.
    com.urbancode.ds.workflow.copyChildPropertiesToParentContext true Set this property to false if you are not using children process properties. This can provide a performance boost.
    com.urbancode.resource.sync.interval 5 Synchronizes the resource template changes at a regular interval of time. Enter the time interval (in minutes) at which the resource sync service runs on the system. Default is 5. Setting the time interval to 15 minutes may help in improving the performance of the system. Note that changes in a resource template structure are automatically picked up by the resource sync service but any change in the role properties of a resource template will not be synchronized.
    database.databasename None The name of the database to use when you specify db2zos in the database.type property.
    database.derby.port 11377 The port for the Derby database. This property is used only for Derby databases.
    database.type derby The type of database. Valid values are derby, mysql, oracle, sqlserver, db2, and db2zos. Warning:Derby is for evaluation purposes only; do not use Derby for a production server. In addition, if you install the server as a node in a high-availability cluster, you cannot use Derby.
    encryption.keystore ../conf/encryption.keystore The path to the encryption keystore. This parameter is optional if you have an existing installation that you are upgrading.
    encryption.keystore.alias desedekeyuniqueID The encryption keystore alias. This parameter is optional if you have an existing installation that you are upgrading.
    hibernate.connection.driver_class The default value depends on the type of database The class name of the database driver, such as com.db2.jcc.DB2Driver for DB2® or org.apache.derby.jdbc.ClientDriver for Derby.
    hibernate.connection.password password The password for the database connection. This password is encrypted during the installation process.
    hibernate.connection.url jdbc:derby://host-or-ip:11377/data The connection URL for the database. For more information on building a database connection string, refer to documentation from your database provider.
    hibernate.connection.username db\_user The user name for the database connection. Unless skip.db.install is set to Y, this user must have permission to create tables in the database.
    hibernate.default_schema None The name of the database schema. This property is required only for Oracle databases on Windows.
    install.ha N Specify Y if the new server is part of a high-availability cluster. If you specify Y, Derby is not an option for the server. In this case, you must specify database information in properties such as database.type and hibernate.connection.url.
    install.java.home The value of the JAVA_HOME system variable The location of the installation of Java to use. This value must match the value of the JAVA_HOME system variable. It must also match the location of the JRE or JDK that you use to run the installation file.
    install.server.dir /opt/ucd-7.0/server (Linux) or C:\Program Files\ucd\server (Windows) The installation directory for the server.
    install.server.web.always.secure Y Specify Y to always use secure connections to the server. Specify N to allow non-secure connections.
    install.server.web.host The host name of the server If you are installing a stand-alone server, specify the host name of the computer that hosts the server. If you are installing a stand-alone server in a production environment, consider specifying a host name that is not tied to the physical computer. By specifying such a host name, you can expand the server to a high-availability system later. If you are installing a server in a high-availability cluster, specify the host name of the load balancer for the cluster.
    install.server.web.https.port 8443 Specify the HTTPS port for the server. The default value is 8443. If you are installing HCL Launch, UrbanCode Velocity, and IBM UrbanCode Release, be sure to use a different port for each product. If you are installing multiple instances of HCL Launch on the same computer, be sure to use a different port for each instance.
    install.server.web.ip 0.0.0.0 The IP address that the server listens on. Specify 0.0.0.0 to listen on all addresses that are available to the system.
    install.server.web.port 8080 Specify the HTTP port for the server. The default value is 8080.If you are installing HCL Launch, UrbanCode Velocity, and IBM UrbanCode Release, be sure to use a different port for each product. If you are installing multiple instances of HCL Launch on the same computer, be sure to use a different port for each instance.
    install.service None To install HCL Launch as Windows service, enter install.service=Y.
    install.service.name None To install HCL Launch as Windows service, enter install.service.name=silentUCD.
    install.service.login None To install HCL Launch as Windows service, enter install.service.login=.\\localsystem.
    install.service.password None Enter the password for the administrative user.
    install.service.autostart None Enter install.service.autostart=N.
    license.server.url None Specify the connection information for the license server. You can specify the port and host name or IP address for the license server, such as 27000@RCLServer.example.com. To avoid problems when a license server is not available, you can specify multiple license servers. In this case, separate each address with colons on Linux and UNIX or semicolons on Windows, as in the following example: 27000@RCLServer.example.com;27000@backupRCLServer.example.com. For more complicated license server scenarios, see this document: http://www-01.ibm.com/support/knowledgecenter/SSSTWP_8.1.4/com.rational.license.doc/topics/r_specify_lic_servers.html. For more information about licensing, see License management. This parameter is optional if you have an existing installation that you are upgrading.
    server.activemq.queue.memory 100 mb The memory limit for queues in Apache ActiveMQ. To prevent a single queue from using too much memory, this amount of memory should be less than one-fifth of the system memory limit in server.activemq.system.memory. Specify an integer value followed by mb for megabytes or gb for gigabytes.
    server.activemq.system.memory 512 mb The total amount of memory that Apache ActiveMQ can use on the system. This amount of memory should always be much less than the maximum amount of memory that is allotted to the server. On Linux and Unix systems, the maximum server memory is set in the set_env file, in the JAVA_OPTS parameter, in the -Xmx parameter. Specify an integer value followed by mb for megabytes or gb for gigabytes.
    server.activemq.topic.memory 100 mb The memory limit for topics in Apache ActiveMQ. To prevent a single topic from using too much memory, this amount of memory should be less than one-fifth of the system memory limit in server.activemq.system.memory. Specify an integer value followed by mb for megabytes or gb for gigabytes.
    server.agentCommunicationAlwaysEncrypted false Set this property to true to accept connections only from agents that use secure connections.
    server.appdata.dir The default application data folder is /opt/ibm-ucd/server/appdata on Linux and C:\Program Files\ibm-ucd\server\appdata on Windows. The path to the application data directory. The directory must be accessible to the server, and you must have the appropriate permissions. If you are installing a node in a high-availability cluster, this directory must be on the cluster network storage.
    server.initial.password None Specify the starting password for the administrator account on the server. The administrator user name is admin.
    server.jms.mutualAuth false Specify true to require mutual authentication between servers and agents. See Configuring mutual authentication.
    server.jms.port 7918 Specify the port that JMS agents use to contact the server. The default value is 7918. If you are using failover servers, you must list the JMS connection ports of those servers here, separated by commas. Each server must have a corresponding port number in this property, even if some of those servers use the same port.
    server.keystore None The path to the server keystore.
    server.keystore.password changeit The password for the server keystore. This password is encrypted during the installation process. Additionally, this password is initially assigned to the encryption.keystore.password property.
    server.userIdAuthScheme false Set to true to enable the authentication method needed to have a Distributed Front-end Server. Must be set on the backend servers to allow the front-end servers to communicate with them.
    skip.db.install N If the value is Y or yes, the installation process does not create the database schema. For example, you skip creating the schema if you have a pre-populated database, such as if you are adding a server to a cluster. In this case, you must still provide the database connection information in the other properties such as hibernate.connection.url.
    tomcat.key.alais server The keystore alias name.

    The file looks similar to the following example:

    component.name=IBM UrbanCode Deploy component.directory=ucd/server version=6.0.0.0.123456 nonInteractive=true install.server.dir=/opt/ucd/server install.java.home=/opt/IBM/ibm-java-i386-80 install.server.web.always.secure=Y install.server.web.host=myserver.example.com install.server.web.https.port=8443 install.server.web.ip=0.0.0.0 install.server.web.port=8080 database.type=derby hibernate.connection.username=ucd hibernate.connection.password=password hibernate.connection.url=jdbc:derby://host-or-ip:11377/data database.derby.port=11377 license.server.url=27000@RCLServer.example.com server.initial.password=admin

  4. Save the file.

  5. Specify the -silent flag when running the installer. Add the flag to the installation file with the command install-server.bat -silent on Windows or the command ./install-server.sh -silent on Linux.

    V7.0 introduces new arguments to the install-server.bat and install-server.sh.

    These scripts behave identically and take combinations of the following arguments:

    -silent -install-dir /path/to/install -java /path/to/jdk

    They each correspond to properties in install.properties , and if specified they will override them. Corresponding properties are as follows:

    Argument Property Note
    -silent nonInteractive=true Running with -silent and without an -install-dir results in an error.
    -install-dir /path/to/dir install.server.dir=/path/to/dir Setting an install-dir that already has server results in a server upgrade.
    -java /path/to/jdk install.java.home=/path/to/jdk Running with -java for a server upgrade results in an error.

The installation program installs the server. If you install the server as a node in high-availability cluster, the installer loads the existing encryption keystore that is in the shared storage folder by using the default settings. If the default password is incorrect, you are prompted for the password. If after three attempts you do not enter the correct password, the installation process stops. If the keystore has more than one alias, you are prompted to specify an alias.

To start the server, see Starting and stopping the server.

If you selected mutual authentication, set up the authentication. See Configuring mutual authentication.

When you run the server for the first time, you might see an error message that says that no agent or tag is configured to import new component versions. To import component versions, including built artifacts, you must use an agent, and the server requires that you specify a default agent for this purpose. You can override this default setting when you create a component. Follow these steps to specify a default agent or agent tag:

If you see "Out of memory" errors, increase the amount of memory that is available to the HCL Launch service. See Increasing the amount of memory that is available to the server.

If you are using Derby, you might see the following error in the results of the installation program:

[echo]     waiting for db to start - 6 seconds remaining
[echo]     waiting for db to start - 3 seconds remaining
[echo] Could not start database
[echo] Stopping embedded database ...
[java] Tue Feb 04 09:11:25 EST 2014 : Could not connect 
  to Derby Network Server on host localhost, port 11377: 
  Connection refused

If you see this error, you must change the default security settings for the Java installation on the server:

  1. Open the Java security policy file in a text editor. If you are using a Java Runtime Environment (JRE), this file is at the location JAVA_HOME/lib/security/java.policy, where JAVA_HOME is the base folder of the Java installation. If you are using a Java Development Kit (JDK), the file is at the location JAVA_HOME/jre/lib/security/java.policy.
  2. In the java.policy file, in the section that is labeled // default permissions granted to all domains, within the grant{} block, add the following code:

    permission java.net.SocketPermission "localhost:11377", "listen";

  3. Run the installation program again.

Parent topic: Installing the server