Collaboration

Set up open source Jabber to run your own IM service

Follow these easy steps to setting up the Jabber instant messaging service. This open source protocol allows you to control authentication on the server.

Instant messaging is perhaps one of the most popular forms of communication on the Internet outside of e-mail. A number of different protocols exist, but most of these protocols are controlled by large corporations: Microsoft controls MSN, AOL controls AIM, and so forth.

If you're in a corporate setting and feel the need for instant messaging for employees, or run a Web site and want to offer a private IM service, using these third-party-controlled IM services isn't the best way to go, especially if you may be discussing sensitive or private things. Instead, setting up a private, controlled-by-you service may be appropriate.

Jabber is an open source protocol with a number of clients for different platforms and a few different servers. The licenses of the servers and clients may vary, but the jabberd server, from the Jabber Software Foundation, is freely available and is simple to set up. You can download jabberd2 from http://jabberd.jabberstudio.org/2/. Compilation and installation is a breeze with the typical:

$ ./configure —prefix=/usr/local
$ make
# make install

You will need to have the IDN and OpenSSL libraries installed to build against, and by default, Jabber uses a MySQL database for the authentication back-end (although you can use PostgreSQL, OpenLDAP, Berkeley DB, or PAM instead).

The jabberd server uses a number of different programs to handle different parts of the whole service, and you will need to configure each of these. In the /usr/local/etc/jabberd/ directory you will find a number of XML files; these are the configuration files for each separate service. Setup is quite simple if you follow the excellent Installation and Administration Guide document on the home page.

Jabber has made it easy to run your own instant messaging service using an open protocol that anyone can implement and use. By controlling authentication on the server, you can write your own Web front-end to handle signups for accounts, and you can wrap the entire connection to the server in SSL to prevent snooping.

Delivered each Tuesday, TechRepublic's free Linux NetNote provides tips, articles, and other resources to help you hone your Linux skills. Automatically sign up today!

About Vincent Danen

Vincent Danen works on the Red Hat Security Response Team and lives in Canada. He has been writing about and developing on Linux for over 10 years and is a veteran Mac user.

Editor's Picks

Free Newsletters, In your Inbox