You can run the setup command in non-interactive mode to automate the installation process using a script or to run the command directly from the command line. If there is a missing or incorrect argument, the setup tool fails and aborts the process.

The setup tool automatically chooses the maximum heap size. You can manually tune the maximum amount of memory devoted to the server’s process heap using the --maxHeapSize option. The --maxHeapSize argument is only valid if the --entryBalancing or --aggressiveJVMTuning options are also present.

For example, use the --aggressiveJVMTuning option to set the maximum amount of memory used by the Directory Proxy Server and tools as follows:

--aggressiveJVMTuning --maxHeapSize 256m

If you are using entry balancing, tune the amount of memory devoted to the Directory Proxy Server using the --entryBalancing option as follows:

--entryBalancing --maxHeapSize 1g

The amount of memory allowed when using the --entryBalancing option is calculated and depends on the amount of system memory available. If you are using entry balancing and also want the tools to get more memory, include both the --entryBalancing and the --aggressiveJVMTuning options.

--entryBalancing --aggressiveJVMTuning --maxHeapSize 1g

If you have already configured a truststore, you can also use the setup tool to enable security. The following example enables security, both SSL and StartTLS. It also specifies a JKS Keystore and Truststore that define the server certificate and trusted CA. The passwords for the keystore files are defined in the corresponding .pin files, where the password is written on the first line of the file. The values in the .pin files will be copied to the server-root/config directory in the keystore.pin file.

Note that the password to the private key within the keystore is expected to be the same as the password to the keystore. If this is not the case, the private key password can be defined within the Administrative Console or dsconfig by editing the Trust Manager Provider standard configuration object.

$ env JAVA_HOME=/ds/java ./setup --cli \
   --no-prompt --rootUserDN "cn=Directory Manager" \
   --rootUserPassword "password" --ldapPort 389 \
   --enableStartTLS --ldapsPort 636 \
   --useJavaKeystore /path/to/devkeystore.jks \
   --keyStorePasswordFile /path/to/devkeystore.pin \
   --certNickName server-cert \
   --useJavaTrustStore /path/to/devtruststore.jks \
   --trustStorePasswordFile /path/to/devtruststore.pin \
   --acceptLicense