When XMPP calls, we answer!

Good news once again. I have been able to configure an XMPP server on my own instance. C2S is a given, and communications between two users under the same server is also not a big deal once you get the basics right.

This installation however, goes further than that. Although it is not nearly ready for an xmpp.net badge, but it will get the job done. Encrypted s2s and c2s has been implemented. Some work still needs to be done for MAM.

xmpp.net score
Edit: I got XMPP-MAM, and, an A from XMPP Observatory for C2S/S2S

Here are some references without which none of the above would have been possible:

General Ejabberd configuration guide

Adding new subdomains to an existing domain

What is worth remembering here is that one really needs to add subdomains pubsub, conference and echo to get the S2S part working. It is worth noting that when certbot renews the certificate, all the existing and working domains have also to be supplied as an argument in the certbot command, along with the –expand option.

At the onset, there was some trouble getting the admin access to work over TLS since the certificates were not readable by ejabberd process. What worked like a charm was this tip.
The issue was basically solved by copying the certificates somewhere else where ejabberd could access it. That location, obviously, needed to be updated in the configuration file ejabberd.yml.

Note to self: Remember to copy any renewed certificates into the location ejabberd has access to.