This page is part of the EmailServer article. Setting Up a high performance IMAP serverThe aim of this article is to describe how to configure a reliable and high performance email server for up to 200 employees. The constraint here is not to send/receive millions of messages a day but to allow users to keep their emails on the server and use IMAP to retrieve them from wherever they are, and for however long they want to keep them. This type of server is particularly suited for companies whose employees deal with a lot of emails, such as an Engineering, Project Management or a Law firm. ObjectivesThe basic objective of this project is to enable authorised users to securely send, retrieve and manage lots of emails from anywhere. Security is enforced from different angles:
Additionally, the technical objectives are:
ImplementationFor this project, I chose the following implementation:
AssumptionsIn this document, the FQDN? (Fully Qualified Domain Name) of the server is also its hostname mail.example.com and its domain name is thus example.com. I assume that you have setup a MX DNS record for mail.example.com and that mail sent to joe@example.com will be attempted to be delivered to the server we're setting up. This setup is meant for a company wanting to host its own email server, so the focus is on single domain only. If you want to manage multiple domains, you will have to adapt this setup. Note: if you need to setup your domain name and take control of your email, I suggest that you take an account with ZoneEdit: the first 5 zones are free, and extra services are quite cheap. You have total control over you domains, subdomains, and can of course create Mail eXchange records. They also have a service to buffer your email should your server be off-line. when things return to normal, any email they kept will be delivered as usual. In the whole installation and configuration process, I assume that you are logged in under the InstallationThe initial installation process is not critical here. Simply avoid installing too much stuff that you don't need (like X, Gnome or KDE and anything graphical) and limit the number of services that run on the server. It's easy enough to add missing packages afterwards. Buy your hard-drives in double or triple and mount your partitions as RAID1 or RAID5 arrays: this is quite critical as it means that you won't lose everything if one of the drives fails. I won't discuss backup solutions for this system, but you should have one. In the future, I plan to describe a mail to database solution that could be used as a specific mail backup/archiving/retrieval system. When deciding your disk partitions, allow a rather large one that you will mount as During the installation process, make sure that you choose After you've rebooted, use Check partition indexesBy default, Fedora Core and RedHat/CentOS systems use indexes when creating Why are indexes so important you ask? It doesn't hurt to double check that our partition supports indexes. Let's suppose that your tune2fs -l /dev/hda3 | grep features You should see a reference to umount /dev/hda3 tune2fs -O dir_index /dev/hda3 e2fsk -fD /dev/hda3 mount /dev/hda3 If your system complains about not finding This bit was taken from the Dovecot site. EmailServer | Users > Leave your comments below |