Installing DBMail
This section is for anyone installing DBMail from distro packages, maintainers and admins packaging DBMail and those building from source.
What to build
If you're running a production server then you should choose the latest maintenance release. At the time of writing this is 3.5 and can be found in the GitHub dbmail 3.5.x branch.
Pre requisites
There are a number of pre-requisites including:
Compiling
The usual ./configure, make, make install should get you a usable system.
You may need to specify paths for libzdb, libsieve, and ldap.
--with-ldap=PATH path to LDAP base directory (e.g. /usr/local or /usr)
--with-sieve=PATH path to libSieve base directory (e.g. /usr/local or /usr)
--with-zdb=PATH path to libzdb base directory (e.g. /usr/local or /usr)
You are highly recommended to run make check to ensure all checks run successfully.
Installing
Root privileges are usually required to bind to well-known ports so dbmail should be installed and run as root. There are configuration values (effective_user and effective_group) to run dbmail with reduced privileges once networking has been established.
It's important that dbmail is installed with its dependent shared libraries: libdbmail.so, libauth_ldap.so, libauth_sql.so and libsort_sieve.so.
The configuration file should be restricted as it contains credentials to access the database.
DBMail offers High availability that scales
The various DBMail daemons can be installed on a single machine or to scale they can be installed on separate machines. Both Docker on Linux and Jails on BSDs are easy ways to manage and scale DBMail.
DNS providing Round Robin Load Distribution enables easy DBMail scaling across servers offering high availability, load distribution, load balancing and fault-tolerance for all of the DBMail daemons.