I have been running ejabberd 1.1.3 since I christened my current server nearly a year ago. In this post, I reported on some of the problems I had getting ejabberd to work with the Python-based ICQ and AIM transports. All of the problems were mine, and not the fault of the software.
The above link to ejabberd is to the company behind it. Here is the link to the community site.
What I didn’t mention in that post, and didn’t bother writing about in a separate post later on, was the trouble that I had with the pre-built binary installer for Linux. No matter what I tried (and I tried many things!), I couldn’t get it to work. It’s important to have a binary installer, because ejabberd requires Erlang, which is not typically installed on most Linux distros.
It turned out that the first download that I tried had a problem in that it didn’t have SSL support compiled into the Erlang binary, so even if I could have wrangled it to work, I wouldn’t have been happy, since I always use TLS (previously SSL) in my Jabber communications.
In the end, I downloaded and compiled Erlang, and then downloaded and compiled the ejabberd source as well. I got it working, but it was way more painful than it needed to be. A number of months ago, ejabberd 1.1.4 was released. It included a number of changes that I had no need for. Still, I downloaded it to see if the binary installer would work for me. It didn’t. I spent a bit of time really trying, and again, failed. This time though, it wasn’t worth going through the entire dance, since I had no need for the newer updates.
Two weeks ago, they released ejabberd 2.0.0. This was significant enough to warrant an install. I shuddered to think that they hadn’t fixed the binary installer problem, but I was prepared to slog through a full source install if that was the case.
My fears appeared to be justified. After installing, I received an error message that the installation failed. However, I tried running it anyway, and happily, I can report that even though the message claimed failure, ejabberd 2.0.0 worked perfectly once I tailored the default configuration file! Yippee!
I installed it last Friday, and it’s been running happily for four days now. It’s too early to be sure, but it’s possible that it has solved another problem. A few months ago I started having sporadic problems with the AIM and ICQ transports (I use the Python-based ones). One or the other one would fail, on occasion, and log me out. It was happening frequently enough for me to write separate init.d scripts to stop and start each separately, but not frequently enough for me to seriously considering investigating alternatives.
I have switched a number of times between Gajim and Pidgin (the new name for GAIM). There’s something that I like about Gajim, but somehow, every time, it ends up disappointing me or annoying me in some way. When I switched back from Gajim to Pidgin, the transports became slightly more stable, so I was a little happier, and committed (at least for a while) to just sticking with Pidgin.
Anyway, for the past four days, not a single problem with the transports, so it’s also possible (but too early to be sure) that ejabberd itself was somehow involved in the equation (perhaps it was too sensitive to problems in the client). I’m certainly crossing my fingers that the transport problems are behind me.
Welcome ejabberd 2.0.0!