Ejabberd

ejabberd is an open source Jabber/XMPP server designed from the ground up to be the building bricks of highly critical messaging systems.

Written in Erlang programming language, ejabberd is cross-platform, fault-tolerant, clusterable, very modular and highly versatile. It can be extended in other programming languages, such as Elixir.

Designed to be massively scalable, it is widely used to power web scale deployments across many software industries: Mobile messaging, Social Networks, Gaming, Internet of Things.

HOWTO: SSL Secure Certificate Installation (Paid For)
Copy both your SSL Certificate Key and Public Certificate into 1 file...

cat /etc/ssl/private/STAR_domain_com.key >>/etc/ejabberd/ejabberd.pem cat /etc/ssl/certs/STAR_domain_com.crt >>/etc/ejabberd/ejabberd.pem

Change ownership and permissions...

chown ejabberd:ejabberd /etc/ejabberd/ejabberd.pem chmod 0640 /etc/ejabberd/ejabberd.pem

Edit the configuration file...

nano /etc/ejabberd/ejabberd.cfg {certfile, "/etc/ejabberd/ejabberd.pem"}

Start the server...

sudo service ejabberd start