General
- Cross-platform
- ejabberd runs under Microsoft Windows and Unix derived systems such as Linux, Mac OS X, FreeBSD and NetBSD.
- Distributed
- You can run ejabberd on a cluster of machines and all of them will serve the same Jabber domain(s). When you need more capacity you can simply add a new cheap node to your cluster. Accordingly, you do not need to buy an expensive high-end machine to support tens of thousands concurrent users.
- Fault-tolerant
- You can 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'.
- Administrator Friendly
- ejabberd is built on top of the Open Source Erlang. As a result you do not need to install an external database, an external web server, amongst others because everything is already included, and ready to run out of the box.
Jabber/XMPP
- XMPP Compliancy
- ejabberd supports all XMPP Core 1.0 and XMPP IM 1.0. Check the supported protocols.
- Encryption of Client Communication
- SASL authentication, STARTTLS encryption and old SSL
- Encryption of Server Communication
- In 2.1.6 option to require server encryption and verify certificates.
- STARTTLS+Dialback and STARTTLS+SASL
- Statistics Gathering
- Internationalization Using xml:lang
- Translated to 24 languages.
Administration
- Easy Installation
- There is not only a source code package and a public Git repository available, but there are also first-party installers for Microsoft Windows 98/2000/XP, Linux x86 and MacOS X PowerPC. Furthermore, several operating system distributions include ejabberd in their repositories.
- Virtual Hosts
- Multiple Jabber domains can be hosted on the same ejabberd instance. As simple as adding a new domain name to the list of hosts in the configuration file.
- IPv6
- ejabberd supports IPv6 both for client-2-server (c2s) as well as server-2-server (s2s) connections.
- Shared Roster Groups
- Added in 2.1.6 support for LDAP storage.
- The administrator can setup a common list of Jabber users for all users on the server. Those users are virtually added to all rosters. They cannot be removed, but can be renamed or moved into different roster groups. Does not require client implementation. Not related to XEP-0144: Roster Item Exchange.
- Web-based Administration Interface
- With HTTPS secure access. Screenshots
- Command line Administration Tool
- Some basic administration task can be acomplished using the command line: register/remove users, backup/restore database... Screenshots
- Adminstrate Using a Jabber Client
- With support for XEP-0133: Service Administration. Screenshots
Embedded Components
- Multi-User Chat
- As described in XEP-0045: Multi-User Chat. Allows chatroom logging to HTML.
- Publish-Subscribe
- As described in XEP-0060: Publish-Subscribe, and XEP-0163: PEP.
- Jabber Users Directory
- The directory searches information stored on users' vCards
- HTTP-Binding
- As described in XEP-0124: BOSH
- HTTP-Polling
- As described in XEP-0025: Jabber HTTP Polling
- Proxy65 file transfer proxy
- As described in XEP-0065: Proxy65
- HTTP file server
- This simple file server can be used to publish MUC HTML files, or web clients like JWChat or MUCkl.
Interaction with Other Software
- LDAP Authentication
- Accounts can authenticate against an LDAP server.
- PAM Authentication
- Accounts can authenticate using PAM in *nix systems.
- Authentication using External script
- Accounts can authenticate using an external authentication script.
- ODBC Data Storage
- Support for ODBC data storage. ODBC requests can be load balanced between multiple connections.
- Relational Database Storage
- Native database storage to PostgreSQL or MySQL gives a better performance than ODBC.
- Ability to Interface with External Components (PyAIMt, PyICQt, PyMSNt, PyYIMt, amongst others)
- And there are several tutorials describing the process.
- Migration from/to Another XMPP Server
- ejabberd includes the ability to import jabberd 1.4 spool directories, and PIEFXIS files following XEP-0227. This feature allows you to migrate from/to other XMPP servers.
Related Links
- ejabberd feature sheet: PDF/HTML
- Open-source XMPP server comparison chart
subversion -> git
In the news I read that there is now a git repo. Should be changed in this Text