0

I can't get ejabberd to start on a Ubuntu 18.04 Server that's installed inside a Proxmox linux container.

During install I get this error:

Setting up ejabberd (18.01-2) ...
Job for ejabberd.service failed because the control process exited with error code.
See "systemctl status ejabberd.service" and "journalctl -xe" for details.
invoke-rc.d: initscript ejabberd, action "start" failed.
* ejabberd.service - A distributed, fault-tolerant Jabber/XMPP server
   Loaded: loaded (/lib/systemd/system/ejabberd.service; enabled; vendor preset: enabled)
   Active: activating (auto-restart) (Result: exit-code) since Mon 2019-04-22 18:41:58 UTC; 8ms ago
     Docs: https://www.process-one.net/en/ejabberd/docs/
   Process: 1442 ExecStart=/bin/sh -c /usr/sbin/ejabberdctl start && /usr/sbin/ejabberdctl started (code=exited, status=1/FAILURE)
 Main PID: 190 (code=exited, status=1/FAILURE)
dpkg: error processing package ejabberd (--configure):
 installed ejabberd package post-installation script subprocess returned error exit status 1
Processing triggers for systemd (237-3ubuntu10.20) ...
Processing triggers for man-db (2.8.3-2ubuntu0.1) ...
Errors were encountered while processing:
 ejabberd
E: Sub-process /usr/bin/dpkg returned an error code (1)

I read a bug report that suggests that the problem has to do with the way Ejabberd is configured with systemd:

https://bugs.launchpad.net/ubuntu/+source/ejabberd/+bug/1815699

That person said that the issue had to do with these 3 settings:

  1. PrivateTmp=true
  2. ProtectHome=true
  3. ProtectSystem=full

But he didn't say where to find them or how to change them.

I found them here: nano /lib/systemd/system/ejabberd.service

I've tried setting them to false, commenting them out, etc. After each change I tried, I'd reboot the container and try test to see if chat was working. It wasn't.

I don't know much about systemd or ejabberd. I've installed ejabberd successfully a few times in the past, but I don't know how to get past this.

Roman Riabenko
  • 2,145
  • 3
  • 15
  • 39
Lonnie Best
  • 4,895
  • 6
  • 27
  • 42

1 Answers1

0

From https://salsa.debian.org/ejabberd-packaging-team/ejabberd/blob/master/debian/README.Debian#L161-168, or in /usr/share/doc/ejabberd/README.Debian.gz on your system:

With systemd >= 218 you can simply create an override with systemctl edit ejabberd.service and put

[Service]
PrivateDevices=
PrivateDevices=false
NoNewPrivileges=
NoNewPrivileges=false

in there.

Kusalananda
  • 320,670
  • 36
  • 633
  • 936