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 ‘IgniteRealtime.org‘, and is Licensed under Apache License.
Openfire Features
- Web-Based Admin control
- SSL/TLS support
- LDAP connectivity
- User Friendly
- Platform Independent
Testing Environment
- OS – Ubuntu 20.04 and CentOS 8
- OpenFire Server – Openfire 4.5.3 [Server]
- IM Client – Spark2.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 http://download.igniterealtime.org/openfire/openfire_4.5.3_all.deb $ 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 http://download.igniterealtime.org/openfire/openfire-4.5.3-1.i686.rpm # 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).
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.
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.
4. Then, you need to set up a profile setting.
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.
6. On a successful setup, a confirmation message is shown.
7. Login to Openfire Admin using username “admin” and password, the one we set above.
8. Next, create a new user under Users/Groups.
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.
Once you logged in you can chat with the users who are online.
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.
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.
does anyone knows how to configure openfire using a IPv6 network?
Is there any android client compatible with OpenFire ?
How do i find the ip of my server
@Colton,
You can get the IP address of your server using ifconfig or ip command as shown.
So that means that the pcs ip is the ip i use
@Colton,
Yes thats the IP you should use..
Hi,
I have a list of contacts in open fire server, but in client app its not showing the lists??
hello,
how can we integrate Openfire using php. can you share hare any url or code.
@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..
I keep getting this error when starting openfire
“PID file /var/run/openfire.pid 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..”
When I am trying to install spark, the error is coming “bamboo user does not exist” . how to resolve this ?
@Jitin,
Create that bamboo user and then install spark, that’s it..
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]
@Vimalraj,
Have you entered correct openfire sever details? have you created the user in openfire? please check these things..
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 ?
@Abhilash,
Go for Candy a JavaScript-based multi-user chat client for Openfire: http://candy-chat.github.io/candy/
Ravi. Thank you for the suggestion. I will try that :)
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.
When i setup file , then forget password . how to get password ?
@Jidendra,
Only way is to recover from MySQL database, go to MySQL and update admin password.
so you are using embeeded database, how can you change the mysql password
@Manoj,
To change MySQL root password, use the following commands:
Thanks for the reply, good to know that
I have an issue with uninstall openfire from the server. i am unable pl’z help me out from this situation.
@Vasudev,
What’s issue? can you please share with us so that we cam help you out..
Thanks a lot for the tut friend! I’m also a CS major, I was considering coding my own server and client in Python.. but it’s a bit tedious. I will do Udp/Tcp client and server, maybe check out the source for this. Anyway, thanks a lot!
Thanks @Necrosynth for the feedback.
If I were coding it I would have preferred UDP – Keep connected even when connection drop and IP changes, no time out.
I would love to see the codes you are writing (on github probably).
Keep connected for more such posts.
Hi,
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.
That so very good tutorial ..
openfire good and install server but would like to know devo do so you can access my seridor from internet (outside my local network ) ..
Thank you …
Yes you can access it outside your network. Forward your port. You may like to see this post: https://www.tecmint.com/creating-your-own-webserver-and-hosting-a-website-from-your-linux-box/
Keep connected for more such posts.
All i want is to creat my own instant messaging
QLAWUNMI,
So who is stopping you. Go ahead and create your own IM.
bro is openfire free?
@Hamza,
Yes its open source and free to use..
Nice explanation.
I would like to know if Spark saves the chat transcripts of every user on the server automatically, or is it only available on the user’s system?
If it doesn’t do it automatically, is there any way to do so?
@Rohan,
I think it saves at server level..never checked, could you please check and update me..
if it is possible tell me how to create my own messenger
Yeah BIVUGIRE Gibert,
It is quiet possible to create your own Instant Messanger. All You Need is
1. Domain (You may buy it from any Domain registrant)
2. Hosting (Though you may buy it from any host, I suggest you to buy from Hostgator and apply code “TecMint025”, to get 25% off).
3. Deploy ‘Openfire’, and Perform Necessary settings.
You may contact Admin @ tecmint.com[at]gmail.com for Domain/Hosting related concern.
You may Contact me @ avishek1210[at]gmail.com for any technical concern.
We can do Basic settings for you for free. If More than basic settings are required we may do it for you on a very small charge.
I want to use voice over ip inside my organization. How can it be possible.
There are a plenty of VOIP Application software for Linux. Here are a few –
VoIP Softphone clients
QuteCom VoIP softphone originally known as WengoPhone
Ekiga VoIP and video conferencing application for GNOME
Linphone SIP video-phone
Twinkle Qt-based VoIP phone
Kiax Simple user interface for making VoIP calls to Asterisk PBX
Skype Skype peer-to-peer Voice over Internet Protocol (VoIP) software
KPhone Supports Presence and Instant Messaging
Server Software
Asterisk Open Source VoIP PBX
FreeSWITCH Telephony platform to facilitate the creation of voice and chat driven products
GNU Gatekeeper VOIP gatekeeper for H.323
sipXecs IP based communications system (IP PBX)
I am not able to install spark on my OS X Yosemite/mavericks10.9.4,and also not able to install spark web.Fast path web chat is also not working,i have centos 6.6(32 bit)…
@naveen,
let me know what exactly the problem is?
What are you getting in error? Let me know.
in case, I installed openfire and then I have my website.
I would like to integrate chat to my website so that I and my customer can used it for exchanging information.
is it possible?
yes Truong, its possible. We can do it for you on a very Minimal Charge. You may contact us at tecmint.com[at]gmail.com
do i need some sofftware to create database or openfire can automaticaally create it for me …
You need to create a database manually in MySQL or you can use PhpMyAdmin Gui tool to create database..
shoul i suposed to install open fire in every computer i instal spark
@Harque,
Just spark client is enough…..on every computer..
I want complete tutorial of openfire installation in windows.
windows.
Because i got database error in installation in openfire.
And supposed i want to make chat server. (Tecmint.com)
Then how can i fill this domain in openfire ?
Please help me
apart from using spark client, I tried in my local machine it is not able to connect with my emulator. So, please let me know how it is possible!
Which emulator you using? and how you connecting? can you elaborate more.. so we could help you out..
How can we connect using android to this openfire created server?
Please tell me asap.
Something strange happened with me. i have downloaded openfire using wget.
After that i ran the command rpm -ivh openfire-3.8.2-1.i386.rpm, but it is showing no such file or directory error..
Did you see the file using ls -l command? or else try to download again using wget and then give it a try..let’s see
How can I block vulnerable words in chat..so my users can not use vulnerable words in chat and can’t use abuse words also. If any one know then please help me.
You can use the “content filter” plugin. It’s user friendly and easy to use.
I have successfully install OpenFire 3.9.3. I can access the web based gui to start the initial configuration. However once i get to the Profile Setting i cannot get a successful connection to my Active Directory server. I have tried every combination to get it working. And there doesn’t seem to be many articles on what needs to be done. Am i missing something?
@ ShortCircuit,
seems something is either wired, Messed or missed. Please post the error message so that we can understand what exactly is going on. Is it some kind of Database error?
Hi Avishek
Need help on group chat for openfire, I want to create group which same like whatsapp group using openfire.
could you help me in this ..
Awaiting for your reply..
@Himanshu,
Follow the below openfire documentation for creating new group/chat..
https://www.igniterealtime.org/builds/smack/docs/latest/documentation/extensions/muc.html
Dear Avishek Kumar,
Can you give some idea that how to configure remote office spark client to access the server.
thanks,
for accessing from remote you need to install open-fire in vps or dedicated servers.
Hi, I am not an It expert. i am wondering if I can create some like older versions of yahoo messenger, with features like chat rooms, like yahoo desktop client etc.
Dear Ali,
It is an Opensource Project, hence the codes can be modified to the degree of requirement.
Best of Luck!
I want to develop a chat client that can just connected to a specific server that we have set, and can be costumized such as changing its logo with my own logo. Is there any recommendation from you?
Dear Irfan,
I don’t think it is going to be any issue as far as changing logo is concerned. Just find out the location of current logo in use and replace it with your’s.
For the rest you have to test it and work to take it into production.
@disha,
You can integrate Thunderbird with openfire using xmpp…For more details @ http://goo.gl/ZtckWY
@Ranjeet,
Can you tell me your exact issue which you are facing…For more details @ http://goo.gl/Tnd47p
program work bt still some error in client side.
Hi sir,
I have configure Own Instant Messaging/Chat Server Using Openfire server side all work done but client side some problem……
how to connect the server to user ?????????????
Looking for a chat area to have video chat and text. I am looking at all my options. Something Myself and few others can monitor. With boot/tos options.
How to connect openfire with squirrelmail in centos 6.5
“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.”
This is so confusing. If you have the nginx, where do you open this? Most Linux severs doesn’t have a browser or gnome (imagine that the servers are remote). Running firefox over X is a pain in the as*.
http://your-ip-address:9090 won’t be accessible! Unless you set up sth. in the nginx which you didn’t mention how.
Yes, right most of the servers don’t have GUI version of browsers, but you can still use command line browsing with lynx or links tools.
http://your-ip-address:9090 how about that? Do I need to add sth. in nginx.conf?
can i communicate my insatant messenging app developed in c# with openfier server
Is there a way to use this with Zimbra 8 ?
i exactly followed your step except i installed openfire in windows 7. I created a user through admin panel. Now i’m trying to login in spark. but spark says username and password doesn’t match. What could be the reason for this ? i double checked the user exist in DB.
Hi Avishek Kumar
is there any other messenger than spark that compatible with openfire??? couse spark consumes alot of resource (about 200MB ram) in our pc/laptop
thanks for your answer
you can use pidgin instead of spark.
Any Limitation in user, its allow only 25 user, any way for unlimited, if no kindly suggest any other tools which support unlimited
Hello Avishek Kumar,
Article which you have publish is very impressive and helpful.
I have installed the same on Cent OS 6.3.
Installation was successful.
But i am able to take access through browser, Even i tried to stop and restart the service.
Kindly Help.
have you tried to add the port 9090 after the url?
Sir,
I am a engineering student. I want to create an online messaging service (like WhatsApp)
I would like to know how to put this config online. Can you plz refer some books that will help me understand it better.
Hi Sir Avishek Kumar,
I installed the openfire..is there any possible way to add more user because I setup embedded db whick limit to 25…I also read an instruction from openfire website on migrating db. but i have problem on it. please help i am new hir
How to connect internet from now?
Dear Mario,
we were unable to understand what you mean.
Are you asking us how to connect to Internet?
(Ethernet, wifi,….)
Please be clear about your saying, we would be happy to help you.
How many users can this IM server handle simultaneously? Hundreds? Thousands? Tens of thousands? I’m not talking about hardware limitation here, but just software limitation.
Dear Fadi(itoctopus), Your concern is very Important.
Speaking True, we are not aware of this.
If you find any relevant information regarding this, Please let us know with the source, so that we can update it into the article.
Thanks
Like i will ever install java on any of my servers….. Sure. That is unfortunate that few apps i found which would be useful are written in java. Otherwise i would use them.
Java is simply not going to happen.
@ name required,
I think you are a little concerned with the security flaws of Java.
:)
Hi
I followed your steps to install this utility on RHEL 6.4 box. The installation was successfull, however after the installation when I tried to stop the service, it says that Openfire is not running. So then I started the service. No errors were reported. And when I checked the service status using the command service openfire status, it says the openfire is not running.
Any idea What is happening here?
Regards
Jo
Dear Jo,
I am unable to understand, what is going on in your case.
What it is showing when you redirect your browser to 127.0.0.1:9090?
See your configuration file, for the port it is using. Please let us know, about your action and results.
Hi,
How to uninstall this ???
To remove openfire, run the following command.
its very easy to uninstall ths????
Yes! just run the rpm -evh openfire command.
HI Ravi,
I want to check all user’s chat, is it possible?