Virtual Mailserver HOWTO

Dave Dribin


Keith Garner


Revision History
Revision 1.1.72004-10-4
Added OpenLDAP 2.2 ACL changes. Thanks to Alexander Lukach.
Revision 1.1.62003-9-15
Put the accountsmap info back in.
Revision 1.1.52003-8-14
Fixes to the new Postfix 2.0 stuff as pointed out by Daniel J. Popowich.
Revision 1.1.42003-8-13
Rewrote poritions of the postfix ldap configuration to be up to date with postfix 2.0.x.
Revision 1.1.32003-6-3
Fixed/updated ldap filter in courier implementation.
Revision 1.1.22003-2-4
Fixed/updated ldap filters in postfix implementation.
Revision 1.1.12002-9-3
Fixes for configuration errors/oversights with postfix
Revision 1.12002-7
Updated to use the Jamm schema and have more information on Jamm.
Revision 1.02002-3
Full-release. Should be mostly free of grammar, spelling, and technical errors.

This guide describes how to set up a mail server that supports multiple domains with virtual and local users using Postfix, OpenLDAP, Courier-IMAP, and Jamm. It also covers many design decisions behind the technology and implementation choices.

Table of Contents
1. Introduction
1.1. Why write this document?
2. Requirements
3. System Architecture
3.1. Software Selection
3.1.1. Postfix
3.1.2. Courier-IMAP
3.1.3. OpenLDAP
3.1.4. Jamm
3.1.5. SquirrelMail
3.2. The Big Picture
3.3. Mailbox Location
4. Implementation
4.1. Prerequisites
4.2. Preparing the Unix System
4.3. OpenLDAP
4.3.1. Configuring slapd Adding Schemas Adding a Database Definition Creating the root User Defining Indexes Setting up Access Control
4.3.2. Creating the Directory Tree Creating the Base Directory
4.4. Postfix
4.4.1. Compiling Postfix with LDAP
4.4.2. Configuring Postfix Procmail Configuring LDAP sources The virtual alias maps The virtual accounts
4.5. Courier
4.5.1. Configuring the Authentication Daemon
4.5.2. Configuring LDAP
4.5.3. Setting up IMAP over SSL
4.6. Jamm
4.7. SquirrelMail
5. Administration
5.1. Site Admin
5.2. Domain Admin
5.3. User Admin
5.4. Account creation notes
5.5. Account deletion notes
6. Thanks
7. About the authors
7.1. Dave Dribin
7.2. Keith Garner