• Compute

    Configure a popular Linux OS or use popular developer Tools

  • Cloud hosting
    Cloud hosting

    Host a VPS in the Cloud in seconds

  • Collaborate, CMS, CRM`s
    Collaborate, CMS, CRM`s

    Collaborate with these popular CMS, CRM & collaboration tools

  • Database & E-Commerce
    Database & E-Commerce

    Create a database or an E-Commerce environment in seconds

How to: Setup Openfire / Jabber XMPP Server

An XMPP server provides messaging, presence, and XML routing features in one package. This guide will demonstrate how to setup an XMPP server on SkySilk Linux VPS.

How to: Setup Openfire / Jabber XMPP Server

We will be downloading, installing, and configuring our Openfire XMPP server. After we're done, you will have a functional XMPP messaging server.

Start by logging onto you VPS via SSH. You may follow this guide to help you SSH into your SkySilk VPS

Install dependencies and updates

First we want to make sure that your system has updated components installed as well as other dependencies:

yum update
yum install -y wget
yum install -y epel-release
yum install -y glibc.i686
yum install -y zlib.i686 libstdc++.i686

Download and install the Openfire rpm 

We'll be installing wget, then downloading the official Openfire rpm:

wget "https://www.igniterealtime.org/downloadServlet?filename=openfire/openfire-4.3.2-1.i686.rpm" -O openfire-4.3.2-1.i686.rpm

Install the rpm:

yum install -y openfire-4.3.2-1.i686.rpm

Start the openfire service

systemctl start openfire.service

Install and configure a PostgreSQL

We'll be installing PostgreSQL:

yum install postgresql-server postgresql-contrib

Enable the service to start on boot:

systemctl enable postgresql.service

Initialize the PostgreSQL Database:

 postgresql-setup initdb

Start the postgresql service:

systemctl start postgresql.service

Create a database for Openfire and configure the user

Switch to postgres user context: 

su - postgres

Set password for postgres database user. This is used to administer postgresql:

\password postgres 

Create database "openfire":

createdb openfire

Create database user "openfire":

createuser -P openfire

Next we'll modify the postgresql configuration to require the client to supply an MD5-encrypted password for authentication. 

Open the /var/lib/pgsql/data/pg_hba.conf file in a text editor and under the METHOD column, change the peer or ident values to md5.

# TYPE  DATABASE        USER            ADDRESS                 METHOD

# "local" is for Unix domain socket connections only
local   all             all                                     md5
# IPv4 local connections:
host    all             all               md5
# IPv6 local connections:
host    all             all             ::1/128                 md5
# Allow replication connections from localhost, by a user with the
# replication privilege.
#local   replication     postgres                                md5
#host    replication     postgres            md5
#host    replication     postgres        ::1/128                 md5


Exit postgres user context:


Restart PostgreSQL service

systemctl restart postgresql.service


Open necessary ports 

9090 and 9091 are the typical ports utilized by Openfire, we will open them up:

firewall-cmd --permanent --zone=public --add-port=9090/tcp
firewall-cmd --permanent --zone=public --add-port=9091/tcp
firewall-cmd --reload


You're now ready to continue the setup via the GUI.

Complete setup via the GUI

Browse to the setup GUI URL:


This is very straight forward. You'll walk through setting up the language, server settings, database settings, profile settings, and admin account.

The key points here are the Database configuration. Choose PostgreSQL as seen below and in the Database URL make sure to point to our local PostgreSQL installation and the openfire database we created. The username and password are for the openfire database user we created in an earlier step.



Once you are done with the wizard you'll see this and you're done. Login to your admin console  


Did you find it helpful? Yes No

Send feedback
Sorry we couldn't be helpful. Help us improve this article with your feedback.