Automatizar instalaciones de OpenDJ

Cuando instalamos OpenDJ normalmente lo hacemos a través del setup, ya sea a mediante de la línea de comandos o con el instalador gráfico. La instalación por CLI es bastante rápida pero aún así nos obliga a introducir una serie de parámetros de forma manual para poder completar la instalación:

# ./setup --cli

Información del parámetro «–cli»:

-i, --cli
    Use the command line install. If not specified the graphical interface will
    be launched.  The rest of the options (excluding help and version) will
    only be taken into account if this option is specified

Hay 2 formas de automatizar la instalación. Pasamos a verlas a continuación.

Instalación pasando parámetros al setup

Como era de esperar hay formas de automatizar la instalación de OpenDJ desde línea de comandos. Una de las opciones, que no es la más elegante, es pasar por parámetros toda la configuración de la instancia, ejemplo:

# ./setup --baseDN "o=test" \
 --addBaseEntry \
 --ldapPort 389 \
 --adminConnectorPort 4444 \
 --rootUserDN "cn=Directory Manager" \
 --rootUserPassword "password" \
 --hostname foo.local \
 --enableStartTLS \
 --ldapsPort 686 \
 --generateSelfSignedCertificate \
 --doNotStart \
 --no-prompt \
 --acceptLicense

Y la salida de la instalación:

See /tmp/opendj-setup-5822449905029414950.log for a detailed log of this operation.

Configuring Directory Server ..... Done.
Configuring Certificates ..... Done.
Creating Base Entry o=test ..... Done.

To see basic server configuration status and configuration
you can launch /home/foo/Downloads/opendj/bin/status

Como podéis observar, pasamos todos los parámetros de configuración directamente por línea de comandos. Hay que tener en cuenta que en cuanto nos dejemos algún parámetro obligatorio sin poner saltará el instalador.

Instalación con archivo de configuración

La forma más óptima de automatizar la instalaciones de OpenDJ es a través de un fichero de configuración. Básicamente al setup le pasamos como parámetro el fichero de configuración que contiene todos los parámetros a aplicar en la instalación.

Cada parámetro es el mismo que los configurados antes pero eliminando los dos guiones. En este caso añadimos 2000 entradas de ejemplo a la rama «o=test»:

hostname                        =foo.local
ldapPort                        =389
generateSelfSignedCertificate   =true
enableStartTLS                  =true
ldapsPort                       =636
adminConnectorPort              =4444
rootUserDN                      =cn=Directory Manager
rootUserPassword                =password
baseDN                          =o=test
sampleData                      =2000

Y el comando a utilizar para la instalación a partir de este archivo de configuración:

# ./setup --cli \
 --propertiesFilePath /tmp/test.properties \
  --acceptLicense \
  --no-prompt

Y la salida de la instalación:

Configuring Directory Server ..... Done.
Configuring Certificates ..... Done.
Importing Automatically-Generated Data (2000 Entries) .................. Done.
Starting Directory Server ................. Done.

To see basic server configuration status and configuration you can launch /home/foo/Downloads/opendj/bin/status

A partir de aquí es muy sencillo automatizar instalaciones utilizando variables dentro del archivo de configuración, por ejemplo.