doc/web/source/installation/prerequisites.rst
author "martin f. krafft" <madduck@debian.org>
Tue, 07 Aug 2012 21:53:41 +0000
changeset 582 605f8c115711
parent 579 be0906181a10
child 635 54172669bbae
permissions -rw-r--r--
Due to the UNION query in address_list, the assumption that the list of gids received from the database would be continuous does not hold. To prevent addresses for domains with multiple entry types from being listed, it is necessary to check the list of domain gids for every entry. Signed-off-by: martin f. krafft <madduck@debian.org> --- VirtualMailManager/common.py | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-)

==========================
Installation Prerequisites
==========================
You already should have installed and configured Postfix and Dovecot with
PostgreSQL support. You also need access to a local or remote PostgreSQL
server.

Check for pgsql support in Dovecot and Postfix
----------------------------------------------
To verify that your Dovecot and Postfix installation has support for
PostgreSQL use the :command:`postconf` and :command:`dovecot` commands as
shown below:

.. code-block:: console

  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)
[#]_. 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
 :file:`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.

Package names by OS/Distribution
--------------------------------
Debian GNU/Linux (Squeeze/Wheezy)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
`postfix <http://packages.debian.org/postfix>`_ and
   `postfix-pgsql <http://packages.debian.org/postfix-pgsql>`_
 ‣ Squeeze:

   * `dovecot-common <http://packages.debian.org/dovecot-common>`_

 ‣ Wheezy (and Squeeze backports):

   * `dovecot-core <http://packages.debian.org/dovecot-core>`_ and
     `dovecot-lmtpd <http://packages.debian.org/dovecot-lmtpd>`_

`dovecot-imapd <http://packages.debian.org/dovecot-imapd>`_ and/or
   `dovecot-pop3d <http://packages.debian.org/dovecot-pop3d>`_
`postgresql-client <http://packages.debian.org/postgresql-client>`_
   (or `postgresql <http://packages.debian.org/postgresql>`_ , if you do not
   have a dedicated PostgreSQL server.)
`python <http://packages.debian.org/python>`_,
   `python-egenix-mxdatetime \
   <http://packages.debian.org/python-egenix-mxdatetime>`_
   and `python-psycopg2 <http://packages.debian.org/python-psycopg2>`_
   optionally `python-crypto <http://packages.debian.org/python-crypto>`_
`gettext <http://packages.debian.org/gettext>`_

FreeBSD
^^^^^^^
Packages or build from ports:
 ‣ dovecot
 ‣ postfix
 ‣ postgresql-client (and postgresql-server, if you do not have a dedicated
   PostgreSQL server.)
 ‣ python25, py25-mx-base and py25-pyPgSQL optionally py25-pycrypto

Gentoo Linux
^^^^^^^^^^^^
`dev-python/pypgsql <http://gentoo-portage.com/dev-python/pypgsql>`_
`mail-mta/postfix <http://gentoo-portage.com/mail-mta/postfix>`_
`net-mail/dovecot <http://gentoo-portage.com/net-mail/dovecot>`_
`dev-db/postgresql-base <http://gentoo-portage.com/dev-db/postgresql-base>`_
 ‣ `dev-db/postgresql-server \
   <http://gentoo-portage.com/dev-db/postgresql-server>`_

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

OpenBSD
^^^^^^^
Packages or build from ports:
 ‣ postfix
 ‣ dovecot
 ‣ postgresql-client
 ‣ python and py-mxDateTime optionally py-crypto

Build from source:
 ‣ pyPgSQL_

openSUSE Linux
^^^^^^^^^^^^^^
 ‣ postfix and postfix-postgresql
 ‣ postgresql-server and postgresql
 ‣ dovecot
 ‣ python and pyPgSQL optionally python-crypto


.. rubric:: Footnotes
.. [#] Beginning with version 0.7.0 of vmm support for pyPgSQL will be dropped.

.. include:: ../ext_references.rst