doc/web/source/installation/prerequisites.rst
changeset 579 be0906181a10
child 635 54172669bbae
equal deleted inserted replaced
578:20141b967c0b 579:be0906181a10
       
     1 ==========================
       
     2 Installation Prerequisites
       
     3 ==========================
       
     4 You already should have installed and configured Postfix and Dovecot with
       
     5 PostgreSQL support. You also need access to a local or remote PostgreSQL
       
     6 server.
       
     7 
       
     8 Check for pgsql support in Dovecot and Postfix
       
     9 ----------------------------------------------
       
    10 To verify that your Dovecot and Postfix installation has support for
       
    11 PostgreSQL use the :command:`postconf` and :command:`dovecot` commands as
       
    12 shown below:
       
    13 
       
    14 .. code-block:: console
       
    15 
       
    16   root@host:~# postconf -m | grep pgsql
       
    17   pgsql
       
    18   root@host:~# postconf -a | grep dovecot
       
    19   dovecot
       
    20   root@host:~# dovecot --build-options | grep postgresql
       
    21   SQL drivers: mysql postgresql sqlite
       
    22 
       
    23 vmm depends on Python (≥ 2.4.0) and Psycopg_ (≥ 2.0) or pyPgSQL_ (≥ 2.5.1)
       
    24 [#]_. Psycopg and pyPgSQL are depending on parts of the *eGenix.com mx Base
       
    25 Distribution* (mxDateTime_ and mxTools_).
       
    26 
       
    27 If you are using Python ≤ 2.5.0:
       
    28 
       
    29  ‣ if you want to store your users' passwords as ``PLAIN-MD4`` digest in
       
    30    the database, vmm will try to use ``Crypto.Hash.MD4`` from PyCrypto_
       
    31  ‣ if you are using Dovecot ≥ v1.1.0 and you want to store your users'
       
    32    passwords as ``SHA256`` or ``SSHA256`` hashes, vmm will try to use
       
    33    ``Crypto.Hash.SHA256`` from PyCrypto. For ``SHA256``/``SSHA256`` you
       
    34    should have installed PyCrypto, at least in version 2.1.0alpha1.
       
    35 
       
    36  When the Crypto.Hash module couldn't be imported, vmm will use
       
    37  dovecotpw/doveadm, if  the *misc.password_scheme* setting in your
       
    38  :file:`vmm.cfg` is set to ``PLAIN-MD4``, ``SHA256`` or ``SSHA256``.
       
    39 
       
    40 If your Dovecot and/or Postfix installation shouldn't support PostgreSQL you
       
    41 could possibly fix this by installing the missing package (see below) or by
       
    42 recompiling the corresponding part.
       
    43 
       
    44 Package names by OS/Distribution
       
    45 --------------------------------
       
    46 Debian GNU/Linux (Squeeze/Wheezy)
       
    47 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
       
    48  ‣ `postfix <http://packages.debian.org/postfix>`_ and
       
    49    `postfix-pgsql <http://packages.debian.org/postfix-pgsql>`_
       
    50  ‣ Squeeze:
       
    51 
       
    52    * `dovecot-common <http://packages.debian.org/dovecot-common>`_
       
    53 
       
    54  ‣ Wheezy (and Squeeze backports):
       
    55 
       
    56    * `dovecot-core <http://packages.debian.org/dovecot-core>`_ and
       
    57      `dovecot-lmtpd <http://packages.debian.org/dovecot-lmtpd>`_
       
    58 
       
    59  ‣ `dovecot-imapd <http://packages.debian.org/dovecot-imapd>`_ and/or
       
    60    `dovecot-pop3d <http://packages.debian.org/dovecot-pop3d>`_
       
    61  ‣ `postgresql-client <http://packages.debian.org/postgresql-client>`_
       
    62    (or `postgresql <http://packages.debian.org/postgresql>`_ , if you do not
       
    63    have a dedicated PostgreSQL server.)
       
    64  ‣ `python <http://packages.debian.org/python>`_,
       
    65    `python-egenix-mxdatetime \
       
    66    <http://packages.debian.org/python-egenix-mxdatetime>`_
       
    67    and `python-psycopg2 <http://packages.debian.org/python-psycopg2>`_
       
    68    optionally `python-crypto <http://packages.debian.org/python-crypto>`_
       
    69  ‣ `gettext <http://packages.debian.org/gettext>`_
       
    70 
       
    71 FreeBSD
       
    72 ^^^^^^^
       
    73 Packages or build from ports:
       
    74  ‣ dovecot
       
    75  ‣ postfix
       
    76  ‣ postgresql-client (and postgresql-server, if you do not have a dedicated
       
    77    PostgreSQL server.)
       
    78  ‣ python25, py25-mx-base and py25-pyPgSQL optionally py25-pycrypto
       
    79 
       
    80 Gentoo Linux
       
    81 ^^^^^^^^^^^^
       
    82  ‣ `dev-python/pypgsql <http://gentoo-portage.com/dev-python/pypgsql>`_
       
    83  ‣ `mail-mta/postfix <http://gentoo-portage.com/mail-mta/postfix>`_
       
    84  ‣ `net-mail/dovecot <http://gentoo-portage.com/net-mail/dovecot>`_
       
    85  ‣ `dev-db/postgresql-base <http://gentoo-portage.com/dev-db/postgresql-base>`_
       
    86  ‣ `dev-db/postgresql-server \
       
    87    <http://gentoo-portage.com/dev-db/postgresql-server>`_
       
    88 
       
    89 Applied use-Flags (/etc/portage/package.use)::
       
    90 
       
    91  mail-mta/postfix dovecot-sasl postgres -pam sasl
       
    92  net-mail/dovecot postgres -pam pop3d sieve
       
    93  dev-db/postgresql-server -perl
       
    94 
       
    95 OpenBSD
       
    96 ^^^^^^^
       
    97 Packages or build from ports:
       
    98  ‣ postfix
       
    99  ‣ dovecot
       
   100  ‣ postgresql-client
       
   101  ‣ python and py-mxDateTime optionally py-crypto
       
   102 
       
   103 Build from source:
       
   104  ‣ pyPgSQL_
       
   105 
       
   106 openSUSE Linux
       
   107 ^^^^^^^^^^^^^^
       
   108  ‣ postfix and postfix-postgresql
       
   109  ‣ postgresql-server and postgresql
       
   110  ‣ dovecot
       
   111  ‣ python and pyPgSQL optionally python-crypto
       
   112 
       
   113 
       
   114 .. rubric:: Footnotes
       
   115 .. [#] Beginning with version 0.7.0 of vmm support for pyPgSQL will be dropped.
       
   116 
       
   117 .. include:: ../ext_references.rst