Eu inicio manualmente o openfire usando o seguinte comando:
sudo -u openfire /opt/openfire/bin/openfire start
No Ubuntu 14.04, eu finalmente descobri que eu poderia iniciá-lo automaticamente na inicialização usando o seguinte arquivo aberto openfire.conf:
description "Openfire launch on boot"
start on startup
task
exec start-stop-daemon --start --quiet -c openfire --exec /opt/openfire/bin/openfire -- start
Agora eu reconstruí meu servidor no Ubuntu 16.04 e gostaria de obter a mesma coisa usando o systemd. Eu criei o arquivo de unidade /lib/systemd/system/openfire.service:
[Unit]
Description=OpenFire Start on Boot
[Service]
User=openfire
ExecStart=/bin/sh -c "/opt/openfire/bin/openfire start"
[Install]
WantedBy=multi-user.target
Isso não funciona. Depois de salvar o arquivo de unidade e ativá-lo com sudo systemctl enable openfire.service
e reinicializar, eu verifico o status com sudo -u openfire /opt/openfire/bin/openfire status
e obtenho o resultado openfire is stopped
.
Para depurar, tentei definir LogLevel=debug
em /etc/systemd/system.conf
, reiniciei novamente e tentei journalctl -u openfire
, que retornou a seguinte linha única:
Feb 19 11:51:19 DK-Openfire-B systemd[1]: Started OpenFire Start on Boot.
O que realmente não me ajudou. Eu suspeito que o problema é com a minha declaração ExecStart. Alguma dica sobre o que estou fazendo errado ou como obter mais informações sobre depuração?