Data Management

DIY: Set up the Openfire internal chat server

Openfire is an easy to build and use internal chat server that helps make internal communication more efficient. Get install and setup instructions.

You might think that online chat is a productivity killer, but what if you could have an internal-only chat server that would allow for faster communication and better collaboration? You can with the Openfire Chat Server by Ignite Realtime.

Openfire is an open source, real-time collaboration server that uses XMPP (Jabber). The server is a breeze to install and easy to use. Users can even connect to the Openfire server with different chat clients, such as Empathy and Pidgin.

Openfire is available for the Windows, Linux, and Mac platforms. For this DIY tutorial, I will use Linux (specifically, Ubuntu 11.04), my platform of choice.

Installation requirements

Java JRE is Openfire's only requirement. If you're installing Openfire on the Windows platform, the installer includes Java JRE, but since we're digging into Linux, we must first install the Java JRE.

  1. Open a terminal window.
  2. Issue the command sudo add-apt-repository ppa:ferramroberto/java.
  3. Type your sudo password and hit [Enter].
  4. Issue the command sudo apt-get update.
  5. Issue the command sudo apt-get install sun-java6-jre sun-java6-plugin sun-java6-fonts.

Install Openfire on Linux

  1. Download the .deb file from the Openfire download page.
  2. Open a terminal window and change to the directory the .deb was saved into.
  3. Issue the command sudo dpkg -i openfire_XXX.deb (XXX is the release number).
  4. Enter your sudo password and hit [Enter].

Once the installation completes, the server is installed, but there's still another component to this process: the Web install.

Web installation

Open your web browser and point it to http://ADDRESS_TO_SERVER:9090; this will start the web-based installation of the Openfire server. There are five sections to the installation: Language Selection, Server Settings, Database Settings, Profile Settings, Administrator Account.

Step 1: Language Selection Choose which language you want the installer and the admin console to be in (Figure A) and then click Next. Figure A

The language you choose will be the language the rest of the installer uses, so choose wisely. (Click the image to enlarge.)
Step 2: Server Settings Configure the server domain, the admin console port, and the secure admin console port (Figure B) and then click Next. Figure B

Make sure the ports you use are open on your network, or users won't be able to do much collaborating. (Click the image to enlarge.)
Step 3: Database Settings There are two ways to go here (Figure C): You can use the embedded database (this is the fastest and the easiest way to finish the installation), or you can use an external database. I suggest making this choice based on the number of users and the amount of traffic this server might see. If you think it's going to be hammered, you should use a standard database connection (MySQL is preferred).

I recommend opting for the embedded database if this is your first round. It isn't more challenging to install than the standard database, but with the standard database, you will need to have a MySQL server up and running and create a database. I suggest using the embedded database first for testing purposes, and if you decide you want to keep Openfire, then re-install with the standard database approach.

Figure C

The embedded database makes installation incredibly simple. (Click the image to enlarge.)
Step 4: Profile Settings This section wants to know how you plan on authenticating users (Figure D); the three options are: Default, LDAP, Clearspace. I find Default to be the most reliable route. Although if you are on a large network with numerous users and already have an LDAP server set up, you should go with the LDAP method. After you make your selection, click Next to finish the installation. Figure D

Click the image to enlarge.
Step 5: Administrator Account Enter a valid email address and password to be used for the admin user on the system (Figure E) and then click Continue. Figure E

You can't skip this step, because the admin user is required to set up the server. (Click the image to enlarge.)
The next page should give you the Setup Complete message and offer a button to allow you to log in to the admin console. You won't be able to log in -- no matter how many times you try those credentials, they won't work. You must reboot your server before you'll be able to log in as the admin user. Once it's rebooted, log in with:
  • username: admin
  • password: The password created during the admin user stage of the installation.

Adding users

In order for anyone to connect to the Openfire server, they must be added to the system. You simply click the Users/Groups tab on the Admin Console and then click Create New User (Figure F). After you enter the information for the new user, the user will be ready to log in to the server. Make sure you add all of the users necessary (in big environments, this might be taken care of by LDAP). Figure F

If you want more fine-grained control over users, you should consider creating groups that will house different types of users. (Click the image to enlarge.)

Connecting to the server

The way in which the user connects to the server will depend upon the client they use. Here's the gist of how to connect:

  1. Open the chat client.
  2. Add a new Jabber account. The user ID must be in the form of USERID@SERVER_ADDRESS, and the password was set by the administrator when the user was created.

You now have a full-fledged chat server running on your network. Let the collaboration and efficient communication begin!

About

Jack Wallen is an award-winning writer for TechRepublic and Linux.com. He’s an avid promoter of open source and the voice of The Android Expert. For more news about Jack Wallen, visit his website getjackd.net.

8 comments
venursa
venursa

Hi all i am using Openfire version 3.8.2. First time installation its working fine, If i add any pluggins and restart only open fire is also working fine. But the major problem is if i restart server machine open fire again and again asking for setup process. Please any suggestions/ advises. Thanks in advance. 

venursa
venursa

Hi all,


I have major problem with Open fire server. For every machine[ Server ] restart its asking setup process continuously..  I have set setup is false in openfirconfig.xml . Even though its keep asking setup process... i am using openfire 3.8.2. Please help me.  Thanks in advance.

venursa
venursa

I had successfully installed the openfire server and published over WAN. But the major problem is for Every machine [ Srever ] restart , open fire asking setup process again and again. I set the setup as "false" in openfire/config/ openfireconfig.xml file. please help.

vdigi
vdigi

I have successfully configure openfire for local chat, now I want to configure openfire with WAN how to achieve this ? 1. How to achieve if I am having static ip address. 2. How to achieve if I am not having static ip address. Kindly take in count that I have enabled port forwarding (from router) for port 9090, 9091, 5223, 5223 and 5229 to my server's internal LAN ip address. Though I can't able to connect to openfire from external IP or static ip. Please help

silvertip257
silvertip257

In the Fall 2011 I set up an internal Openfire server to replace an old jabber server. Things went smoothly until the server reached an uptime of about two weeks. By this point JVM memory usage reached very high levels and once the Openfire daemon's uptime reached about sixteen days the thing freaked out (corrupting an Openfire database table in the process). Anyone looking to set up Openfire should watch JVM memory usage (on the main dashboard when you log into the web UI) and consider disabling PEP if memory usage gets high. Since I disabled PEP (a feature we didn't use) memory usage is mighty low now and even recedes from time to time. From Openfire's site: Openfire up to and including version 3.6.4 (and looks like 3.7.0 too) suffers from a memory leak in its PEP component. If your Openfire server is crashing with OutOfMemoryExceptions, you might be having this problem. As a workaround, you can disable PEP, by setting the Openfire property xmpp.pep.enabled to false. Using HTTP _clear text_ is a thing of the past when any web server has HTTPS enabled! Openfire Web UI with SSL ... https://ADDRESS_TO_SERVER:9091/ My upgrade from Openfire 3.7.0 to 3.7.1 went smoothly as well. Shared rosters are awesome to push out new employees the existing list and to add new employees to everyone else's list! There's quite a nice feature list that Jack hardly touched on (he'd have quite a few pages if he did). Java or not, Openfire is a nice xmpp/jabber daemon.

CharlieSpencer
CharlieSpencer

"...what if you could have an internal-only chat server that would allow for faster communication and better collaboration?" What if we could? My limited experience hasn't shown me the value of this tool in the workplace, even though we've been running MS Communicator in limited deployment for a couple of years I still don't know the advantages of chat over telephone or e-mail, or under what circumstances it would be the tool of choice. It just seems slower to me to type than speak in urgent situations, and clumsier to edit and use than e-mail in cases where a response isn't time-sensitive.

catchacold
catchacold

Not sure if openfire has come along farther then they where. But, years ago I tried to set up openfire with Active Directory and had tons of problems and the forums where horrible for help. Not sure if it any better these days? I will give it a try again and see what happens.