XMPP is an open-standard communications protocol for message-oriented middleware based on XML (originally named
Jabber). Prerequisites:
- XMPP domain: dev.local
- ejabberd server name: im1.dev.local
- Administrative account: admin@dev.local
In order to install the
ejabberd IM server in Debian:
apt-get -y install ejabberd
Add administrative account (user, host, password):
ejabberdctl register admin dev.local P@ssw0rd
Configuration
You will need a certificate file for your domain. While obtaining self signed certificate, please ensure:
- Common Name is the XMPP domain name, e.g. dev.local.
- Resulting pem file has both key and certificate
Take a look how to can create a self signed certificate
here and add it to trusted certificates
here.
All configuration is stored in
/etc/ejabberd/ejabberd.cfg file.
%% Admin user
{acl, admin, {user, "", "dev.local"}}.
%% Hostname (The list of domains we are going to serve)
{hosts, ["dev.local"]}.
...
%% domain_certfile: Specify a different certificate for
%% each served hostname .
{domain_certfile, "dev.local", "/etc/ejabberd/dev.local.pem"}.
...
%% To enable in-band registration, replace 'deny' with
%% 'allow'. This let users create IM account from theirs
%% client applications.
{access, register, [{allow, all}]}.
XMPP DNS Discovery
You need to add the following records to your dns server:
$ORIGIN _tcp.dev.local.
$TTL 900 ; 15 minutes
_jabber SRV 5 0 5269 im1.dev.local.
_xmpp-client SRV 5 0 5222 im1.dev.local.
_xmpp-server SRV 5 0 5269 im1.dev.local.
If you are editing zone of your dynamic dns server consider have a look
here.
Good Article. Greate Post .. keep it up
ReplyDeleteThanks a million and please carry on the rewarding work. This is really interesting, You're a very skilled blogger. I've joined your rss feed and look forward to seeking more of your wonderful post. Also, I've shared your site in my social networks! Just want to say your article is as amazing. The clearness in your post is simply excellent and i could assume you are an expert on this subject. Fine with your permission allow me to grab your RSS feed to keep updated with forthcoming post.
ReplyDelete