XMPP

ejabberd – XMPP application server and an MQTT broker

ejabberd is a distributed, fault-tolerant technology that allows the creation of large-scale instant messaging applications.

The server can reliably support thousands of simultaneous users on a single node and has been designed to provide exceptional standards of fault tolerance.

ejabberd is free and open source software.

Key Features

  • Distributed – un ejabberd on a cluster of machines and all of them will serve the same XMPP domain(s).
  • Fault-tolerant – deploy an ejabberd cluster so that all the information required for a properly working service will be replicated permanently on all nodes. This means that if one of the nodes crashes, the others will continue working without disruption. In addition, nodes also can be added or replaced ‘on the fly’.
  • Modularity – load only the modules you want.
  • Security:
    • SASL and STARTTLS for c2s and s2s connections.
    • STARTTLS and Dialback s2s connections.
    • Web Admin accessible via HTTPS secure access.
  • Databases:
    • Internal database for fast deployment (Mnesia).
    • Native MySQL support.
    • Native PostgreSQL support.
    • ODBC data storage support.
    • Microsoft SQL Server support.
  • Authentication:
    • Internal authentication.
    • PAM, LDAP and ODBC.
    • External authentication script.
  • Support for virtual hosting.
  • Compressing XML streams with Stream Compression (XEP-0138).
  • Statistics via Statistics Gathering (XEP-0039).
  • IPv6 support both for c2s and s2s connections.
  • Multi-User Chat module with support for clustering and HTML logging.
  • Users Directory based on users vCards.
  • Publish-Subscribe component with support for Personal Eventing.
  • Support for web clients: HTTP Polling and HTTP Binding (BOSH).
  • Component support: interface with networks such as AIM, ICQ and MSN.
  • Administrator-friendly:
    • Comprehensive documentation.
    • Straightforward installers for Linux.
    • Docker packaging to help with deploy / development on Linux, Windows or MacOS.
    • Deb and RPM packaging to support most Linux distributions.
    • Web administration.
    • Shared roster groups.
    • Command line administration tool.
    • Can integrate with existing authentication mechanisms.
    • Capability to send announce messages.
  • Internationalization support – translated to 25 languages.
  • Cross-platform support – runs under Linux, FreeBSD, NetBSD, Mac OS X, and Windows.

Website: www.process-one.net/en/ejabberd
Support: Documentation, GitHub Code Repository
Developer: ProcessOne
License: GNU General Public License v2.0

ejabberd is written in Erlang. Learn Erlang with our recommended free books and free tutorials.


Related Software

XMPP Servers
ejabberdXMPP application server and an MQTT broker
OpenfireReal time collaboration (RTC) server
MongooseIMMobile messaging platform with focus on performance and scalability
ProsodyModern XMPP server that's easy to set up
Metronome IMLightweight XMPP server with advanced microblogging features
jabberDNext generation of the jabberd project

Read our verdict in the software roundup.


Best Free and Open Source Software Explore our comprehensive directory of recommended free and open source software. Our carefully curated collection spans every major software category.

This directory is part of our ongoing series of informative articles for Linux enthusiasts. It features hundreds of detailed reviews, along with open source alternatives to proprietary solutions from major corporations such as Google, Microsoft, Apple, Adobe, IBM, Cisco, Oracle, and Autodesk.

You’ll also find interesting projects to try, hardware coverage, free programming books and tutorials, and much more.

Discovered a useful open source Linux program that we haven’t covered yet? Let us know by completing this form.
Subscribe
Notify of
guest
0 Comments
Oldest
Newest Most Voted
Inline Feedbacks
View all comments