ejabberd Appliance

-

XMPP and Web Chat

An instant messaging server that combines ejabberd with Speeqe to create a live chat server that supports strong encryption and works with any web browser or dedicated XMPP client (e.g., Pidgin). ejabberd is a powerful XMPP server that supports clustering, live upgrades, shared roster groups and provides support for virtual hosts.

Current version: 2009.10-2 (changelog)

This appliance includes all the standard features in TurnKey Core, and on top of that:

  • ejabberd configurations:
    • Preconfigured with exemplary domain (example.com).
    • Configured admin@example.com as registration watcher.
    • Includes custom ejabberd-config script to change domain and set admin password (set during installation).
    • Enabled in-band user registration (usability, convenience).
    • Enabled legacy SSL connection method (still required by some clients).
    • Set erlang node: ejabberd@localhost (workaround mnesia hostname changes).
    • Binded admin console to port 12322 - uses SSL.
  • Speeqe configurations:
    • Installed and configured to provide web chat interface.
    • Configured ejabberd with anonymous access for speeqe to connect.
    • Created ejabberd robot XMPP user for speeqe to list active rooms.
    • Includes local JQuery library (internal deployment).
  • SSL support out of the box.
  • Postfix MTA (bound to localhost) to allow sending of email from speeqe.
  • Webmin modules for configuring Apache2 and Postfix.
  • No auto-updates for: speeqe (installed from upstream git repo).
  • Includes custom ejabberd-config script to change domain, administrative password and regenerate related secrets.
/usr/local/bin/ejabberd-config XMPP_DOMAIN ADMIN_PASS
# ejabberd admin interface user will be: admin@XMPP_DOMAIN
  • XMPP DNS records example
_jabber._tcp.example.com.      0 5269 example.com.    SRV
_xmpp-client._tcp.example.com. 0 5222 example.com.    SRV
_xmpp-server._tcp.example.com. 0 5269 example.com.    SRV
  • Example hosts file when testing in demo mode
/etc/hosts : appliance_ip chat.example.com example.com
  • Recommended XMPP chat clients:
    • Pidgin - the universal chat client
    • Gajim - a full featured and easy to use Jabber client

Default credentials:

  • Webmin, Webshell, SSH: username root, no password
    • user sets password during installation
  • ejabberd:
    • Admin interface: username admin@example.com, password turnkey
      • user sets password and domain during installation
    • Regular login: username admin, password turnkey
      • user sets password during installation
    • robot user is configured with a random password and regenerated as part of secrets regeneration.