Turnkey Apps: ejabberd – 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.

The ejabberd instant messaging server is software to communicate and collaborate in real-time between two or more people based on typed text. For example, ejabberd can be used by:

  • Businesses to secure business communication and to improve collaboration efficiency
  • Developers to obtain or improve Erlang programming skills
  • Hosting providers to provide high-available instant messaging services to its customers
  • Individuals to toy with instant messaging software

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).