hi,
i do have erlang-p1-pam installed, and i do still have the default config in
/etc/ejabberd/ejabberd.yml
i'm not sure how i'm supposed to edit the file during the
 apt-get install process.  maybe that's not what's being suggested.

thanks for the link!  i finally got ejabberd to cleanly install.
the process wasn't quite as described in the readme though.

* super short summary
  to get a clean install of ejabberd, the file
  /etc/systemd/system/ejabberd.service.d/override.conf
  should have the contents:

[Service]
PrivateDevices=false
NoNewPrivileges=false

  _before_ issuing 'apt-get install ejabberd'.

  i think either the install process should just do it automatically,
  or it should not try to start ejabberd and instead tell the user
  that they need to modify that file and how to start ejabberd once
  they have.

  that's what i think, but i wouldn't be surprised if i was wrong.

  short aside:

http://git.deb.at/w/pkg/ejabberd.git/blob/refs/heads/stretch:/debian/README.Debian#l154
  "PrivateDevices=\n" is, afaik, wrong and should be deleted.  same for
  line 156, "NoNewPrivileges=\n"

* summary of actions shown below
  - uninstall ejabberd, remove config files in /etc/systemd/system
  - attempt install ejabberd with no config files, it fails
  - show systemctl and journalctl after failed install
  - systemctl edit ejabberd.service as suggested by

http://git.deb.at/w/pkg/ejabberd.git/blob/refs/heads/stretch:/debian/README.Debian#l153
  - systemctl daemon-reload as suggested by README.Debian
  - systemctl status after daemon-reload shows ejabberd process active
    - lines 2 and 4 are broken, output has complaint about not being
      able to parse boolean

http://git.deb.at/w/pkg/ejabberd.git/blob/refs/heads/stretch:/debian/README.Debian#l154
      and

http://git.deb.at/w/pkg/ejabberd.git/blob/refs/heads/stretch:/debian/README.Debian#l156
  - journalctl complains about non-parsed booleans too
  - remove ejabberd again and leave systemd config
  - reinstall ejabberd with
    /etc/systemd/system/ejabberd.service.d/override.conf
    in place before starting apt-get install

* long version of actions, along with output

ozzloy% ############################################################
ozzloy% ############################################################
ozzloy% # uninstall ejabberd, remove config files in /etc/systemd/system
ozzloy% sudo apt-get --autoremove remove -y ejabberd
[sudo] password for ozzloy:
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following packages will be REMOVED:
  ejabberd erlang-odbc
0 upgraded, 0 newly installed, 2 to remove and 0 not upgraded.
After this operation, 6,648 kB disk space will be freed.
(Reading database ... 228172 files and directories currently installed.)
Removing ejabberd (16.09-4) ...

The ejabberd database has been backed up to
/var/backups/ejabberd-2017-07-04T14:52:54.uj8Nma/ejabberd-database.

Removing erlang-odbc (1:19.2.1+dfsg-2) ...
Processing triggers for man-db (2.7.6.1-2) ...
ozzloy%
ozzloy%
ozzloy% ls -l /etc/systemd/system/ejabberd.service
lrwxrwxrwx 1 root root 9 Jul  4 14:53 /etc/systemd/system/ejabberd.service
-> /dev/null
ozzloy%
ozzloy%
ozzloy% sudo rm -rf /etc/systemd/system/ejabberd.service{,.d}
ozzloy%
ozzloy% ############################################################
ozzloy% ############################################################
ozzloy% # attempt install ejabberd with no config files, it fails
ozzloy% sudo apt-get install -y ejabberd
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following additional packages will be installed:
  erlang-odbc
Suggested packages:
  apparmor apparmor-utils libunix-syslog-perl yamllint ejabberd-contrib
  erlang-luerl erlang-p1-oauth2 erlang-p1-sqlite3 erlang-redis-client erlang
  erlang-manpages erlang-doc
The following NEW packages will be installed:
  ejabberd erlang-odbc
0 upgraded, 2 newly installed, 0 to remove and 0 not upgraded.
Need to get 0 B/3,896 kB of archives.
After this operation, 6,648 kB of additional disk space will be used.
Preconfiguring packages ...
Selecting previously unselected package erlang-odbc.
(Reading database ... 227821 files and directories currently installed.)
Preparing to unpack .../erlang-odbc_1%3a19.2.1+dfsg-2_amd64.deb ...
Unpacking erlang-odbc (1:19.2.1+dfsg-2) ...
Selecting previously unselected package ejabberd.
Preparing to unpack .../ejabberd_16.09-4_amd64.deb ...
Unpacking ejabberd (16.09-4) ...
Processing triggers for systemd (232-25) ...
Processing triggers for man-db (2.7.6.1-2) ...
Setting up erlang-odbc (1:19.2.1+dfsg-2) ...
Setting up ejabberd (16.09-4) ...
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 "restart" 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 Tue
2017-07-04 14:55:52 PDT; 14ms ago
     Docs: https://www.process-one.net/en/ejabberd/docs/
  Process: 15637 ExecStart=/bin/sh -c /usr/sbin/ejabberdctl start &&
/usr/sbin/ejabberdctl started (code=exited, status=227/NO_NEW_PRIVILEGES)
 Main PID: 6317 (code=killed, signal=TERM)
dpkg: error processing package ejabberd (--configure):
 subprocess installed post-installation script returned error exit status 1
Errors were encountered while processing:
 ejabberd
E: Sub-process /usr/bin/dpkg returned an error code (1)
ozzloy%
ozzloy%
ozzloy% ############################################################
ozzloy% ############################################################
ozzloy% # show systemctl and journalctl after failed install
ozzloy% sudo systemctl --no-pager --full status ejabberd
● 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 Tue
2017-07-04 14:56:34 PDT; 4s ago
     Docs: https://www.process-one.net/en/ejabberd/docs/
  Process: 16131 ExecStart=/bin/sh -c /usr/sbin/ejabberdctl start &&
/usr/sbin/ejabberdctl started (code=exited, status=227/NO_NEW_PRIVILEGES)
 Main PID: 6317 (code=killed, signal=TERM)

Jul 04 14:56:34 ozzloy.lifeafterking.org systemd[1]: ejabberd.service:
Control process exited, code=exited status=227
Jul 04 14:56:34 ozzloy.lifeafterking.org systemd[1]: Failed to start A
distributed, fault-tolerant Jabber/XMPP server.
Jul 04 14:56:34 ozzloy.lifeafterking.org systemd[1]: ejabberd.service: Unit
entered failed state.
Jul 04 14:56:34 ozzloy.lifeafterking.org systemd[1]: ejabberd.service:
Failed with result 'exit-code'.
ozzloy%
ozzloy%
ozzloy%
ozzloy% sudo journalctl --no-pager --full -u ejabberd
-- Logs begin at Mon 2017-07-03 22:29:24 PDT, end at Tue 2017-07-04
14:57:23 PDT. --
Jul 04 13:47:16 ozzloy.lifeafterking.org systemd[1]:
[/etc/systemd/system/ejabberd.service.d/override.conf:2] Failed to parse
boolean value, ignoring:
... REMOVED MANY SIMILAR LINES
Jul 04 14:57:16 ozzloy.lifeafterking.org systemd[1]: ejabberd.service:
Service hold-off time over, scheduling restart.
Jul 04 14:57:16 ozzloy.lifeafterking.org systemd[1]: Stopped A distributed,
fault-tolerant Jabber/XMPP server.
Jul 04 14:57:16 ozzloy.lifeafterking.org systemd[1]: ejabberd.service:
Failed to set invocation ID on control group
/system.slice/ejabberd.service, ignoring: Operation not supported
Jul 04 14:57:16 ozzloy.lifeafterking.org systemd[1]: Starting A
distributed, fault-tolerant Jabber/XMPP server...
Jul 04 14:57:16 ozzloy.lifeafterking.org systemd[16604]: ejabberd.service:
Failed at step NO_NEW_PRIVILEGES spawning /bin/sh: Invalid argument
Jul 04 14:57:16 ozzloy.lifeafterking.org systemd[1]: ejabberd.service:
Control process exited, code=exited status=227
Jul 04 14:57:16 ozzloy.lifeafterking.org systemd[1]: Failed to start A
distributed, fault-tolerant Jabber/XMPP server.
Jul 04 14:57:16 ozzloy.lifeafterking.org systemd[1]: ejabberd.service: Unit
entered failed state.
Jul 04 14:57:16 ozzloy.lifeafterking.org systemd[1]: ejabberd.service:
Failed with result 'exit-code'.
Jul 04 14:57:21 ozzloy.lifeafterking.org systemd[1]: ejabberd.service:
Service hold-off time over, scheduling restart.
Jul 04 14:57:21 ozzloy.lifeafterking.org systemd[1]: Stopped A distributed,
fault-tolerant Jabber/XMPP server.
Jul 04 14:57:21 ozzloy.lifeafterking.org systemd[1]: ejabberd.service:
Failed to set invocation ID on control group
/system.slice/ejabberd.service, ignoring: Operation not supported
Jul 04 14:57:21 ozzloy.lifeafterking.org systemd[1]: Starting A
distributed, fault-tolerant Jabber/XMPP server...
Jul 04 14:57:21 ozzloy.lifeafterking.org systemd[16648]: ejabberd.service:
Failed at step NO_NEW_PRIVILEGES spawning /bin/sh: Invalid argument
Jul 04 14:57:21 ozzloy.lifeafterking.org systemd[1]: ejabberd.service:
Control process exited, code=exited status=227
Jul 04 14:57:21 ozzloy.lifeafterking.org systemd[1]: Failed to start A
distributed, fault-tolerant Jabber/XMPP server.
Jul 04 14:57:21 ozzloy.lifeafterking.org systemd[1]: ejabberd.service: Unit
entered failed state.
Jul 04 14:57:21 ozzloy.lifeafterking.org systemd[1]: ejabberd.service:
Failed with result 'exit-code'.
ozzloy%
ozzloy%
ozzloy% ############################################################
ozzloy% ############################################################
ozzloy% # systemctl edit ejabberd.service
ozzloy% #  as suggested by git.deb.at/...README.Debian#153
ozzloy% sudo systemctl edit ejabberd.service
ozzloy% cat /etc/systemd/system/ejabberd.service.d/override.conf
[Service]
PrivateDevices=
PrivateDevices=false
NoNewPrivileges=
NoNewPrivileges=false

ozzloy%
ozzloy%
ozzloy%
ozzloy% ls /etc/systemd/system/|grep ejabberd # note lack of
ejabberd.service file
ejabberd.service.d
ozzloy%
ozzloy%
ozzloy% ############################################################
ozzloy% ############################################################
ozzloy% # systemctl daemon-reload as suggested by README.Debian
ozzloy% sudo systemctl daemon-reload
ozzloy%
ozzloy%
ozzloy% ############################################################
ozzloy% ############################################################
ozzloy% # systemctl status after daemon-reload shows ejabberd process active
ozzloy% sudo systemctl --no-pager --full status ejabberd
     ● ejabberd.service - A distributed, fault-tolerant Jabber/XMPP server
   Loaded: loaded (/lib/systemd/system/ejabberd.service; enabled; vendor
preset: enabled)
  Drop-In: /etc/systemd/system/ejabberd.service.d
           └─override.conf
   Active: active (running) since Tue 2017-07-04 15:00:17 PDT; 6min ago
     Docs: https://www.process-one.net/en/ejabberd/docs/
 Main PID: 18645 (beam)
   CGroup: /system.slice/ejabberd.service
           ├─18645 /usr/lib/erlang/erts-8.2.1/bin/beam -K true -P 250000 --
-root /usr/lib/erlang -progname erl -- -home /var/lib/ejabberd -- -sname
ejabberd -noshell -noinput -noshell -noinput -mnesia dir
"/var/lib/ejabberd" -ejabberd log_rate_limit 100 log_rotate_size 0
log_rotate_date "" -s ejabberd -smp auto start
           ├─18662 erl_child_setup 32768
           ├─18713 inet_gethost 4
           └─18714 inet_gethost 4

Jul 04 15:00:14 ozzloy.lifeafterking.org systemd[1]: ejabberd.service:
Service hold-off time over, scheduling restart.
Jul 04 15:00:14 ozzloy.lifeafterking.org systemd[1]: Stopped A distributed,
fault-tolerant Jabber/XMPP server.
Jul 04 15:00:14 ozzloy.lifeafterking.org systemd[1]: ejabberd.service:
Failed to set invocation ID on control group
/system.slice/ejabberd.service, ignoring: Operation not supported
Jul 04 15:00:14 ozzloy.lifeafterking.org systemd[1]: Starting A
distributed, fault-tolerant Jabber/XMPP server...
Jul 04 15:00:17 ozzloy.lifeafterking.org systemd[1]: Started A distributed,
fault-tolerant Jabber/XMPP server.
Jul 04 15:06:14 ozzloy.lifeafterking.org systemd[1]:
[/etc/systemd/system/ejabberd.service.d/override.conf:2] Failed to parse
boolean value, ignoring:
Jul 04 15:06:14 ozzloy.lifeafterking.org systemd[1]:
[/etc/systemd/system/ejabberd.service.d/override.conf:4] Failed to parse
boolean value, ignoring:
ozzloy%
ozzloy%
ozzloy% ############################################################
ozzloy% ############################################################
ozzloy% # journalctl complains about broken booleans too
ozzloy% sudo journalctl --no-pager --full -u ejabberd|tail -n 10
     Jul 04 15:00:09 ozzloy.lifeafterking.org systemd[1]: ejabberd.service:
Failed with result 'exit-code'.
Jul 04 15:00:11 ozzloy.lifeafterking.org systemd[1]:
[/etc/systemd/system/ejabberd.service.d/override.conf:2] Failed to parse
boolean value, ignoring:
Jul 04 15:00:11 ozzloy.lifeafterking.org systemd[1]:
[/etc/systemd/system/ejabberd.service.d/override.conf:4] Failed to parse
boolean value, ignoring:
Jul 04 15:00:14 ozzloy.lifeafterking.org systemd[1]: ejabberd.service:
Service hold-off time over, scheduling restart.
Jul 04 15:00:14 ozzloy.lifeafterking.org systemd[1]: Stopped A distributed,
fault-tolerant Jabber/XMPP server.
Jul 04 15:00:14 ozzloy.lifeafterking.org systemd[1]: ejabberd.service:
Failed to set invocation ID on control group
/system.slice/ejabberd.service, ignoring: Operation not supported
Jul 04 15:00:14 ozzloy.lifeafterking.org systemd[1]: Starting A
distributed, fault-tolerant Jabber/XMPP server...
Jul 04 15:00:17 ozzloy.lifeafterking.org systemd[1]: Started A distributed,
fault-tolerant Jabber/XMPP server.
Jul 04 15:06:14 ozzloy.lifeafterking.org systemd[1]:
[/etc/systemd/system/ejabberd.service.d/override.conf:2] Failed to parse
boolean value, ignoring:
Jul 04 15:06:14 ozzloy.lifeafterking.org systemd[1]:
[/etc/systemd/system/ejabberd.service.d/override.conf:4] Failed to parse
boolean value, ignoring:
ozzloy%
ozzloy% ############################################################
ozzloy% ############################################################
ozzloy% # remove ejabberd again and leave systemd config
ozzloy% sudo apt-get --autoremove remove -y ejabberd
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following packages will be REMOVED:
  ejabberd erlang-odbc
0 upgraded, 0 newly installed, 2 to remove and 0 not upgraded.
1 not fully installed or removed.
After this operation, 6,648 kB disk space will be freed.
(Reading database ... 228172 files and directories currently installed.)
Removing ejabberd (16.09-4) ...

The ejabberd database has been backed up to
/var/backups/ejabberd-2017-07-04T15:08:39.hNliHc/ejabberd-database.

Removing erlang-odbc (1:19.2.1+dfsg-2) ...
Processing triggers for man-db (2.7.6.1-2) ...
ozzloy%
ozzloy%
ozzloy% ls -l /etc/systemd/system/ejabberd.service
lrwxrwxrwx 1 root root 9 Jul  4 15:08 /etc/systemd/system/ejabberd.service
-> /dev/null
ozzloy%
ozzloy%
ozzloy% ############################################################
ozzloy% ############################################################
ozzloy% # reinstall ejabberd with
ozzloy% #   /etc/systemd/system/ejabberd.service.d/override.conf
ozzloy% #    in place ahead of time
ozzloy% cat /etc/systemd/system/ejabberd.service.d/override.conf
[Service]
PrivateDevices=
PrivateDevices=false
NoNewPrivileges=
NoNewPrivileges=false

ozzloy%
ozzloy%
ozzloy% sudo apt-get install -y ejabberd
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following additional packages will be installed:
  erlang-odbc
Suggested packages:
  apparmor apparmor-utils libunix-syslog-perl yamllint ejabberd-contrib
  erlang-luerl erlang-p1-oauth2 erlang-p1-sqlite3 erlang-redis-client erlang
  erlang-manpages erlang-doc
The following NEW packages will be installed:
  ejabberd erlang-odbc
0 upgraded, 2 newly installed, 0 to remove and 0 not upgraded.
Need to get 0 B/3,896 kB of archives.
After this operation, 6,648 kB of additional disk space will be used.
Preconfiguring packages ...
Selecting previously unselected package erlang-odbc.
(Reading database ... 227821 files and directories currently installed.)
Preparing to unpack .../erlang-odbc_1%3a19.2.1+dfsg-2_amd64.deb ...
Unpacking erlang-odbc (1:19.2.1+dfsg-2) ...
Selecting previously unselected package ejabberd.
Preparing to unpack .../ejabberd_16.09-4_amd64.deb ...
Unpacking ejabberd (16.09-4) ...
Processing triggers for systemd (232-25) ...
Processing triggers for man-db (2.7.6.1-2) ...
Setting up erlang-odbc (1:19.2.1+dfsg-2) ...
Setting up ejabberd (16.09-4) ...
ozzloy%
ozzloy%
ozzloy% sudo systemctl --no-pager --full status ejabberd
● ejabberd.service - A distributed, fault-tolerant Jabber/XMPP server
   Loaded: loaded (/lib/systemd/system/ejabberd.service; enabled; vendor
preset: enabled)
  Drop-In: /etc/systemd/system/ejabberd.service.d
           └─override.conf
   Active: active (running) since Tue 2017-07-04 15:10:40 PDT; 7s ago
     Docs: https://www.process-one.net/en/ejabberd/docs/
  Process: 26086 ExecStart=/bin/sh -c /usr/sbin/ejabberdctl start &&
/usr/sbin/ejabberdctl started (code=exited, status=0/SUCCESS)
 Main PID: 26110 (beam)
   CGroup: /system.slice/ejabberd.service
           ├─26110 /usr/lib/erlang/erts-8.2.1/bin/beam -K true -P 250000 --
-root /usr/lib/erlang -progname erl -- -home /var/lib/ejabberd -- -sname
ejabberd -noshell -noinput -noshell -noinput -mnesia dir
"/var/lib/ejabberd" -ejabberd log_rate_limit 100 log_rotate_size 0
log_rotate_date "" -s ejabberd -smp auto start
           ├─26128 erl_child_setup 32768
           ├─26182 inet_gethost 4
           └─26183 inet_gethost 4

Jul 04 15:10:36 ozzloy.lifeafterking.org systemd[1]: Starting A
distributed, fault-tolerant Jabber/XMPP server...
Jul 04 15:10:40 ozzloy.lifeafterking.org systemd[1]: Started A distributed,
fault-tolerant Jabber/XMPP server.
ozzloy%
ozzloy%
ozzloy%
ozzloy% sudo journalctl --no-pager --full -u ejabberd|tail -n 10
Jul 04 15:08:47 ozzloy.lifeafterking.org systemd[1]:
[/etc/systemd/system/ejabberd.service.d/override.conf:4] Failed to parse
boolean value, ignoring:
Jul 04 15:10:36 ozzloy.lifeafterking.org systemd[1]:
[/etc/systemd/system/ejabberd.service.d/override.conf:2] Failed to parse
boolean value, ignoring:
Jul 04 15:10:36 ozzloy.lifeafterking.org systemd[1]:
[/etc/systemd/system/ejabberd.service.d/override.conf:4] Failed to parse
boolean value, ignoring:
Jul 04 15:10:36 ozzloy.lifeafterking.org systemd[1]:
[/etc/systemd/system/ejabberd.service.d/override.conf:2] Failed to parse
boolean value, ignoring:
Jul 04 15:10:36 ozzloy.lifeafterking.org systemd[1]:
[/etc/systemd/system/ejabberd.service.d/override.conf:4] Failed to parse
boolean value, ignoring:
Jul 04 15:10:36 ozzloy.lifeafterking.org systemd[1]:
[/etc/systemd/system/ejabberd.service.d/override.conf:2] Failed to parse
boolean value, ignoring:
Jul 04 15:10:36 ozzloy.lifeafterking.org systemd[1]:
[/etc/systemd/system/ejabberd.service.d/override.conf:4] Failed to parse
boolean value, ignoring:
Jul 04 15:10:36 ozzloy.lifeafterking.org systemd[1]: ejabberd.service:
Failed to set invocation ID on control group
/system.slice/ejabberd.service, ignoring: Operation not supported
Jul 04 15:10:36 ozzloy.lifeafterking.org systemd[1]: Starting A
distributed, fault-tolerant Jabber/XMPP server...
Jul 04 15:10:40 ozzloy.lifeafterking.org systemd[1]: Started A distributed,
fault-tolerant Jabber/XMPP server.
ozzloy%

Reply via email to