author | Pascal Volk <user@localhost.localdomain.org> |
Wed, 03 Oct 2012 12:51:24 +0000 | |
changeset 627 | 682431c45b24 |
parent 577 | 4f9079dd4b65 |
child 695 | 42addf4f2434 |
permissions | -rw-r--r-- |
0
bb0aa2102206
Initial import @sf.net
Pascal Volk <neverseen@users.sourceforge.net>
parents:
diff
changeset
|
1 |
Installation Prerequisites |
bb0aa2102206
Initial import @sf.net
Pascal Volk <neverseen@users.sourceforge.net>
parents:
diff
changeset
|
2 |
You should already have installed and configured Postfix, Dovecot and |
bb0aa2102206
Initial import @sf.net
Pascal Volk <neverseen@users.sourceforge.net>
parents:
diff
changeset
|
3 |
PostgreSQL. |
268
beb8f4421f92
VMM: added new modules password and pycompat.hashlib.
Pascal Volk <neverseen@users.sourceforge.net>
parents:
248
diff
changeset
|
4 |
|
beb8f4421f92
VMM: added new modules password and pycompat.hashlib.
Pascal Volk <neverseen@users.sourceforge.net>
parents:
248
diff
changeset
|
5 |
The Virtual Mail Manager depends on: |
beb8f4421f92
VMM: added new modules password and pycompat.hashlib.
Pascal Volk <neverseen@users.sourceforge.net>
parents:
248
diff
changeset
|
6 |
- Python (>= 2.4.0) |
356
61e732e4cb3e
Updated INSTALL and setup.py.
Pascal Volk <neverseen@users.sourceforge.net>
parents:
271
diff
changeset
|
7 |
- Psycopg 2¹ or pyPgSQL² |
14
ebc9b864bc9a
* 'update_config_0.3.x-0.4.py'
Pascal Volk <neverseen@users.sourceforge.net>
parents:
11
diff
changeset
|
8 |
|
268
beb8f4421f92
VMM: added new modules password and pycompat.hashlib.
Pascal Volk <neverseen@users.sourceforge.net>
parents:
248
diff
changeset
|
9 |
If you are using Python <= 2.5.0: |
beb8f4421f92
VMM: added new modules password and pycompat.hashlib.
Pascal Volk <neverseen@users.sourceforge.net>
parents:
248
diff
changeset
|
10 |
- if you want to store your users' passwords as PLAIN-MD4 digest in |
356
61e732e4cb3e
Updated INSTALL and setup.py.
Pascal Volk <neverseen@users.sourceforge.net>
parents:
271
diff
changeset
|
11 |
the database, vmm will try to use Crypto.Hash.MD4 from PyCrypto³. |
268
beb8f4421f92
VMM: added new modules password and pycompat.hashlib.
Pascal Volk <neverseen@users.sourceforge.net>
parents:
248
diff
changeset
|
12 |
- if you are using Dovecot >= v1.1.0 and you want to store your users' |
beb8f4421f92
VMM: added new modules password and pycompat.hashlib.
Pascal Volk <neverseen@users.sourceforge.net>
parents:
248
diff
changeset
|
13 |
passwords as SHA256 or SSHA256 hashes, vmm will try to use |
beb8f4421f92
VMM: added new modules password and pycompat.hashlib.
Pascal Volk <neverseen@users.sourceforge.net>
parents:
248
diff
changeset
|
14 |
Crypto.Hash.SHA256 from PyCrypto². For SHA256/SSHA256 you should have |
beb8f4421f92
VMM: added new modules password and pycompat.hashlib.
Pascal Volk <neverseen@users.sourceforge.net>
parents:
248
diff
changeset
|
15 |
at least use PyCrypto in version 2.1.0alpha1. |
beb8f4421f92
VMM: added new modules password and pycompat.hashlib.
Pascal Volk <neverseen@users.sourceforge.net>
parents:
248
diff
changeset
|
16 |
|
beb8f4421f92
VMM: added new modules password and pycompat.hashlib.
Pascal Volk <neverseen@users.sourceforge.net>
parents:
248
diff
changeset
|
17 |
When the Crypto.Hash module couldn't be imported, vmm will use |
beb8f4421f92
VMM: added new modules password and pycompat.hashlib.
Pascal Volk <neverseen@users.sourceforge.net>
parents:
248
diff
changeset
|
18 |
dovecotpw/doveadm, if the misc.password_scheme setting in the vmm.cfg |
beb8f4421f92
VMM: added new modules password and pycompat.hashlib.
Pascal Volk <neverseen@users.sourceforge.net>
parents:
248
diff
changeset
|
19 |
is set to PLAIN-MD4, SHA256 or SSHA256 |
beb8f4421f92
VMM: added new modules password and pycompat.hashlib.
Pascal Volk <neverseen@users.sourceforge.net>
parents:
248
diff
changeset
|
20 |
|
356
61e732e4cb3e
Updated INSTALL and setup.py.
Pascal Volk <neverseen@users.sourceforge.net>
parents:
271
diff
changeset
|
21 |
[1] Psycopg: <http://initd.org/psycopg/> (Debian: python-psycopg2) |
61e732e4cb3e
Updated INSTALL and setup.py.
Pascal Volk <neverseen@users.sourceforge.net>
parents:
271
diff
changeset
|
22 |
[2] pyPgSQL: <http://pypgsql.sourceforge.net/> (Debian: python-pgsql) |
61e732e4cb3e
Updated INSTALL and setup.py.
Pascal Volk <neverseen@users.sourceforge.net>
parents:
271
diff
changeset
|
23 |
[3] PyCrypto: <http://www.pycrypto.org/> (Debian: python-crypto) |
0
bb0aa2102206
Initial import @sf.net
Pascal Volk <neverseen@users.sourceforge.net>
parents:
diff
changeset
|
24 |
|
bb0aa2102206
Initial import @sf.net
Pascal Volk <neverseen@users.sourceforge.net>
parents:
diff
changeset
|
25 |
|
564
55148bc6348e
INSTALL: Added description how to create additional dove* user/group.
Pascal Volk <user@localhost.localdomain.org>
parents:
563
diff
changeset
|
26 |
Create additionally a user and groups for improved security |
55148bc6348e
INSTALL: Added description how to create additional dove* user/group.
Pascal Volk <user@localhost.localdomain.org>
parents:
563
diff
changeset
|
27 |
We will create the system user `doveauth'. This user is used in the |
55148bc6348e
INSTALL: Added description how to create additional dove* user/group.
Pascal Volk <user@localhost.localdomain.org>
parents:
563
diff
changeset
|
28 |
authentication process. On a Debian GNU/Linux System use this command: |
55148bc6348e
INSTALL: Added description how to create additional dove* user/group.
Pascal Volk <user@localhost.localdomain.org>
parents:
563
diff
changeset
|
29 |
|
55148bc6348e
INSTALL: Added description how to create additional dove* user/group.
Pascal Volk <user@localhost.localdomain.org>
parents:
563
diff
changeset
|
30 |
adduser --system --home /nonexistent --no-create-home --group \ |
55148bc6348e
INSTALL: Added description how to create additional dove* user/group.
Pascal Volk <user@localhost.localdomain.org>
parents:
563
diff
changeset
|
31 |
--disabled-login --gecos "Dovecot IMAP/POP3 authentication user" \ |
55148bc6348e
INSTALL: Added description how to create additional dove* user/group.
Pascal Volk <user@localhost.localdomain.org>
parents:
563
diff
changeset
|
32 |
doveauth |
55148bc6348e
INSTALL: Added description how to create additional dove* user/group.
Pascal Volk <user@localhost.localdomain.org>
parents:
563
diff
changeset
|
33 |
|
55148bc6348e
INSTALL: Added description how to create additional dove* user/group.
Pascal Volk <user@localhost.localdomain.org>
parents:
563
diff
changeset
|
34 |
This will create the doveauth user and group. |
55148bc6348e
INSTALL: Added description how to create additional dove* user/group.
Pascal Volk <user@localhost.localdomain.org>
parents:
563
diff
changeset
|
35 |
For Dovecot >= 2.0 we create also the group `dovemail'. Dovecot will assign |
55148bc6348e
INSTALL: Added description how to create additional dove* user/group.
Pascal Volk <user@localhost.localdomain.org>
parents:
563
diff
changeset
|
36 |
this group to all Dovecot processes. |
55148bc6348e
INSTALL: Added description how to create additional dove* user/group.
Pascal Volk <user@localhost.localdomain.org>
parents:
563
diff
changeset
|
37 |
On a Debian GNU/Linux bases system run: |
55148bc6348e
INSTALL: Added description how to create additional dove* user/group.
Pascal Volk <user@localhost.localdomain.org>
parents:
563
diff
changeset
|
38 |
|
55148bc6348e
INSTALL: Added description how to create additional dove* user/group.
Pascal Volk <user@localhost.localdomain.org>
parents:
563
diff
changeset
|
39 |
addgroup --system dovemail |
55148bc6348e
INSTALL: Added description how to create additional dove* user/group.
Pascal Volk <user@localhost.localdomain.org>
parents:
563
diff
changeset
|
40 |
|
55148bc6348e
INSTALL: Added description how to create additional dove* user/group.
Pascal Volk <user@localhost.localdomain.org>
parents:
563
diff
changeset
|
41 |
|
0
bb0aa2102206
Initial import @sf.net
Pascal Volk <neverseen@users.sourceforge.net>
parents:
diff
changeset
|
42 |
Configuring PostgreSQL |
577
4f9079dd4b65
INSTALL: Updated PostgreSQL configuration URL.
Pascal Volk <user@localhost.localdomain.org>
parents:
564
diff
changeset
|
43 |
(for more details see: |
4f9079dd4b65
INSTALL: Updated PostgreSQL configuration URL.
Pascal Volk <user@localhost.localdomain.org>
parents:
564
diff
changeset
|
44 |
http://vmm.localdomain.org/installation/postgresql_configuration.html) |
0
bb0aa2102206
Initial import @sf.net
Pascal Volk <neverseen@users.sourceforge.net>
parents:
diff
changeset
|
45 |
|
165
7e50e4c49ed7
INSTALL: Adapted pgsql configuration steps to that in the wiki.
Pascal Volk <neverseen@users.sourceforge.net>
parents:
135
diff
changeset
|
46 |
* /etc/postgresql/8.4/main/pg_hba.conf |
7e50e4c49ed7
INSTALL: Adapted pgsql configuration steps to that in the wiki.
Pascal Volk <neverseen@users.sourceforge.net>
parents:
135
diff
changeset
|
47 |
[ if you prefer to connect via TCP/IP ] |
0
bb0aa2102206
Initial import @sf.net
Pascal Volk <neverseen@users.sourceforge.net>
parents:
diff
changeset
|
48 |
# IPv4 local connections: |
bb0aa2102206
Initial import @sf.net
Pascal Volk <neverseen@users.sourceforge.net>
parents:
diff
changeset
|
49 |
host mailsys +mailsys 127.0.0.1/32 md5 |
165
7e50e4c49ed7
INSTALL: Adapted pgsql configuration steps to that in the wiki.
Pascal Volk <neverseen@users.sourceforge.net>
parents:
135
diff
changeset
|
50 |
[ if you want to connect through a local Unix-domain socket ] |
7e50e4c49ed7
INSTALL: Adapted pgsql configuration steps to that in the wiki.
Pascal Volk <neverseen@users.sourceforge.net>
parents:
135
diff
changeset
|
51 |
# "local" is for Unix domain socket connections only |
7e50e4c49ed7
INSTALL: Adapted pgsql configuration steps to that in the wiki.
Pascal Volk <neverseen@users.sourceforge.net>
parents:
135
diff
changeset
|
52 |
local mailsys +mailsys md5 |
0
bb0aa2102206
Initial import @sf.net
Pascal Volk <neverseen@users.sourceforge.net>
parents:
diff
changeset
|
53 |
|
bb0aa2102206
Initial import @sf.net
Pascal Volk <neverseen@users.sourceforge.net>
parents:
diff
changeset
|
54 |
# reload configuration |
165
7e50e4c49ed7
INSTALL: Adapted pgsql configuration steps to that in the wiki.
Pascal Volk <neverseen@users.sourceforge.net>
parents:
135
diff
changeset
|
55 |
/etc/init.d/postgresql-8.4 force-reload |
0
bb0aa2102206
Initial import @sf.net
Pascal Volk <neverseen@users.sourceforge.net>
parents:
diff
changeset
|
56 |
|
563
b17a9d7a59ae
INSTALL: Updated documentation.
Pascal Volk <user@localhost.localdomain.org>
parents:
378
diff
changeset
|
57 |
* Create a database superuser if necessary: |
b17a9d7a59ae
INSTALL: Updated documentation.
Pascal Volk <user@localhost.localdomain.org>
parents:
378
diff
changeset
|
58 |
# as root run: su - postgres |
b17a9d7a59ae
INSTALL: Updated documentation.
Pascal Volk <user@localhost.localdomain.org>
parents:
378
diff
changeset
|
59 |
# if you have sudo privileges run: sudo su - postgres |
b17a9d7a59ae
INSTALL: Updated documentation.
Pascal Volk <user@localhost.localdomain.org>
parents:
378
diff
changeset
|
60 |
# create your superuser, which will be able to create users and databases |
0
bb0aa2102206
Initial import @sf.net
Pascal Volk <neverseen@users.sourceforge.net>
parents:
diff
changeset
|
61 |
createuser -s -d -r -E -e -P $USERNAME |
bb0aa2102206
Initial import @sf.net
Pascal Volk <neverseen@users.sourceforge.net>
parents:
diff
changeset
|
62 |
|
563
b17a9d7a59ae
INSTALL: Updated documentation.
Pascal Volk <user@localhost.localdomain.org>
parents:
378
diff
changeset
|
63 |
* As superuser create the database and db users for vmm, Postfix and Dovecot |
0
bb0aa2102206
Initial import @sf.net
Pascal Volk <neverseen@users.sourceforge.net>
parents:
diff
changeset
|
64 |
connecting to PostgreSQL: |
bb0aa2102206
Initial import @sf.net
Pascal Volk <neverseen@users.sourceforge.net>
parents:
diff
changeset
|
65 |
psql template1 |
128
cf8116625866
Converted VirtualMailManager and Postconf to new-style classes.
Pascal Volk <neverseen@users.sourceforge.net>
parents:
127
diff
changeset
|
66 |
|
165
7e50e4c49ed7
INSTALL: Adapted pgsql configuration steps to that in the wiki.
Pascal Volk <neverseen@users.sourceforge.net>
parents:
135
diff
changeset
|
67 |
# create users, group and the database |
563
b17a9d7a59ae
INSTALL: Updated documentation.
Pascal Volk <user@localhost.localdomain.org>
parents:
378
diff
changeset
|
68 |
CREATE ROLE vmm LOGIN ENCRYPTED PASSWORD 'DB PASSWORD for vmm'; |
b17a9d7a59ae
INSTALL: Updated documentation.
Pascal Volk <user@localhost.localdomain.org>
parents:
378
diff
changeset
|
69 |
CREATE ROLE dovecot LOGIN ENCRYPTED password 'DB PASSWORD for Dovecot'; |
b17a9d7a59ae
INSTALL: Updated documentation.
Pascal Volk <user@localhost.localdomain.org>
parents:
378
diff
changeset
|
70 |
CREATE ROLE postfix LOGIN ENCRYPTED password 'DB PASSWORD for Postfix'; |
165
7e50e4c49ed7
INSTALL: Adapted pgsql configuration steps to that in the wiki.
Pascal Volk <neverseen@users.sourceforge.net>
parents:
135
diff
changeset
|
71 |
CREATE ROLE mailsys WITH USER postfix, dovecot, vmm; |
7e50e4c49ed7
INSTALL: Adapted pgsql configuration steps to that in the wiki.
Pascal Volk <neverseen@users.sourceforge.net>
parents:
135
diff
changeset
|
72 |
CREATE DATABASE mailsys WITH OWNER vmm ENCODING 'UTF8'; |
7e50e4c49ed7
INSTALL: Adapted pgsql configuration steps to that in the wiki.
Pascal Volk <neverseen@users.sourceforge.net>
parents:
135
diff
changeset
|
73 |
\q |
7e50e4c49ed7
INSTALL: Adapted pgsql configuration steps to that in the wiki.
Pascal Volk <neverseen@users.sourceforge.net>
parents:
135
diff
changeset
|
74 |
|
0
bb0aa2102206
Initial import @sf.net
Pascal Volk <neverseen@users.sourceforge.net>
parents:
diff
changeset
|
75 |
# connect to the new database |
165
7e50e4c49ed7
INSTALL: Adapted pgsql configuration steps to that in the wiki.
Pascal Volk <neverseen@users.sourceforge.net>
parents:
135
diff
changeset
|
76 |
psql mailsys vmm -W -h 127.0.0.1 |
127
97a9f6dd954b
Updated documentation
Pascal Volk <neverseen@users.sourceforge.net>
parents:
100
diff
changeset
|
77 |
# either import the database structure for Dovecot v1.0.x/v1.1.x |
563
b17a9d7a59ae
INSTALL: Updated documentation.
Pascal Volk <user@localhost.localdomain.org>
parents:
378
diff
changeset
|
78 |
\i vmm-y.x.z/pgsql/create_tables.pgsql |
b17a9d7a59ae
INSTALL: Updated documentation.
Pascal Volk <user@localhost.localdomain.org>
parents:
378
diff
changeset
|
79 |
# or import the database structure for Dovecot v1.2.x/v2.x |
b17a9d7a59ae
INSTALL: Updated documentation.
Pascal Volk <user@localhost.localdomain.org>
parents:
378
diff
changeset
|
80 |
\i vmm-x.y.z/pgsql/create_tables-dovecot-1.2.x.pgsql |
0
bb0aa2102206
Initial import @sf.net
Pascal Volk <neverseen@users.sourceforge.net>
parents:
diff
changeset
|
81 |
# leave psql |
bb0aa2102206
Initial import @sf.net
Pascal Volk <neverseen@users.sourceforge.net>
parents:
diff
changeset
|
82 |
\q |
bb0aa2102206
Initial import @sf.net
Pascal Volk <neverseen@users.sourceforge.net>
parents:
diff
changeset
|
83 |
|
563
b17a9d7a59ae
INSTALL: Updated documentation.
Pascal Volk <user@localhost.localdomain.org>
parents:
378
diff
changeset
|
84 |
# set permissions for your Dovecot and Postfix users |
b17a9d7a59ae
INSTALL: Updated documentation.
Pascal Volk <user@localhost.localdomain.org>
parents:
378
diff
changeset
|
85 |
# see python set-permissions.py -h for details |
b17a9d7a59ae
INSTALL: Updated documentation.
Pascal Volk <user@localhost.localdomain.org>
parents:
378
diff
changeset
|
86 |
python vmm-x.y.z/pgsql/set-permissions.py -a -H 127.0.0.1 -U vmm |
b17a9d7a59ae
INSTALL: Updated documentation.
Pascal Volk <user@localhost.localdomain.org>
parents:
378
diff
changeset
|
87 |
|
0
bb0aa2102206
Initial import @sf.net
Pascal Volk <neverseen@users.sourceforge.net>
parents:
diff
changeset
|
88 |
Create directory for your mails |
bb0aa2102206
Initial import @sf.net
Pascal Volk <neverseen@users.sourceforge.net>
parents:
diff
changeset
|
89 |
mkdir /srv/mail |
bb0aa2102206
Initial import @sf.net
Pascal Volk <neverseen@users.sourceforge.net>
parents:
diff
changeset
|
90 |
cd /srv/mail/ |
bb0aa2102206
Initial import @sf.net
Pascal Volk <neverseen@users.sourceforge.net>
parents:
diff
changeset
|
91 |
mkdir 0 1 2 3 4 5 6 7 8 9 a b c d e f g h i j k l m n o p q r s t u v w x y z |
bb0aa2102206
Initial import @sf.net
Pascal Volk <neverseen@users.sourceforge.net>
parents:
diff
changeset
|
92 |
chmod 771 /srv/mail |
bb0aa2102206
Initial import @sf.net
Pascal Volk <neverseen@users.sourceforge.net>
parents:
diff
changeset
|
93 |
chmod 751 /srv/mail/* |
bb0aa2102206
Initial import @sf.net
Pascal Volk <neverseen@users.sourceforge.net>
parents:
diff
changeset
|
94 |
|
563
b17a9d7a59ae
INSTALL: Updated documentation.
Pascal Volk <user@localhost.localdomain.org>
parents:
378
diff
changeset
|
95 |
|
b17a9d7a59ae
INSTALL: Updated documentation.
Pascal Volk <user@localhost.localdomain.org>
parents:
378
diff
changeset
|
96 |
For Dovecot >= 2.0 read the file Configure.Dovecot_2 |
b17a9d7a59ae
INSTALL: Updated documentation.
Pascal Volk <user@localhost.localdomain.org>
parents:
378
diff
changeset
|
97 |
Configuring Dovecot v1.x |
0
bb0aa2102206
Initial import @sf.net
Pascal Volk <neverseen@users.sourceforge.net>
parents:
diff
changeset
|
98 |
|
bb0aa2102206
Initial import @sf.net
Pascal Volk <neverseen@users.sourceforge.net>
parents:
diff
changeset
|
99 |
* /etc/dovecot/dovecot.conf |
bb0aa2102206
Initial import @sf.net
Pascal Volk <neverseen@users.sourceforge.net>
parents:
diff
changeset
|
100 |
# all your other settings |
75
af813ede1e19
* 'create_optional_types_and_functions.pgsql'
Pascal Volk <neverseen@users.sourceforge.net>
parents:
30
diff
changeset
|
101 |
#disable_plaintext_auth = no |
0
bb0aa2102206
Initial import @sf.net
Pascal Volk <neverseen@users.sourceforge.net>
parents:
diff
changeset
|
102 |
mail_location = maildir:~/Maildir |
bb0aa2102206
Initial import @sf.net
Pascal Volk <neverseen@users.sourceforge.net>
parents:
diff
changeset
|
103 |
first_valid_uid = 70000 |
bb0aa2102206
Initial import @sf.net
Pascal Volk <neverseen@users.sourceforge.net>
parents:
diff
changeset
|
104 |
first_valid_gid = 70000 |
bb0aa2102206
Initial import @sf.net
Pascal Volk <neverseen@users.sourceforge.net>
parents:
diff
changeset
|
105 |
protocol lda { |
75
af813ede1e19
* 'create_optional_types_and_functions.pgsql'
Pascal Volk <neverseen@users.sourceforge.net>
parents:
30
diff
changeset
|
106 |
postmaster_address = postmaster@YOUR-DOMAIN.TLD |
0
bb0aa2102206
Initial import @sf.net
Pascal Volk <neverseen@users.sourceforge.net>
parents:
diff
changeset
|
107 |
} |
bb0aa2102206
Initial import @sf.net
Pascal Volk <neverseen@users.sourceforge.net>
parents:
diff
changeset
|
108 |
auth default { |
91 | 109 |
mechanisms = cram-md5 login plain |
0
bb0aa2102206
Initial import @sf.net
Pascal Volk <neverseen@users.sourceforge.net>
parents:
diff
changeset
|
110 |
passdb sql { |
bb0aa2102206
Initial import @sf.net
Pascal Volk <neverseen@users.sourceforge.net>
parents:
diff
changeset
|
111 |
args = /etc/dovecot/dovecot-sql.conf |
bb0aa2102206
Initial import @sf.net
Pascal Volk <neverseen@users.sourceforge.net>
parents:
diff
changeset
|
112 |
} |
bb0aa2102206
Initial import @sf.net
Pascal Volk <neverseen@users.sourceforge.net>
parents:
diff
changeset
|
113 |
userdb sql { |
bb0aa2102206
Initial import @sf.net
Pascal Volk <neverseen@users.sourceforge.net>
parents:
diff
changeset
|
114 |
args = /etc/dovecot/dovecot-sql.conf |
bb0aa2102206
Initial import @sf.net
Pascal Volk <neverseen@users.sourceforge.net>
parents:
diff
changeset
|
115 |
} |
564
55148bc6348e
INSTALL: Added description how to create additional dove* user/group.
Pascal Volk <user@localhost.localdomain.org>
parents:
563
diff
changeset
|
116 |
user = doveauth |
0
bb0aa2102206
Initial import @sf.net
Pascal Volk <neverseen@users.sourceforge.net>
parents:
diff
changeset
|
117 |
socket listen { |
bb0aa2102206
Initial import @sf.net
Pascal Volk <neverseen@users.sourceforge.net>
parents:
diff
changeset
|
118 |
master { |
bb0aa2102206
Initial import @sf.net
Pascal Volk <neverseen@users.sourceforge.net>
parents:
diff
changeset
|
119 |
path = /var/run/dovecot/auth-master |
bb0aa2102206
Initial import @sf.net
Pascal Volk <neverseen@users.sourceforge.net>
parents:
diff
changeset
|
120 |
mode = 0600 |
bb0aa2102206
Initial import @sf.net
Pascal Volk <neverseen@users.sourceforge.net>
parents:
diff
changeset
|
121 |
} |
bb0aa2102206
Initial import @sf.net
Pascal Volk <neverseen@users.sourceforge.net>
parents:
diff
changeset
|
122 |
client { |
563
b17a9d7a59ae
INSTALL: Updated documentation.
Pascal Volk <user@localhost.localdomain.org>
parents:
378
diff
changeset
|
123 |
path = /var/spool/postfix/private/dovecot-auth |
0
bb0aa2102206
Initial import @sf.net
Pascal Volk <neverseen@users.sourceforge.net>
parents:
diff
changeset
|
124 |
mode = 0660 |
bb0aa2102206
Initial import @sf.net
Pascal Volk <neverseen@users.sourceforge.net>
parents:
diff
changeset
|
125 |
user = postfix |
bb0aa2102206
Initial import @sf.net
Pascal Volk <neverseen@users.sourceforge.net>
parents:
diff
changeset
|
126 |
group = postfix |
bb0aa2102206
Initial import @sf.net
Pascal Volk <neverseen@users.sourceforge.net>
parents:
diff
changeset
|
127 |
} |
bb0aa2102206
Initial import @sf.net
Pascal Volk <neverseen@users.sourceforge.net>
parents:
diff
changeset
|
128 |
} |
bb0aa2102206
Initial import @sf.net
Pascal Volk <neverseen@users.sourceforge.net>
parents:
diff
changeset
|
129 |
} |
bb0aa2102206
Initial import @sf.net
Pascal Volk <neverseen@users.sourceforge.net>
parents:
diff
changeset
|
130 |
|
bb0aa2102206
Initial import @sf.net
Pascal Volk <neverseen@users.sourceforge.net>
parents:
diff
changeset
|
131 |
* /etc/dovecot/dovecot-sql.conf |
bb0aa2102206
Initial import @sf.net
Pascal Volk <neverseen@users.sourceforge.net>
parents:
diff
changeset
|
132 |
driver = pgsql |
bb0aa2102206
Initial import @sf.net
Pascal Volk <neverseen@users.sourceforge.net>
parents:
diff
changeset
|
133 |
connect = host=localhost dbname=mailsys user=dovecot password=$Dovecot_PASS |
563
b17a9d7a59ae
INSTALL: Updated documentation.
Pascal Volk <user@localhost.localdomain.org>
parents:
378
diff
changeset
|
134 |
default_pass_scheme = CRAM-MD5 |
b17a9d7a59ae
INSTALL: Updated documentation.
Pascal Volk <user@localhost.localdomain.org>
parents:
378
diff
changeset
|
135 |
password_query = SELECT userid AS "user", password FROM dovecotpassword('%Ln', '%Ld') WHERE %Ls |
b17a9d7a59ae
INSTALL: Updated documentation.
Pascal Volk <user@localhost.localdomain.org>
parents:
378
diff
changeset
|
136 |
user_query = SELECT home, uid, gid, mail FROM dovecotuser('%Ln', '%Ld') |
0
bb0aa2102206
Initial import @sf.net
Pascal Volk <neverseen@users.sourceforge.net>
parents:
diff
changeset
|
137 |
|
bb0aa2102206
Initial import @sf.net
Pascal Volk <neverseen@users.sourceforge.net>
parents:
diff
changeset
|
138 |
Provide a root SETUID copy of Dovecot's deliver agent for Postfix |
bb0aa2102206
Initial import @sf.net
Pascal Volk <neverseen@users.sourceforge.net>
parents:
diff
changeset
|
139 |
|
563
b17a9d7a59ae
INSTALL: Updated documentation.
Pascal Volk <user@localhost.localdomain.org>
parents:
378
diff
changeset
|
140 |
/!\ Only required with Dovecot v.1.x. |
b17a9d7a59ae
INSTALL: Updated documentation.
Pascal Volk <user@localhost.localdomain.org>
parents:
378
diff
changeset
|
141 |
With Dovecot >= v2.0 use Dovecot's lmtp! |
b17a9d7a59ae
INSTALL: Updated documentation.
Pascal Volk <user@localhost.localdomain.org>
parents:
378
diff
changeset
|
142 |
|
0
bb0aa2102206
Initial import @sf.net
Pascal Volk <neverseen@users.sourceforge.net>
parents:
diff
changeset
|
143 |
mkdir -p /usr/local/lib/dovecot |
bb0aa2102206
Initial import @sf.net
Pascal Volk <neverseen@users.sourceforge.net>
parents:
diff
changeset
|
144 |
chmod 700 /usr/local/lib/dovecot |
bb0aa2102206
Initial import @sf.net
Pascal Volk <neverseen@users.sourceforge.net>
parents:
diff
changeset
|
145 |
chown nobody /usr/local/lib/dovecot |
bb0aa2102206
Initial import @sf.net
Pascal Volk <neverseen@users.sourceforge.net>
parents:
diff
changeset
|
146 |
cp /usr/lib/dovecot/deliver /usr/local/lib/dovecot/ |
247
dbcb29ac89fa
INSTALL: simplified the 'SETUID copy of deliver' part
Pascal Volk <neverseen@users.sourceforge.net>
parents:
135
diff
changeset
|
147 |
chown root:`id -g nobody` /usr/local/lib/dovecot/deliver |
127
97a9f6dd954b
Updated documentation
Pascal Volk <neverseen@users.sourceforge.net>
parents:
100
diff
changeset
|
148 |
chmod u+s,o-rwx /usr/local/lib/dovecot/deliver |
97a9f6dd954b
Updated documentation
Pascal Volk <neverseen@users.sourceforge.net>
parents:
100
diff
changeset
|
149 |
|
0
bb0aa2102206
Initial import @sf.net
Pascal Volk <neverseen@users.sourceforge.net>
parents:
diff
changeset
|
150 |
|
bb0aa2102206
Initial import @sf.net
Pascal Volk <neverseen@users.sourceforge.net>
parents:
diff
changeset
|
151 |
|
bb0aa2102206
Initial import @sf.net
Pascal Volk <neverseen@users.sourceforge.net>
parents:
diff
changeset
|
152 |
Start or restart Dovecot |
bb0aa2102206
Initial import @sf.net
Pascal Volk <neverseen@users.sourceforge.net>
parents:
diff
changeset
|
153 |
|
bb0aa2102206
Initial import @sf.net
Pascal Volk <neverseen@users.sourceforge.net>
parents:
diff
changeset
|
154 |
|
bb0aa2102206
Initial import @sf.net
Pascal Volk <neverseen@users.sourceforge.net>
parents:
diff
changeset
|
155 |
Configuring Postfix's master.cf |
563
b17a9d7a59ae
INSTALL: Updated documentation.
Pascal Volk <user@localhost.localdomain.org>
parents:
378
diff
changeset
|
156 |
|
b17a9d7a59ae
INSTALL: Updated documentation.
Pascal Volk <user@localhost.localdomain.org>
parents:
378
diff
changeset
|
157 |
/!\ Only required with Dovecot v.1.x. |
0
bb0aa2102206
Initial import @sf.net
Pascal Volk <neverseen@users.sourceforge.net>
parents:
diff
changeset
|
158 |
# Add Dovecot's deliver agent |
bb0aa2102206
Initial import @sf.net
Pascal Volk <neverseen@users.sourceforge.net>
parents:
diff
changeset
|
159 |
dovecot unix - n n - - pipe |
577
4f9079dd4b65
INSTALL: Updated PostgreSQL configuration URL.
Pascal Volk <user@localhost.localdomain.org>
parents:
564
diff
changeset
|
160 |
flags=DORhu user=nobody argv=/usr/local/lib/dovecot/deliver -f ${sender} |
4f9079dd4b65
INSTALL: Updated PostgreSQL configuration URL.
Pascal Volk <user@localhost.localdomain.org>
parents:
564
diff
changeset
|
161 |
-d ${user}@${nexthop} -n -m ${extension} |
0
bb0aa2102206
Initial import @sf.net
Pascal Volk <neverseen@users.sourceforge.net>
parents:
diff
changeset
|
162 |
|
bb0aa2102206
Initial import @sf.net
Pascal Volk <neverseen@users.sourceforge.net>
parents:
diff
changeset
|
163 |
|
bb0aa2102206
Initial import @sf.net
Pascal Volk <neverseen@users.sourceforge.net>
parents:
diff
changeset
|
164 |
|
bb0aa2102206
Initial import @sf.net
Pascal Volk <neverseen@users.sourceforge.net>
parents:
diff
changeset
|
165 |
Configuring Postfix's main.cf |
577
4f9079dd4b65
INSTALL: Updated PostgreSQL configuration URL.
Pascal Volk <user@localhost.localdomain.org>
parents:
564
diff
changeset
|
166 |
sql = pgsql:${config_directory}/ |
4f9079dd4b65
INSTALL: Updated PostgreSQL configuration URL.
Pascal Volk <user@localhost.localdomain.org>
parents:
564
diff
changeset
|
167 |
proxysql = proxy:${sql} |
4f9079dd4b65
INSTALL: Updated PostgreSQL configuration URL.
Pascal Volk <user@localhost.localdomain.org>
parents:
564
diff
changeset
|
168 |
|
100
b581e747e720
INSTALL, man/*: small enhancement and corrections
Pascal Volk <neverseen@users.sourceforge.net>
parents:
92
diff
changeset
|
169 |
# relocated users from the database |
577
4f9079dd4b65
INSTALL: Updated PostgreSQL configuration URL.
Pascal Volk <user@localhost.localdomain.org>
parents:
564
diff
changeset
|
170 |
#relocated_maps = ${proxysql}pgsql-relocated_maps.cf |
0
bb0aa2102206
Initial import @sf.net
Pascal Volk <neverseen@users.sourceforge.net>
parents:
diff
changeset
|
171 |
|
563
b17a9d7a59ae
INSTALL: Updated documentation.
Pascal Volk <user@localhost.localdomain.org>
parents:
378
diff
changeset
|
172 |
# transport settings from our database |
577
4f9079dd4b65
INSTALL: Updated PostgreSQL configuration URL.
Pascal Volk <user@localhost.localdomain.org>
parents:
564
diff
changeset
|
173 |
transport_maps = ${proxysql}pgsql-transport_maps.cf |
563
b17a9d7a59ae
INSTALL: Updated documentation.
Pascal Volk <user@localhost.localdomain.org>
parents:
378
diff
changeset
|
174 |
|
0
bb0aa2102206
Initial import @sf.net
Pascal Volk <neverseen@users.sourceforge.net>
parents:
diff
changeset
|
175 |
# virtual domains |
577
4f9079dd4b65
INSTALL: Updated PostgreSQL configuration URL.
Pascal Volk <user@localhost.localdomain.org>
parents:
564
diff
changeset
|
176 |
virtual_mailbox_domains = ${proxysql}pgsql-virtual_mailbox_domains.cf |
4f9079dd4b65
INSTALL: Updated PostgreSQL configuration URL.
Pascal Volk <user@localhost.localdomain.org>
parents:
564
diff
changeset
|
177 |
virtual_alias_maps = ${proxysql}pgsql-virtual_alias_maps.cf |
0
bb0aa2102206
Initial import @sf.net
Pascal Volk <neverseen@users.sourceforge.net>
parents:
diff
changeset
|
178 |
virtual_minimum_uid = 70000 |
577
4f9079dd4b65
INSTALL: Updated PostgreSQL configuration URL.
Pascal Volk <user@localhost.localdomain.org>
parents:
564
diff
changeset
|
179 |
virtual_uid_maps = ${sql}pgsql-virtual_uid_maps.cf |
4f9079dd4b65
INSTALL: Updated PostgreSQL configuration URL.
Pascal Volk <user@localhost.localdomain.org>
parents:
564
diff
changeset
|
180 |
virtual_gid_maps = ${sql}pgsql-virtual_gid_maps.cf |
0
bb0aa2102206
Initial import @sf.net
Pascal Volk <neverseen@users.sourceforge.net>
parents:
diff
changeset
|
181 |
virtual_mailbox_base = / |
577
4f9079dd4b65
INSTALL: Updated PostgreSQL configuration URL.
Pascal Volk <user@localhost.localdomain.org>
parents:
564
diff
changeset
|
182 |
virtual_mailbox_maps = ${proxysql}pgsql-virtual_mailbox_maps.cf |
0
bb0aa2102206
Initial import @sf.net
Pascal Volk <neverseen@users.sourceforge.net>
parents:
diff
changeset
|
183 |
|
563
b17a9d7a59ae
INSTALL: Updated documentation.
Pascal Volk <user@localhost.localdomain.org>
parents:
378
diff
changeset
|
184 |
# dovecot LDA (only recommended with Dovecot v1.x) |
b17a9d7a59ae
INSTALL: Updated documentation.
Pascal Volk <user@localhost.localdomain.org>
parents:
378
diff
changeset
|
185 |
#dovecot_destination_recipient_limit = 1 |
b17a9d7a59ae
INSTALL: Updated documentation.
Pascal Volk <user@localhost.localdomain.org>
parents:
378
diff
changeset
|
186 |
#virtual_transport = dovecot: |
b17a9d7a59ae
INSTALL: Updated documentation.
Pascal Volk <user@localhost.localdomain.org>
parents:
378
diff
changeset
|
187 |
|
b17a9d7a59ae
INSTALL: Updated documentation.
Pascal Volk <user@localhost.localdomain.org>
parents:
378
diff
changeset
|
188 |
# dovecot lmtp |
b17a9d7a59ae
INSTALL: Updated documentation.
Pascal Volk <user@localhost.localdomain.org>
parents:
378
diff
changeset
|
189 |
virtual_transport = lmtp:unix:private/dovecot-lmtp |
0
bb0aa2102206
Initial import @sf.net
Pascal Volk <neverseen@users.sourceforge.net>
parents:
diff
changeset
|
190 |
|
bb0aa2102206
Initial import @sf.net
Pascal Volk <neverseen@users.sourceforge.net>
parents:
diff
changeset
|
191 |
# dovecot SASL |
bb0aa2102206
Initial import @sf.net
Pascal Volk <neverseen@users.sourceforge.net>
parents:
diff
changeset
|
192 |
smtpd_sasl_type = dovecot |
563
b17a9d7a59ae
INSTALL: Updated documentation.
Pascal Volk <user@localhost.localdomain.org>
parents:
378
diff
changeset
|
193 |
smtpd_sasl_path = private/dovecot-auth |
0
bb0aa2102206
Initial import @sf.net
Pascal Volk <neverseen@users.sourceforge.net>
parents:
diff
changeset
|
194 |
smtpd_sasl_auth_enable = yes |
92 | 195 |
# Keep smtpd_sasl_local_domain identical to Dovecot's auth_default_realm: |
196 |
# empty. Both are empty by default. Let it commented out. |
|
197 |
# Read more at: http://wiki.dovecot.org/Authentication/Mechanisms/DigestMD5 |
|
198 |
#smtpd_sasl_local_domain = |
|
0
bb0aa2102206
Initial import @sf.net
Pascal Volk <neverseen@users.sourceforge.net>
parents:
diff
changeset
|
199 |
smtpd_sasl_security_options = noplaintext, noanonymous |
75
af813ede1e19
* 'create_optional_types_and_functions.pgsql'
Pascal Volk <neverseen@users.sourceforge.net>
parents:
30
diff
changeset
|
200 |
#smtpd_sasl_security_options = noanonymous |
af813ede1e19
* 'create_optional_types_and_functions.pgsql'
Pascal Volk <neverseen@users.sourceforge.net>
parents:
30
diff
changeset
|
201 |
#broken_sasl_auth_clients = yes |
0
bb0aa2102206
Initial import @sf.net
Pascal Volk <neverseen@users.sourceforge.net>
parents:
diff
changeset
|
202 |
|
14
ebc9b864bc9a
* 'update_config_0.3.x-0.4.py'
Pascal Volk <neverseen@users.sourceforge.net>
parents:
11
diff
changeset
|
203 |
smtpd_recipient_restrictions = |
ebc9b864bc9a
* 'update_config_0.3.x-0.4.py'
Pascal Volk <neverseen@users.sourceforge.net>
parents:
11
diff
changeset
|
204 |
permit_mynetworks |
ebc9b864bc9a
* 'update_config_0.3.x-0.4.py'
Pascal Volk <neverseen@users.sourceforge.net>
parents:
11
diff
changeset
|
205 |
permit_sasl_authenticated |
ebc9b864bc9a
* 'update_config_0.3.x-0.4.py'
Pascal Volk <neverseen@users.sourceforge.net>
parents:
11
diff
changeset
|
206 |
reject_unauth_destination |
0
bb0aa2102206
Initial import @sf.net
Pascal Volk <neverseen@users.sourceforge.net>
parents:
diff
changeset
|
207 |
|
bb0aa2102206
Initial import @sf.net
Pascal Volk <neverseen@users.sourceforge.net>
parents:
diff
changeset
|
208 |
|
bb0aa2102206
Initial import @sf.net
Pascal Volk <neverseen@users.sourceforge.net>
parents:
diff
changeset
|
209 |
Installing the Virtual Mail Manager and configure the rest |
bb0aa2102206
Initial import @sf.net
Pascal Volk <neverseen@users.sourceforge.net>
parents:
diff
changeset
|
210 |
|
563
b17a9d7a59ae
INSTALL: Updated documentation.
Pascal Volk <user@localhost.localdomain.org>
parents:
378
diff
changeset
|
211 |
Installing from Mercurial or vmm-x.y.z.tar.gz |
356
61e732e4cb3e
Updated INSTALL and setup.py.
Pascal Volk <neverseen@users.sourceforge.net>
parents:
271
diff
changeset
|
212 |
after cloning from the hg repo or extracting the archive change into the |
61e732e4cb3e
Updated INSTALL and setup.py.
Pascal Volk <neverseen@users.sourceforge.net>
parents:
271
diff
changeset
|
213 |
new directory and type: |
30 | 214 |
./install.sh |
0
bb0aa2102206
Initial import @sf.net
Pascal Volk <neverseen@users.sourceforge.net>
parents:
diff
changeset
|
215 |
edit all the pgsql-*.cf files in /etc/postfix |
bb0aa2102206
Initial import @sf.net
Pascal Volk <neverseen@users.sourceforge.net>
parents:
diff
changeset
|
216 |
|
bb0aa2102206
Initial import @sf.net
Pascal Volk <neverseen@users.sourceforge.net>
parents:
diff
changeset
|
217 |
reload postfix |
bb0aa2102206
Initial import @sf.net
Pascal Volk <neverseen@users.sourceforge.net>
parents:
diff
changeset
|
218 |
|
bb0aa2102206
Initial import @sf.net
Pascal Volk <neverseen@users.sourceforge.net>
parents:
diff
changeset
|
219 |
# configure the Virtual Mail Manager |
563
b17a9d7a59ae
INSTALL: Updated documentation.
Pascal Volk <user@localhost.localdomain.org>
parents:
378
diff
changeset
|
220 |
# vmm.cfg(5) - configuration file for vmm |
b17a9d7a59ae
INSTALL: Updated documentation.
Pascal Volk <user@localhost.localdomain.org>
parents:
378
diff
changeset
|
221 |
# |
b17a9d7a59ae
INSTALL: Updated documentation.
Pascal Volk <user@localhost.localdomain.org>
parents:
378
diff
changeset
|
222 |
# For Dovecot v1.x use 'dovecot:' as domain.transport |
b17a9d7a59ae
INSTALL: Updated documentation.
Pascal Volk <user@localhost.localdomain.org>
parents:
378
diff
changeset
|
223 |
# When using Dovecot v2.x use 'lmtp:unix:private/dovecot-lmtp' as |
b17a9d7a59ae
INSTALL: Updated documentation.
Pascal Volk <user@localhost.localdomain.org>
parents:
378
diff
changeset
|
224 |
# domain.transport |
0
bb0aa2102206
Initial import @sf.net
Pascal Volk <neverseen@users.sourceforge.net>
parents:
diff
changeset
|
225 |
vmm configure |
bb0aa2102206
Initial import @sf.net
Pascal Volk <neverseen@users.sourceforge.net>
parents:
diff
changeset
|
226 |
|
bb0aa2102206
Initial import @sf.net
Pascal Volk <neverseen@users.sourceforge.net>
parents:
diff
changeset
|
227 |
# for help type |
563
b17a9d7a59ae
INSTALL: Updated documentation.
Pascal Volk <user@localhost.localdomain.org>
parents:
378
diff
changeset
|
228 |
# vmm(1) - command line tool to manage email domains/accounts/aliases |
0
bb0aa2102206
Initial import @sf.net
Pascal Volk <neverseen@users.sourceforge.net>
parents:
diff
changeset
|
229 |
vmm help |
bb0aa2102206
Initial import @sf.net
Pascal Volk <neverseen@users.sourceforge.net>
parents:
diff
changeset
|
230 |