Nginx fails to start

Infos:

  • Used Zammad version: latest
  • Used Zammad installation source: installed via APT
  • Operating system: Ubuntu 18.04
  • Browser + version: Chrome 87

Expected behavior:

  • nginx service should start

Actual behavior:

  • root@help:/etc/nginx# systemctl status nginx.service
    ● nginx.service - A high performance web server and a reverse proxy server
    Loaded: loaded (/lib/systemd/system/nginx.service; enabled; vendor preset: enabled)
    Active: failed (Result: exit-code) since Mon 2020-12-14 14:24:06 UTC; 3min 18s ago
    Docs: man:nginx(8)
    Process: 2168 ExecStartPre=/usr/sbin/nginx -t -q -g daemon on; master_process on; (code=exited, status=1/FAILURE)

Dec 14 14:24:06 help systemd[1]: Starting A high performance web server and a reverse proxy server…
Dec 14 14:24:06 help nginx[2168]: nginx: [emerg] duplicate upstream “zammad-railsserver” in /etc/nginx/sites-enabled/zammad.conf.save:5
Dec 14 14:24:06 help nginx[2168]: nginx: configuration file /etc/nginx/nginx.conf test failed
Dec 14 14:24:06 help systemd[1]: nginx.service: Control process exited, code=exited status=1
Dec 14 14:24:06 help systemd[1]: nginx.service: Failed with result ‘exit-code’.
Dec 14 14:24:06 help systemd[1]: Failed to start A high performance web server and a reverse proxy server.

Steps to reproduce the behavior:

Everything was working just fine, then noticed I didn’t have the ability to create new tickets. Rebooted the webserver and nginx has failed to start.

From this message it seems you have configured zammad-railsserver twice. maybe you have 2 files there;
/etc/nginx/sites-enabled/zammad.conf
and
/etc/nginx/sites-enabled/zammad.conf.save
both containing the same configuration

removing that file and restarting nginx worked, but I have lost the ability to create new tickets for users. The chat is gone from the left hand side, the overview is gone, the dashboard is gone.

A default nginx configuration for Zammad should look like something like this:

Possibly there’s directives missing that cause specific things not to be shipped and thus miss.