Linux Archive

My first Cherokee patch

I’ve been playing with Cherokee (the light-weight web server) for a while now. I really like the way their configuration file can be managed with cherokee-admin. This is basically a secured web page that provides a convenient interface to all of Cherokees settings.
Although Cherokee is looks so great, I can’t switch the Ivaldi web server to it, because of a few problems:

  • No support for authentication against SHA1 hashed passwords from a MySQL database
  • No support for webdav/svn, we currently use Apaches mod_subversion with authentication against a MySQL database.

The first point didn’t seem so hard to fix, so I submitted a patch to the Cherokee project. The maintainer got in contact with me and let me sign a contributors agreement. I think this means that the code can be committed to their subversion repositories now.
This still leaves one problem before I can switch: webdav/svn. I don’t think I have enough knowledge to fix that. I might try to switch all our current sites to Cherokee though and keep a light-weight, trimmed down, Apache for webdav/svn.

Monitor Postfix with Cacti and SNMP

Today I configured Cacti and SNMP after I saw the graphs of a friend. He had graphs for Postfix, which showed statics like sent/received/rejected.
After a little search on the internet, I found a post on the Cacti forum. At first I couldn’t get it to work, but after running the script manually (instead of via SNMPd) I found out /var/log/mail.log was not readable by the SNMP user.
Cacti has been polling snmp for the past few hours now and apparently I receive around 25 spam emails that get rejected every 5 minutes. That’s 6000 mails per day, more than 2.000.000 every year. I’m glad I configured postfix to reject those mails (have a look at the reject_rbl_client config directive of postfix).

Testing Ubuntu Jaunty with UXA

I’ve been testing Ubuntu Jaunty for a few weeks now and after using it for a day or two, my memory filled up. Recently I found out that this was caused by Compiz. Apparently if you use UXA with the new Intel drivers, Compiz will start to leak memory. After only 8 hours of usage, Compiz was using more than 1.5GB of memory! The solution? Disable Compiz, because UXA is a big performance improvement for me.

Update: Apparently this bug is fixed (#328232).

Using imapproxy to speedup webmail

Yesterday, I discovered a great way to improve the speed of your webmail client. Two friends of mine were talking about something called imapproxy.
Apparently this is a simply brilliant tool. It was invented because the web is stateless, but imap is not. Your webmail client (for example Roundcube) will reconnect to the imap server everytime you click a link or refresh. This introduces a great deal of lag. The solution to this problem is imapproxy. Your webmail client connects to the proxy and imapproxy opens a connection to the imap server. When the webmail client disconnects, the proxy keeps the connection open for another 5 minutes, so when you refresh or change directory, this can be done very fast!
I installed imapproxy on the webserver of my company. At first I couldn’t get it to work, because I wanted it to connect to imap over ssl, but after enabling “plain text” imap for localhost, I let imapproxy connect to it and everything worked. The roundcube installation now reacts almost instantly!
So remember, don’t try to let imapproxy use ssl, because the only error you will notice is that imapproxy is not listening on any port. The developers just forgot to add error reporting I guess.

DD-WRT on the Fonera 2100

I finally got the DD-WRT firmware working on my Fonera 2100. I had been trying to get it up and running for a while, but couldn’t get it to work. Apparently the current “stable” release of DD-WRT, v24 SP1 doesn’t want to boot. As soon as I finished the installation in RedBoot and ran “reset” the Fonera stopped responding. Today I tried the current “unstable” release of DD-WRT, v24 preSP2 (build 11522) and it booted right away!
So far I’ve been able to get client-mode to work. Next step: client bridge-mode!

Tags: ,