|
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 |