Create Your Own Instant Messaging/Chat Server Using “Openfire” in Linux

With the invent of Internet, the way of communication revolutionized, a long ago. E-mail replaced traditional postal mail. Email was fast still there were some bottlenecks. One would not knew if the person on the other end is online or not, hence email was fast way of communication than postal mail but its constraints gave way to Instant Messaging (IM).

Instant Messaging like America Online (AOL) and CompuServe get famous much before Internet gets famous. We all have used and still using IM in our day-to-day life. Specially, among Young generation IM is very famous. How about setting our own chat server? Lets do it with an open-source and cross platform application called Openfire.

Install Openfire in Linux

Install Openfire in Linux

What is Openfire?

Openfire is an Instant Messaging and Group chat server, written in Java that uses XMPP (Extensible Messaging and Presence Protocol) server. Wikipedia reports, Openfire was previously called as ‘Wildfire‘ and ‘Jive Messenger‘. The Application Software is developed by Jive Software and a community called ‘IgniteRealtime.org‘, and is Licensed under Apache License.

Openfire Features

  1. Web Based Admin control
  2. SSL/TLS support
  3. LDAP connectivity
  4. User Friendly
  5. Platform Independent
Testing Environment
  1. OSUbuntu 13.04
  2. OSCentOS 6.5
  3. ApplicationOpenfire 3.8.2 [Server]
  4. ApplicationSpark 2.6.3 [Client]

Installation of Openfire in Linux

Openfire, as said above is a cross platform Application, available for all known platforms – Windows, Mac and Linux. You can download, package relevant to your OS and architecture from the link provided below:

  1. http://www.igniterealtime.org/downloads/index.jsp

You may also, use following wget command to download package and install it using dpkg or rpm command as shown below.

On Debian/Ubuntu/Linux Mint

# wget http://download.igniterealtime.org/openfire/openfire_3.8.2_all.deb
# dpkg -i openfire_3.8.2_all.deb
Sample Output
(Reading database ... 198537 files and directories currently installed.) 
Preparing to replace openfire 3.8.2 (using openfire_3.8.2_all.deb) ... 
Stopping openfire: openfire. 
Unpacking replacement openfire ... 
Setting up openfire (3.8.2) ... 
Starting openfire: openfire.

On RHEL/CentOS/Fedora

# wget http://download.igniterealtime.org/openfire/openfire-3.8.2-1.i386.rpm
# rpm -ivh openfire-3.8.2-1.i386.rpm
Sample Output
Preparing...                ########################################### [100%]
   1:openfire               ########################################### [100%]

After successful installation, Stop and Start the Openfire service.

# service openfire stop
# service openfire start

Now point the browser to “http://localhost:9090” or “http://your-ip-address:9090” and follow these simple steps to install Openfire on your machine.

1. Select Preferred Language (I chose English).

Openfire Setup Screen

Openfire Setup Screen

2. Select Domain name, Admin port and Secure Admin port. Generally you don’t need to change these data, until you need a custom port.

Openfire Server Settings

Server Settings

3. You have the option to set external database as well as or can use embedded database. Embedded database requires no external database configuration, hence is easy to configure and set, but it doesn’t give same level of performance as an external database.

Openfire Database Settings

Database Settings

4. Then, you need to setup profile setting.

Openfire Profile Settings

Profile Settings

5. The last step is to set up Admin password and email address. Note, that the current password is ‘admin‘, in new installation.

Openfire Administration Account

Setup Administration Account

6. On successful setup, confirmation message is shown.

Openfire Setup Completed

Openfire Setup Completed

7. Login to Openfire Admin using username “admin” and password, the one we set above.

Openfire Administration Console

Openfire Administration Login

8. Next, create new user.

Openfire Create New User

Add New User

9. Setup username, name, email and password for the new user.

Openfire User Details

New User Details

The server is setup successfully, you can add users, groups, contacts, plugins, etc. Since the application is X based, and is very handy, it is just a few clicks away. And now we need to download client application ‘Spark‘, for user communication.

Installation of Spark Client

Download and Install cross platform Spark client for your system using the below link.

  1. http://www.igniterealtime.org/downloads/index.jsp

Once you’ve installed Spark client, open the application and enter username, password and IP addresss of openfire server.

Install Spark IM Client

Spark IM Client

Once you logged in you can chat with the users who are online.

Spark Client

Spark Client Chat Window

Reference Links

Openfire Homepage

That’s all for now. Stay connected to Tecmint. Don’t forget to tell us, how much you liked the article, in our comment section.

If You Appreciate What We Do Here On TecMint, You Should Consider:

TecMint is the fastest growing and most trusted community site for any kind of Linux Articles, Guides and Books on the web. Millions of people visit TecMint! to search or browse the thousands of published articles available FREELY to all.

If you like what you are reading, please consider buying us a coffee ( or 2 ) as a token of appreciation.

Support Us

We are thankful for your never ending support.

RedHat RHCE and RHCSA Certification Book
Linux Foundation LFCS and LFCE Certification Preparation Guide

You may also like...

100 Responses

  1. Saeed Shah says:

    I have just downloaded all these files and i am going to test it for my office network. will it need a domain environment or it will be ok in workgroup.

  2. Rafael says:

    does anyone knows how to configure openfire using a IPv6 network?

Got something to say? Join the discussion.

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

This site uses Akismet to reduce spam. Learn how your comment data is processed.