You already should have installed and configured Postfix and Dovecot with PostgreSQL support. You also need access to a local or remote PostgreSQL server.
To verify that your Dovecot and Postfix installation has support for PostgreSQL use the postconf and dovecot commands as shown below:
root@host:~# postconf -m | grep pgsql
pgsql
root@host:~# postconf -a | grep dovecot
dovecot
root@host:~# dovecot --build-options | grep postgresql
SQL drivers: mysql postgresql sqlite
vmm depends on Python (≥ 2.4.0) and Psycopg (≥ 2.0) or pyPgSQL (≥ 2.5.1) [1]. Psycopg and pyPgSQL are depending on parts of the eGenix.com mx Base Distribution (mxDateTime and mxTools).
If you are using Python ≤ 2.5.0:
- if you want to store your users’ passwords as PLAIN-MD4 digest in the database, vmm will try to use Crypto.Hash.MD4 from PyCrypto
- if you are using Dovecot ≥ v1.1.0 and you want to store your users’ passwords as SHA256 or SSHA256 hashes, vmm will try to use Crypto.Hash.SHA256 from PyCrypto. For SHA256/SSHA256 you should have installed PyCrypto, at least in version 2.1.0alpha1.
When the Crypto.Hash module couldn’t be imported, vmm will use dovecotpw/doveadm, if the misc.password_scheme setting in your vmm.cfg is set to PLAIN-MD4, SHA256 or SSHA256.
If your Dovecot and/or Postfix installation shouldn’t support PostgreSQL you could possibly fix this by installing the missing package (see below) or by recompiling the corresponding part.
- postfix and postfix-pgsql
- Squeeze:
- Wheezy (and Squeeze backports):
- dovecot-imapd and/or dovecot-pop3d
- postgresql-client (or postgresql , if you do not have a dedicated PostgreSQL server.)
- python, python-egenix-mxdatetime and python-psycopg2 optionally python-crypto
- gettext
Applied use-Flags (/etc/portage/package.use):
mail-mta/postfix dovecot-sasl postgres -pam sasl
net-mail/dovecot postgres -pam pop3d sieve
dev-db/postgresql-server -perl