Installing a XMPP server

Michael Weibel edited this page Dec 17, 2013 · 2 revisions

Openfire

Follow the instructions in the official Openfire installation guide.

Configuration

  1. Go to http://yourserver:9090/ and login with username/password for your admin account.
  2. Enable HTTP-Bind
    1. Go to Server => Server Settings => HTTP Binding.
    2. Set settings like on the screenshot: Openfire HTTP Bind enabling
  3. Create a MUC room: (in Admin panel) Group Chat => Room Administration => Create new room
  4. Enable plugin Client Control to support autojoin (Plugins => Available Plugins)
    • Go to Server => Client Management => Group Chat Bookmarks and add a new bookmark for all Users with Auto-Join enabled.

Tips & Tricks

  • If you want to attach a database for the users, take a look at Database installation Guide
    • Attention: The settings need to be done in Server => Server Properties and not, as described in the guide, in openfire.xml.
  • If you're suffering from Memory leaks, set in the Server Property xmpp.pep.enabled to false (Server => Server Properties, at the bottom of the page you can add a new property.)
  • If you have problems with some users get disconnected often: Try using Punjab as the HTTP-Binding service and disable the integrated HTTP-Bind from Openfire
    • We use that and it works very well.
  • If you installed Client Control plugin and want to restrict the clients which are allowed to connect to Candy, got to Server => Client Management => Permit Clients and set the following setting: Openfire Restrict clients
    • Note the "Candy" below "Add Other Client"

Ejabberd

Follow the instructions in the official Ejabberd installation guide.

Configuration

  1. Enable mod_http_bind - Instructions
    • Example configuration of HTTP-Bind: {5280, ejabberd_http, [ http_poll, http_bind, web_admin ]}
    • Alternatively, you can add to ejabberd.cfg the following line (marked with %):
      {modules,
      [
      {mod_http_bind, []}, % <-- only this line is added
      
  2. Fully activate the multi user chat (MUC):
      {mod_muc,      [
                  {host, "conference.@HOST@"}, % <-- uncomment this line and make sure conference.myhost.com 
                                               %     is available in your /etc/hosts and DNS entries
    
  3. Create a room (room@conference.yourhost.com) using a desktop client like Pidgin or with ejabberdctl. Don't forget to pass autojoin: ['room@conference.yourhost.com'] to Candy.init().

Prosody

First download Prosody and follow the installation instructions for your platform.

Configuration

To configure BOSH support take a look at Prosody's documentation for setting up BOSH which covers configuring Prosody and setting up a proxy (e.g. Apache, lighttpd or nginx) or CORS for cross-domain support.

Other XMPP servers

There are plenty of other XMPP servers out there. Refer to their manual for more information.