Vamos a ver los pasos para configurar una instancia de OpenDJ como servicio integrado en systemd de modo que se pueda gestionar a través del comando systemctl
y arranque automáticamente con el sistema. En el caso de que lo instaléis por rpm no es necesario, sólo si es una instalación manual con el setup.
El primer paso es generar un script estándar de init.d/rc:
$ cd $OPENDJ_HOME/bin $ ./create-rc-script --userName root --outputFile opendj.init
Nota: si OpenDJ no se ejecuta como root, especificad el usuario correspondiente como parámetro para la creación del script:
En caso de que queráis integrar el script de arranque en init.d, es decir, como servicio básico de RC, simplemente ejecutad el mismo comando pero copiando el script a init.d:
# ./create-rc-script --outputFile /etc/init.d/opendj --userName root
Ya se podría iniciar o integrar con chkconfig:
# chkconfig add opendj # chkconfig opendj on # /etc/init.d/opendj start
Para systemd, podéis usar este script como base y activarlo. Lo tenéis que ubicar en /usr/lib/systemd/system/opendj.service
. Únicamente tened en cuenta cambiar los paths en función de vuestro $OPENDJ_HOME
y dónde estén los scripts de arranque generados en el paso previo:
[Unit] SourcePath=/opt/opendj/bin Description=Instancia OpenDJ LDAP Before=runlevel5.target shutdown.target After= Conflicts=shutdown.target [Service] Type=forking Restart=always TimeoutSec=5min IgnoreSIGPIPE=no KillMode=process GuessMainPID=no RemainAfterExit=yes ExecStart=/opt/opendj/bin/opendj.init start ExecStop=/opt/opendj/bin/opendj.init stop [Install] WantedBy=multi-user.target
Finalmente, se activa el servicio y recarga el demonio de systemd:
# systemctl enable opendj.service # systemctl daemon-reload # systemctl start opendj.service # systemctl status opendj.service opendj.service - ForgeRock OpenDJ 3.5.0 Loaded: loaded (/opt/opendj/bin; enabled) Active: active (exited) since Fri 2019-01-21 12:05:22 GMT; 97min ago Process: 1233 ExecStart=/opt/opendj/bin/opendj.init start (code=exited, status=0/SUCCESS)