Openfire Jabber server

Posted by – April 2, 2012

I’ve been looking for a decent chat server to set up at work, as we have a problem I suspect isn’t unfamiliar to many people – our staff use a variety of different chat providers (MSN, Google Talk etc.) and it just doesn’t work very well. When you want to talk to someone, you need to get their address. You’ll also need an account with them on the same provider.

An internal chat server then, gives quite a few benefits. You can use your existing internal account system (Active Directory/LDAP), you use one protocol, you can have chat rooms for each business unit/team, and if you set up a universal contact list, there is no need for users to add anyone to their own contact list. When a new employee joins the company, add them to the relevant AD/LDAP group and they are automatically added to everyone’s contact list.

I was tempted by IRC at first, but while there are some resources/addons to get LDAP authentication working, it puts off a lot of people (it’s old, and its not flashy. Not great reasons, but I don’t really want to have to convince people to use it).

Then I found Openfire, which fit every requirement I had nicely. In 30 minutes I had a working Jabber chat server integrated with Active Directory, and in another 20 I had it working perfectly with the relevant groups on the Active Directory server. Jabber is supported by numerous client programs on most platforms as well. I’m very impressed by it, and highly recommend you take a look at it if you are looking for something similar.

It even has a few plugins which look like they could be used for some sort of support chat setup – check out the Fastpath plugins on the Plugins page.

  • Category: Linux
  • Comments Closed

Quickly find the public IP of a server

Posted by – April 1, 2012

Found a quick command to do this:

curl ifconfig.me

Nice and simple. And easier sometimes than sifting through documentation/firewall rules.

MySQL query profiling in CentOS 5.8

Posted by – March 30, 2012

I use query profiling quite a lot whenever I run into performance problems with MySQL – it’s immensely useful because it allows you to break down exactly what is happening during query execution.

This is the sort of output you get for a query:

Status                Duration

starting              0.000092
checking permissions  0.000019
Opening tables        0.000067
System lock           0.000026
init                  0.000071
optimizing            0.000014
statistics            0.000021
preparing             0.000019
executing             0.000011
Sending data          0.000178
end                   0.000014
query end             0.000010
closing tables        0.000017
freeing items         0.000031
logging slow query    0.000013
cleaning up           0.000012

Unfortunately, Red Hat decided to disable it when they updated MySQL server to 5.0.95, and therefore it was disabled in CentOS as well.

I sent an email to the CentOS mailing list, and within hours one of the developers had replicated the problem, found the reason why, and posted a bug report at Red Hat, whereupon an engineer picked it up quickly. Hopefully it will be patched soon.

Original mailing list post: http://lists.centos.org/pipermail/centos/2012-March/124470.html

Red Hat Bugzilla ticket: https://bugzilla.redhat.com/show_bug.cgi?id=806365