Here's a cutesy doc I wrote for my boss about this project. Here's a text version.

Here's a quick admin guide/tutorial on cyrus account management (including raw imap commands).

Here are the deb's I used to build this setup. This includes the snippet from my sources.list that relates to the mail system.

I have since upgraded to 2.0.18. I backported it from unstable and used HMH's libgdbm. The new packages are in debian/new/.
Hats off to Henrique of debian.org fame for making this a lot easier than it could have been.
I modified his debs to use sasl2 instead of sasl (v1) and added dict_mysql.so to /etc/postfix/dynamicmaps.cf.

The db schema is here.

The sources.list that I'm using is here.

The default permissions on a few files were borked and I had to change them...
* the dir the clamav socket is in
* the dir the cyrus socket is in
* the cyrus socket *i think*
dpkg-statoverride -f --add user group {perms;eg. 711} /path/to/directory/

You'll need to install these support packages:

  • sasl2-bin (provides saslauthd)
  • ... incomplete :\

Here are the configs I'm using:

Here is a perl script I wrote to make sure clamd hasn't died and is running/functioning properly.
It has only undergone minimal testing...
Here is the default sieve script we give our users.
Here is the modified avelsieve plugin (for squirrelmail) that our customers use to set their filtering preferences.

It would seem best to have the users add any additional filter rules between the
virus and spam rules (keeping the virus rule first and the spam rule last).

Try adding this to /etc/cyrus.conf to clear out users spam/virus folders of old messages...
NOTE: this is added to the EVENTS {} section

# Every 24 hours; Clear Spam/Viruses folders of messages that are older than 30 days
cleanup cmd="/usr/sbin/ipurge -f -d 30 user/*/Spam user/*/Viruses" period=1440

NOTE 2: I suggest you run saslauthd with '-n 0' to avoid memory leaks that you might run into in some environments. See the man page for saslauthd for more info.
I was seeing 5 saslauthd threads each hit 170MB+ of memory each (with ~1MB shared) after running for 8 hours. The daemon option -n fixed this for me.

| home
Glad you stopped by from