Насколько известно все переходят на SystemD систему инициализации.
В принципе это правильно, но при обновлении Zimbra и Ubuntu 14.04->16.04 столкнулся с тем что старый upstart конфиг от Zimbra нормально не встает.
Пришлось переписать на SystemD сервис.
Проблема выложенного на github в том, что не стартует сервис logger.
Проблема изза того, что при старте генерится perl класс, который использует внутренние пакеты Zimbra, на которые в переменных нет ссылки.
Решается это подгрузкой переменных среды.
Короче выкладываю рабочий результат. Пользуйте.
[Unit]
Description=Zimbra Collaboration Suite
After=network.target remote-fs.target time-sync.target syslog.target
Conflicts=sendmail.service exim.service postfix.service
[Service]
Type=forking
User=zimbra
Group=zimbra
ExecStart=/bin/bash -c ". /opt/zimbra/.bashrc && /opt/zimbra/bin/zmcontrol start"
ExecStop=/bin/bash -c ". /opt/zimbra/.bashrc && /opt/zimbra/bin/zmcontrol stop"
ExecReload=/bin/bash -c ". /opt/zimbra/.bashrc && /opt/zimbra/bin/zmcontrol restart"
TimeoutSec=500
[Install]
WantedBy=multi-user.target