Some server configurations

iptables

SSL keys and certs for different services

Configure ejabberd

Modify the ejabberd.yml given by the distro according to the document in ejabberd.im.

Before ejabberd 17.11, we need to put cert, intermediate cert and key in certfile, and starting from ejabberd 17.11, we can use the certfiles option:

certfiles:
  - "/etc/ssl/xmpp/live/cnjabber.net/*.pem"

Run ejabberdctl foreground to see if there is any error or warning. In Arch Linux, HOME needs to be set to /var/lib/ejabberd for user jabber:

sudo -u jabber /usr/bin/env HOME=/var/lib/ejabberd ejabberdctl <sub cmd>