Creating Chat Server using OpenFire on Ubuntu

Home / Creating Chat Server using OpenFire on Ubuntu

Creating Chat Server using OpenFire on Ubuntu

December 9, 2015 | Article | No Comments

OpenFire is a real time collaboration (RTC) server licensed under Open Source Apache License. It uses the only widely adopted open protocol for instant messaging, XMPP (also called Jabber). In other word, OpenFire is free open source application used for building a chat server.

In this article we will use OpenFire to build a chat server on ubuntu. In this article I use:

  1. Ubuntu 12.04
  2. Oracle Java Development Kit (JDK)
  3. MySQL
  4. OpenFire

Please note that all the command invoked on terminal are using root privilege!


It is always a good choice to update and upgrade your system. To do so, do following:

apt-get update
apt-get upgrade

Update / Install Latest JDK

We will use Oracle JDK instead of OpenJDK. First we need to uninstall OpenJDK (purge it!)

apt-get remove --purge openjdk*

Once the purge complete, install Oracle JDK

apt-get install oracle-java7-installer


The database used here is MySQL server. If you haven’t install it, you can invoke following command to install it.

apt-get install mysql-server

Now, login to mysql

mysql -u root -p

Next, create a database by these series of SQL command:

CREATE USER 'openfire'@'localhost' IDENTIFIED BY '0wnByX4thrya';
GRANT ALL PRIVILEGES ON dbopenfire.* TO [email protected] WITH GRANT OPTION;

and then quit. Note that you can change the password identification for user openfire.

Installing OpenFire

Download the latest OpenFire package for Debian-based Linux. The latest version of OpenFire (per September 15th, 2013) is 3.8.2 which can be downloaded here.

Or, you can install it directly.

cd /tmp
dpkg -i openfire_3.8.2_all.deb

Now, replace java-6-sun with java-7-oracle (we have install java-7-oracle, right?)

apt-get install rpl
rpl '6-sun' '7-oracle' /etc/init.d/openfire
service openfire start

Set Firewall

Now, set the firewall to allow packet traffic for ports used by openfire.

ufw allow 9090/tcp
ufw allow 9091/tcp
ufw allow 5222/tcp
ufw allow 7777/tcp
ufw allow 7443/tcp
ufw allow 7070/tcp
ufw allow 3478/tcp
ufw allow 3479/tcp


Now we will configure the OpenFire by web.

Open your browser and go to http://Your-IP:9090 where Your IP is your server IP.

Click continue until you reach setting for database connection (we omit other default setting). Choose Standard Database Connection. Now you will get a form. Fill the form with setting we use on previous sections. For example:

  • Database Driver Presets = MySQL
  • JDBC Driver Class = com.mysql.jdbc.Driver
  • Database Url = jdbc:mysql://localhost:3306/dbopenfire
  • Username = openfire
  • Password = <the password you set>
  • Minimum connections = 5
  • Maximum connections = 25
  • Connection Timeout = 1.0 Days

On profile setting, choose default and click on continue.

Now set the administrator account. You pick the password by yourself, and should be different from database password.

The configuration is finished.

Add New Account

To add new account, click on User Groups -> Users -> Create New User. Fill the required information.


Basically, any XMPP/JABBER capable client can connect to this chat server. For an alternative, you can use Spark which is developed by the very same developer who develop OpenFire. You can download it here. Download in respect of your client operating system.


About Author

about author


A man who is obsessed to low level technology.

Leave a Reply

Your email address will not be published. Required fields are marked *

Social Share Buttons and Icons powered by Ultimatelysocial