The company I work for has a no instant messaging policy. More precisely, the policy says we are not allowed to use outside instant messaging services like AIM, MSN, GTalk etc. That makes sense right? I mean there is a very real security concern with using public messaging services for business use.
It turns out that our Finance department has been begging and pleading my boss for the use of IM for collaboration between their team, but he has been holding them at bay because of our IM policy. That is until I saw a recent episode of Hak5. In Episode 508, Matt Lestock introduced everyone to Openfire created by Ignite Realtime which according to their site is:
…a real time collaboration (RTC) server licensed under the Open Source GPL. It uses the only widely adopted open protocol for instant messaging, XMPP (also called Jabber). Openfire is incredibly easy to setup and administer, but offers rock-solid security and performance.
Here is the segment of Matt Lestock talking about Openfire on Hak5:
You can catch the full episode here: (Hak5 Episode 508)
As you can see with the video it is really easy to setup. In the video, Matt uses the embedded database. I played with that myself, and I have to say it sucks! I set mine up with MySQL and it runs much better. Also, he set his up on CentOS without Active Directory support. I on the other hand set mine up on 64 bit Ubuntu 9.04 with LDAP support so my company’s users can all login without me having to setup 300 or so user accounts!
Installation is incredibly easy in Ubuntu 9.04. Especially if you are installing it with a brand new installation of Ubuntu server, which is what I did because you need to have Ubuntu setup as a LAMP server. As many of you already know, you can select the option of setting up a LAMP server in Ubuntu server at install time by simply checking the box (See below).
Here is what I what I did after I was done with installing Ubuntu:
- Install phpmyadmin for easy MySQL administration
sudo apt-get install libapache2-mod-auth-mysql php5-mysql phpmyadmin
- Edit the php.ini file to make sure it works correctly with MySQL
sudo nano /etc/php5/apache2/php.ini
Add the following line to the end: extension=mysql.so
- Restart Apache
sudo /etc/init.d/apache2 restart
- Install Java
sudo apt-get install sun-java6-bin
- Create your MySQL database
Browse to http://servername/phpmyadmin
Login with root and the password you configured during the MySQL installation
On the main page, locate Privileges and scroll down to Add a new User
Use the following on the New User screen:
Username = Enter a username, I used 'openfire'
Host = From the drop down menu, select localhost
Password = Enter a password, retype your password
Under the Database for user section of that page, click on the radio button for Create database with same name and grant all privileges.
At the bottom of the page, click on the Go button.
- Download Openfire
- Install Openfire
sudo dpkg -i openfire_3.6.3_all.deb
Bam! Now all you have to do is browse to http://servername:9090 and run the setup wizard like Matt Lestock does in the video, with the exception of selecting the MySQL database part. For that you just have to enter the database name, and the database user info that we setup in step 5. Easy!
Now that this puppy is all setup, we people can stop wasting space on the mail servers with lengthy email chains. They can collaborate easier, even across the country, you name it! Also, chat sessions are secure over TLS encryption. Not to mention you can add custom filters to prevent leaks of sensitive information.
One thing it also has the ability to do, which we have not implemented is the option to use it as a IM gateway to talk with other IM services on the internet. That might be fun to do for personal use, but I am not comfortable with that in the office.
If you want to try it out, community support is available on the Openfire website here: (Openfire support)