How to Create Your Own IM/Chat Server Using “Openfire” in Linux

With the invention of the Internet, the way of communication revolutionized, a long ago. E-mail replaced traditional postal mail. The email was fast still there were some bottlenecks. One would not know if the person on the other end is online or not, hence email was a 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 the Internet gets famous. We all have used and still using IM in our day-to-day life. Especially, among the Young generation, IM is very famous like WhatsApp or Telegram. How about setting our own chat server? Let’s do it with an open-source and cross-platform application called Openfire.

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 ‘Wildfire‘ and ‘Jive Messenger‘. The Application Software is developed by Jive Software and a community called ‘‘, and is Licensed under Apache License.

Openfire Features

  • Web-Based Admin control
  • SSL/TLS support
  • LDAP connectivity
  • User Friendly
  • Platform Independent
Testing Environment
  • OSUbuntu 20.04 and CentOS 8
  • OpenFire ServerOpenfire 4.5.3 [Server]
  • IM ClientSpark2.9.2 [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:


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

Install OpenFire On Debian/Ubuntu/Linux Mint

$ wget
$ sudo dpkg -i openfire_4.5.3_all.deb
Sample Output
Selecting previously unselected package openfire.
(Reading database ... 539398 files and directories currently installed.)
Preparing to unpack openfire_4.5.3_all.deb ...
Unpacking openfire (4.5.3) ...
Setting up openfire (4.5.3) ...
Processing triggers for systemd (245.4-4ubuntu3.2) ...
Processing triggers for ureadahead (0.100.0-21) ...
ureadahead will be reprofiled on next reboot

On RHEL/CentOS/Fedora

# wget
# rpm -ivh openfire-4.5.3-1.i686.rpm
Sample Output
Preparing...                ########################################### [100%]
   1:openfire               ########################################### [100%]

After successful installation, Stop and Start the Openfire service.

$ sudo systemctl stop openfire
$ sudo systemctl start openfire

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 Language
Openfire Setup Language

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
Openfire Server Settings

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

Openfire Database Settings
Openfire Database Settings

4. Then, you need to set up a profile setting.

Openfire Profile Settings
Openfire Profile Settings

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

Openfire Admin Account
Openfire Admin Account

6. On a successful setup, a confirmation message is shown.

Openfire Setup Complete
Openfire Setup Complete

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

Openfire Admin Login
Openfire Admin Login
Openfire Server Information
Openfire Server Information

8. Next, create a new user under Users/Groups.

Create New User in Openfire
Create New User in Openfire

The server is set up 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 the client application ‘Spark‘, for user communication.

Installation of Spark Client

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


Once you’ve installed Spark client, open the application and enter the username, password, and IP address 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

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 liked this article, then do subscribe to email alerts for Linux tutorials. If you have any questions or doubts? do ask for help in the comments 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.

100 thoughts on “How to Create Your Own IM/Chat Server Using “Openfire” in Linux”

    • @Abhishek,

      Openfire is based application, and I think yes you can integrate it with any PHP script, I suggest you to go through the Openfire integration documentation..

  1. I keep getting this error when starting openfire

    “PID file /var/run/ not readable (yet?) after start.”
    “Failed to start SYSV: Openfire is an XMPP server, which is a server that facilitates XML based communication, such as chat..”

  2. I want to use the client server on fine and want to access from my android phone
    Please suggest me client server app for android
    Alternate of spark

    • Hello, i have successfully installed server able to login via admin console but while trying to login from sprak to server it says invalid username & password. I tried multiple users same error.

      Please suggest me @984044991 / [email protected]

  3. I have successfully configured openfire server . It is working fine with spark .

    Now I want to give an option on my website to enable chat for the users . Is there any way to integrate spark in website ( if they have some web based version) or any alternate solution for this ?

  4. I integrated open fire with windows Active directory but after change the password of domain user it is not effect in client messenger spark please suggest to me how to resolve the issue.


Got something to say? Join the discussion.

Have a question or suggestion? Please leave a comment to start the discussion. Please keep in mind that all comments are moderated and your email address will NOT be published.

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