doc/web/source/installation/prerequisites.rst
changeset 579 be0906181a10
child 635 54172669bbae
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/doc/web/source/installation/prerequisites.rst	Sun Jul 29 14:46:52 2012 +0000
@@ -0,0 +1,117 @@
+==========================
+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