doc/web/source/installation/prerequisites.rst
changeset 760 b678a1c43027
parent 748 659c4476c57c
child 761 e4e656f19771
equal deleted inserted replaced
748:659c4476c57c 760:b678a1c43027
     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 (5.x)
       
    96 ^^^^^^^^^^^^^
       
    97 Packages
       
    98  ‣ postfix-2.x.y-pgsql
       
    99  ‣ dovecot-2.x.y and dovecot-postgresql-2.x.y
       
   100  ‣ postgresql-client
       
   101  ‣ python-2.7.x, py-psycopg2 and optionally py-crypto
       
   102 
       
   103 Or build the above mentioned software from ports.
       
   104 
       
   105 openSUSE Linux
       
   106 ^^^^^^^^^^^^^^
       
   107  ‣ postfix and postfix-postgresql
       
   108  ‣ postgresql-server and postgresql
       
   109  ‣ dovecot
       
   110  ‣ python and pyPgSQL optionally python-crypto
       
   111 
       
   112 
       
   113 .. rubric:: Footnotes
       
   114 .. [#] Beginning with version 0.7.0 of vmm support for pyPgSQL will be dropped.
       
   115 
       
   116 .. include:: ../ext_references.rst