Installing a XMPP server

Adam edited this page Jul 31, 2017 · 3 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
  3. Go to Server => Server Settings => HTTP Binding.
  4. Set settings like on the screenshot: Openfire HTTP Bind enabling
  5. Create a MUC room: (in Admin panel) Group Chat => Room Administration => Create new room
  6. Enable plugin Client Control and Bookmarks to support autojoin (Plugins => Available Plugins)
  • Go to Server => 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, []}, % 
  1. Fully activate the multi user chat (MUC):
  {mod_muc,      [
                  {host, "conference.@HOST@"}, % 
  1. 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.

You can’t perform that action at this time.
You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session.
Press h to open a hovercard with more details.