February 28, 2011

Using OpenFire for Realtime Collaboration on Linux


Offering real-time collaboration tools within a company is becoming a must-have if a company is serious about getting their employees to work as efficiently as possible. Having the ability to instant message fellow employees cuts time down by making communication more efficient. Instead of picking up the phone or walking to someone's office, all that is necessary is to send a message. Don't want to rely on a public service? Check out OpenFire.


How do companies offer up an in-house messaging server that will prevent their employees from using external servers and using the instant message service to clutter the communication lines? Simple, you host your own instant message server in-house. One sure fire way of achieve this goal is with the help of OpenFire by Ignite.

OpenFire is an open source real-time collaboration server that uses XMPP (Jabber). This server isn't terribly difficult to install and, once up and running, will give you a very stable platform for your internal communication. Let's dive in and install this server and then connect to it with the Empathy instant messaging client.

Installation Requirements

For this demonstration, we will be installing OpenFire on Ubuntu 10.10. Even though OpenFire offers a Web-based admin tool, it comes with its own web server, so installing Apache is not necessary. Installing Java, however, is. Unfortunately OpenFire will not work with the OpenJDK Jave Runtime Environment. So we actually have to install the Sun JRE. To install the correct Java for OpenFire do the following:

  1. Open a terminal window.
  2. Open up the /etc/apt/sources.list file.
  3. Add the repository: deb http://archive.canonical.com/ lucid partner
  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.
  6. Agree to the licensing terms.
  7. Allow the installation to complete.

You should now be ready to install OpenFire.

Installing OpenFire

Since we are installing on Ubuntu, we can take advantage of the pre-packaged installation binary provided by Ignite. Download that file from the download page and save it into your ~/Downloads directory. Now, follow these steps for the installation:

  1. Open up a terminal window.
  2. Change into the ~/Downloads directory with the command cd ~/Downloads.
  3. Issue the command sudo dpkg -i openfire_XXX.deb (Where XXX is the release number you downloaded.
  4. Type your sudo password and hit Enter.
  5. Allow the installation to complete.

When the installation of OpenFire package is complete, you then must point your browser to http://ADDRESS_TO_SERVER:9090 to finish the installation. This is a Web-based install which will walk you through a few simple steps.

Web Installation

The first screen in the web-based installation is for language selection. We can only make one choice here and then press Continue to move ahead to the next screen. This second screen (See Figure 1) is one of the most important configuration options to set. Here we have to configure our Domain and two different ports. If possible, make sure the domain you configure is visible by everyone that needs to connect to the server. Once this configuration is complete, click Continue.

Figure 1

You can switch the ports if necessary. Just make sure whatever port you use is actually available.

The next configuration screen is for the Database Settings. There are only two choices: Standard Database Connection and Embedded Database. The Embedded Database is the default option and should work for most instances. If the Embedded Database is selected, no more database configuration is necessary. If, however, you are looking for higher performance from your OpenFire server, you might want to consider the Standard Database option. If this choice is made, the external database server must already be up and running to continue. For a quicker installation, go with the Embedded option. For our installation we are going with the Embedded Database and then we'll click Continue.

The next screen is for Profile Settings (see Figure 2). Here we must select the method that will store our user and group data. There are three choices: Default (stores user/group information in the embedded database), LDAP (retrieves user/group information from an LDAP server), and Clearspace Integration (retrieves user/group information from Clearspace server). For a much simpler installation, stick with the default option and click Continue.

Figure 2

If you choose LDAP or Clearspace, those servers must be up and running before one of these choices is used.

The final screen asks for an Administrator Account. You can only skip this step if you have already set up your OpenFire server and have an administrator account set up. For first time installations this is required. All that is necessary for the administrator account is the admin email address and password. Enter these and click Continue. The setup is complete. There is only one final step and it's a bit unique to any sort of Linux installation. If you try to log in right away with the admin credentials it will fail every time. To succeed with the initial log in, the server OpenFire was install on must be rebooted. That's right, a Linux installation (that is not a kernel) that requires a restart. Once you do restart the admin credentials (username: admin password: created during installation) will work.

Adding Users

Since our goal is to set up an instant messaging server, the first step (after installation) is to set up users. This is done from the admin panel (see Figure 3).

Figure 3

There's plenty to configure in the OpenFire administration panel.

To set up users, just click on the Users/Groups tab and then walk through the process. This is fairly straight-forward. Before any user/group can log onto the instant messaging server, they must have a valid user account in OpenFire. With a valid account, it's now simple for any user that can access the OpenFire server to connect to the instant messaging service.

Connecting to the Jabber Server

To illustrate the connection to the server, let's open up the Empathy instant messaging client. To connect to the OpenFire server a Jabber account must be added. To add an account in Empathy click Edit -> Accounts. Now click Add and select Jabber from the Protocol drop-down. Figure 4 illustrates how the OpenFire credentials will look. It is crucial to notice the Login ID. For this the USER@SERVER format must be used. If your network isn't set up to recognize host names, the server IP address can always be used.

Figure 4

The only protocol that will work with the OpenFire server is the Jabber protocol.

OpenFire is now accepting logins from users and employees/colleagues can begin to take advantage of this very efficient means of communication. The OpenFire administrator can also create specific rooms for specific users and even moderated rooms. This can be helpful to make sure employees can only instant message within their department or that specific departments can only interact with other departments.

Final Thoughts

Yes, the OpenFire server can be used for much more than instant messaging, but this how-to illustrates just how well this server can function within an organization, and how easy it is to get up and running. You can expand your OpenFire server by adding various plugins, using OpenFire for media services, and even clustering OpenFire servers together for scalability.

Click Here!