ejabberd configuration
======================

Here is how ejabberd can be installed and configured on a Debian system.

First install the package::

    apt-get install ejabberd

``debconf`` asks for several things:

- a domain name, like ``example.com``
- an account to administrate the server, let's call it ``admin``

Then, the configuration file (``/etc/ejabberd/ejabberd.cfg``) looks like::

    %% Options which are set by Debconf and managed by ucf

    %% Admin user
    {acl, admin, {user, "admin", "example.com"}}.

    %% Hostname
    {hosts, ["example.com"]}.


By default, ejabberd listens on 3 TCP ports::

    {listen,
     [
      {5222, ejabberd_c2s, [
        {access, c2s},
        {shaper, c2s_shaper},
        {max_stanza_size, 65536},
        %%zlib,
        starttls, {certfile, "/etc/ejabberd/ejabberd.pem"}
        ]},
      {5269, ejabberd_s2s_in, [
        {shaper, s2s_shaper},
        {max_stanza_size, 131072}
        ]},
      {5280, ejabberd_http, [
        %%{request_handlers,
        %% [
        %%  {["pub", "archive"], mod_http_fileserver}
        %% ]},
        %%captcha,
        http_bind,
        http_poll,
        web_admin
        ]}
     ]}.
    {s2s_use_starttls, true}.
    {s2s_certfile, "/etc/ejabberd/ejabberd.pem"}.

This enable web administration on an HTTP server running on port 5280. Use an
URL such as to access to administration http://example.com:5280/admin/. Note
that this is note secure (no HTTPS) so you may want to set-up a front-end to
access to this server (reverse proxy, VPN, firewall, ...).

To add a new user, you just need to run::

    ejabberdctl register mynewuser example.com 'UserPassword'


DNS configuration
-----------------
Here is how a DNS zone may be configured::

    ;service.proto.name          class rr   pri weight port target
    _jabber._tcp.example.com.      IN  SRV  10    0    5269 jabber.example.com.
    _xmpp-server._tcp.example.com. IN  SRV  10    0    5269 jabber.example.com.
    _xmpp-client._tcp.example.com. IN  SRV  10    0    5222 jabber.example.com.

    jabber IN A 10.22.33.44


Bitlbee configuration
---------------------
Bitlbee can be used to interact with jabber through an IRC server.
Here are some useful commands from http://wiki.bitlbee.org/quickstart::

    account add jabber bitlbee@example.com UserPassword
    account jabber on

In ``account list``, this new account is associated with an ID (like 0). Once
you know this ID, you may run::

    add 0 myuser@example.com


Source
------
http://wiki.linuxwall.info/doku.php/en:ressources:articles:ejabberd