jimcofer.com
Site Version: 2.1 (build 2.1.278)

Home
My Writings!
History Blog
Critic's Corner
Geek Stuff
Downloads
Links
My Résumé
Feedback
About Me
About this Site

Photo Gallery

My Movie Reviews

My MySpace Profile

Dropbox

RSS Feed

Hit Counter
Vistors since
March 2002!
 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Setting Up An Instant Messaging Server

NEW! Download a printer-friendly PDF of this article here.

I recently upgraded a Charlotte company from an NT 4 domain to Small Business 2003. While the employees seemed excited about the Exchange server, Outlook Web Access, Remote Web Workplace, the company intranet, and all the other features of SBS, the thing they seemed most excited about was the cheapest option of them all: a Openfire instant messaging server!

Yes, instant messaging has grown up. Originally it was the bane of system administrators, as it allowed employees unfettered and insecure communication with just about anyone connected to the Internet. The threat of viruses and hackers - to say nothing of the "goof-off factor" - led many companies to ban instant messaging clients on their networks. Savvier companies began to see the speed and productivity inherent in the instant messaging concept in the workplace, and so "private" or "closed" instant messaging systems, such as Microsoft's Live Communications Server and Lotus SameTime were developed. And thanks to the Open-Source software folks, almost anything new that comes along these days gets one (or more) open-source clones.

Instant messaging is no exception. Openfire is a "cross-platform real-time collaboration server based on the XMPP (Jabber) protocol". The server and client come in Windows, Linux and Mac flavors. They're free to download and use. And for most small offices, just about any ol' spare Windows box you have lying around can be a Openfire server, so no new hardware is even needed!

Aside from using instant messaging in a small businesses, you might want to set up a private chat network for any number of reasons. Perhaps you have a bunch of techie friends - you could install Openfire on a spare box and set up your own "private" IM network. Maybe you're part of a gang of gaming addicts and want a private chat server so you all can chat during computer games without being interrupted by people from everyone's other buddy lists. Maybe you're a teacher and want to start a private instant messaging server for teaching staff... or for you and your students. I dunno. Whatever the case may be, you can get into the IM game for next to nothing, so why not give it a try?

What you need:

A Windows PC (this tutorial is for Windows only)
Openfire (server)
Spark (client)
GAIM (client, see below)
Access to your router (optional, see below)

NOTE: Openfire was previously known as "Wildfire". At this time this article was written, all references to "Wildfire" had been changed to "Openfire" on the official website, but an Openfire-branded version of the software had not been released. For this reason, I refer to the software as "Openfire" when speaking generally, but "Wildfire" but referring to actual steps in setting it up. I'll keep my eye on the website and update all references to "Openfire" once the new version comes out.

 

The PC

Determining how much of PC you need depends on how many users will be using the system at its busiest given time. A "buddy" network of 5 friends can run on just about any old computer that can run Windows XP well. An office of 12-15 people will need at least a 1GHz machine with 512MB of RAM ('though more is always better). And, as you might guess, an office with 30 workers working the same shift will require a much beefier computer than a company with 30 workers equally divided into 3 shifts. It's all about how much traffic you're going to generate - the more traffic you have, the faster computer you'll need. But most small offices have at least one old computer lying around that could do the job. You can certainly buy a computer to do this, and if you were going that route, I'd advise you to use Windows Server 2003 if you can swing it. Why not, really? If not, Windows XP will certainly do.

 

Setting It Up

WARNING: You might work in an industry, such as the financial or medical sectors, where all communications (including instant messaging) might have to meet a legally-binding "compliance standard". You might be required to log and keep all instant message conversations for a certain number of years. You might have to assure a court that patient confidentiality has been legally assured in this system. In short, you and\or your company may face legal ramifications for installing and using this software. Clear everything with your bosses before you follow the steps below. If you are in any doubt as to what guidelines must be followed in your company, please consult your HR and\or legal department before you follow the steps below. I am not a lawyer. I am not your lawyer. I'm not licensed to practice law in any state, territory or commonwealth of the United States of America. I'm just warning you, OK? In fact, if you're in one of those industries, you might want to look in to the Wildfire Enterprise edition or available options from Microsoft or IBM.

If you're smart enough to want to run your own instant messaging server, you're probably smart enough to understand how to go to a website, download some software, and install it on Windows. So I'll skip the basics: just go to Openfire's download page and download both Wildfire\Openfire and Spark. Install Openfire, accepting all defaults for most installs. On the last window of the Wildfire install, you'll see a checkbox labeled "Run Wildfire"; make sure that it's checked (it is by default) and click "Finish". When Wildfire finishes opening, click "Launch Admin". A webpage will open on your computer:

 

 
Choose your language, then click "Continue":
 

 
Enter the server name under "domain", and leave the port settings unchanged. Click "Continue":
 

 

Here we'll choose which database to use with Wildfire. If you have spare copies of MySQL or MS SQL laying around and are comfortable with setting up the databases, choose "Standard Database Connection". If you have no idea of what "MySQL" is, or if you plan to have less than 20 users, click "Embedded database".

 

 

Next we'll chose how we go about adding users. If you are familiar with LDAP, you can configure Wildfire to look up users in an LDAP source (like Active Directory). While this could be Wildfire's grooviest feature, it's not really there yet. Setting up Wildfire for LDAP is *not* plug-and-play. There's no simple plug-in to use. You have to create the LDAP queries yourself. If you have no idea of what LDAP is, or if you're going to have less than 15 users click "Default". Trust me, it's easier this way.

 

 
Next we'll enter a valid email address for the administrator, as well as a new password to get into the administration console.
 

 

Setup is mostly complete. In fact, all we have to do now is add some users and groups. To do this, log in to the admin console using the username "admin" and the password you created in the previous step:

 

 

 

Scroll down on the first page and you'll find the ports that Wildfire runs on. Later on, you may opt to forward these ports from your router so that the outside world can connect to your server.

 

 

First we need to create at least one "group". For simplicity's sake, you could opt for a single group, such as "Jones Reality Company" or "Ken's WoW Junkees". You could also create multiple groups, such as "Charlotte office" and "Raleigh office", or "Sales", "Marketing", "HR" and so forth. It is important to understand that, by default, Wildfire only shares contact lists within the members of each group only. So if you set up a single group, all members of that group will see each other on their "buddy lists". However, if you create multiple groups, by default the members of "group a" will only see members of "group a" on their lists and members of "group b" will see only "group b" members on their lists. If you enable contact sharing, each group will be able to see each other's members. To do this, check out the following configuration page:

 

 
Once you have your groups configured, it's time to create some users. Click on "Users\Groups" and then click on "Add User":
 


(Note that there are both "Create User" buttons and "Create & Create Another". The second option makes adding lots of users fast!)

 

Next we need to add the new users to your groups. To do this, click on Users\Groups > Group Summary > groupname. You may add users to this group by entering the user's username (i.e. "jsmith", not "John Smith") in the "Members of this group" box. You may also make one (or more) admins by checking the "Admin" box then clicking "Update". You may remove a user by checking the "Remove" box and then clicking "Update":

 

 

You are now, for all intents and purposes, done with setting up the server. I do, however, highly recommend that you click the "Server" tab in your web browser and check the settings listed in the left-hand side of the browser window. For example, in "Server to Server", you'll probably want to disable server sharing, which would allow anyone in your company install Wildfire on their own system as a "ghost server". You might also want to set how Wildfire deals with program updates and whether users can change their own passwords. You'll find all those settings in the left-hand side of the "Server" window. And if you still haven't forwarded the ports from your router to your server, now's the time to do so.

 

Setting Up The Clients

Setting up the clients is easy. Spark comes in EXE and MSI flavors, so it could be pushed out to users via Group Policy. Or you could simply instruct the users on what to do. It's a bog standard install, and once Spark is installed, all they'll have to do is enter their username, password and server name - everything else has been configured by you beforehand. Once they log in, they'll see everyone in their group (and other groups, if you have enabled contact list sharing). To start a conversation with someone, they need only to double-click on the user's name and start typing in the box that pops-up. By default, all Spark conversations are held in a single tabbed window, which I find convenient - others might not.

One thing that Spark is no good at is getting along with Windows Vista's "Aero interface". Once Spark starts, the user will get a message that "a program incompatible with Windows' 'Areo' interface" has started and that the "interface will be changed to Aero Basic while this program is open". This sucks, and for Windows Vista users you might opt instead to use GAIM. GAIM is an open-source instant messaging client that was originally developed for the Linux platform. GAIM can access Jabber (Wildfire) servers, as well as Windows Messenger, Yahoo! Messenger, AOL Instant Messenger, ICQ and IRC networks. There is no way (that I know of) to disable support for these other chatting platforms (so if you give your employees GAIM, they will be able to connect to AIM and Yahoo! Messenger), so keep that in mind if you need to decide on "Aero Basic vs. GAIM" issues. For my own (administrative) uses, I find that I prefer GAIM over Spark any day. And of course, if you're just creating a "friend's network", they might choose to use Spark, GAIM, or some other Jabber IM client.

 
 
Last Updated: Wednesday, 21 March 2007 01:57