Progetto

Generale

Profilo

PostfixAdminInstall » Cronologia » Versione 35

Simone Piccardi, 22-12-2010 17:30

1 35 Simone Piccardi
h1. Installare e configurare Postfixadmin
2 1 Amministratore Truelite
3 35 Simone Piccardi
"PostfixAdmin":http://postfixadmin.sourceforge.net/ è una potente interfaccia di gestione per la posta elettronica che consente di mantenere su un database e gestire tramite interfaccia web gli utenti di un numero arbitrario di domini di posta elettronica. Il programma è pensato per essere usato in combinazione con postfix, supporta inoltre l'uso di _MySQL_, _PostgresSQL_ e _SQLite_ come database, a cui poi si dovrà appoggiare un server IMAP per l'accesso alle caselle di posta. In questo caso faremo riferimento ad una installazione basata su _MySQL_ per il database e _Dovecot_ per il server IMAP su _Debian Lenny_. 
4 1 Amministratore Truelite
5 35 Simone Piccardi
h2. Installazione di Postfixadmin
6 34 Amministratore Truelite
7 35 Simone Piccardi
Il software viene distribuito direttamente in un pacchetto Debian dal mantainer, ma non tramite un repository, pertanto sarà necessario scaricare il @.deb@ a partire da "questo indirizzo.":http://sourceforge.net/project/showfiles.php?group_id=191583&package_id=225300 Una volta ottenuto il pacchetto sarà opportuno installare preventivamente le dipendenze, queste si ottengono con il comando: 
8 34 Amministratore Truelite
9
<pre>
10
dpkg -f postfixadmin_*.deb Depends
11
</pre>
12 35 Simone Piccardi
13 1 Amministratore Truelite
che presenta però anche le alternative per quanto riguarda il server web ed il database di supporto da usare, e non prevede esplicitamente l'installazione di un database sulla stessa macchina. Nel nostro caso sarà allora opportuno installare almeno i seguenti pacchetti:
14 35 Simone Piccardi
15 2 Amministratore Truelite
<pre>
16 34 Amministratore Truelite
aptitude install dbconfig-common wwwconfig-common  \
17 21 Amministratore Truelite
      libapache2-mod-php5 php5 php5-imap php5-mysql \
18 4 Amministratore Truelite
      mysql-client mysql-server postfix-mysql
19 5 Amministratore Truelite
</pre>
20 34 Amministratore Truelite
21 1 Amministratore Truelite
A questo punto sarà necessario creare un database ad uso di "PostfixAdmin":http://postfixadmin.sourceforge.net/, ed un utente dotato di adeguati privilegi per poterlo utilizzare, questo può essere fatto manualmente con le seguenti istruzioni:
22 35 Simone Piccardi
23 1 Amministratore Truelite
<pre>
24 34 Amministratore Truelite
mysqladmin -u root -p create postfixadmin
25 1 Amministratore Truelite
mysql -u root -p
26 15 Amministratore Truelite
mysql> grant create, select, insert, update, delete, lock, index, alter, drop 
27
             on postfixadmin.* to 'postfixadmin'@'localhost' 
28 5 Amministratore Truelite
             identified by 'passsegretaedifficile';
29 1 Amministratore Truelite
mysql> flush privileges;
30
mysql> \q
31
</pre>
32 35 Simone Piccardi
33 1 Amministratore Truelite
dopo di che si potrà installare il pacchetto con:
34 35 Simone Piccardi
35 34 Amministratore Truelite
<pre>
36 1 Amministratore Truelite
dpkg -i postfixadmin_*.deb 
37 34 Amministratore Truelite
</pre>
38 1 Amministratore Truelite
39 35 Simone Piccardi
ma si tenga presente che dalla versione 2.3 (ancora non rilasciata come stabile), con l'installazione di @dbconfig-common@ e @wwwconfig-common@, l'installazione del pacchetto consente di creare configurare automaticamente anche il database di appoggio ed il relativo utente (ed il passo precedente non serve più).
40
41
A seconda della versione che si installa si dovrà modificare a mano il file 2/etc/postfixadmin/config.inc.php@ per inserire le credenziali di accesso al database, modificando le righe: 
42
43 1 Amministratore Truelite
<pre>
44
$CONF['configured'] = true;
45 6 Amministratore Truelite
...
46 1 Amministratore Truelite
$CONF['database_type'] = 'mysql';
47
$CONF['database_host'] = 'localhost';
48
$CONF['database_user'] = 'postfixadmin';
49
$CONF['database_password'] = 'passsegretaedifficile';
50
$CONF['database_name'] = 'postfixadmin';
51
</pre>
52 7 Amministratore Truelite
53 35 Simone Piccardi
ma questo, con la 2.3, viene fatto da _debconf_ in maniera automatica con la richiesta della password di amministrazione di MySQL (quella impostata per root alla sua installazione) e di una altra password per l'utente usato da "PostfixAdmin":http://postfixadmin.sourceforge.net/, si ricordi però di rispondere, quando verrà richiesto, di installare la configurazione fornita dal pacchetto. 
54
55
Si tenga infine presente che se si vuole evitare di rendere leggibili ad Apache le credenziali di accesso al database questo può essere fatto aggiungendo creando un _Virtual Host_ specifico per Postfixadmin (leggibile solo da root) in cui si impostano delle variabili di ambiente con le direttive:
56
57 34 Amministratore Truelite
<pre>
58 35 Simone Piccardi
SetEnv DB_USER "postfixadmin"
59
SetEnv DB_PASS "passsegretaedifficile"
60 34 Amministratore Truelite
</pre>
61 35 Simone Piccardi
62 34 Amministratore Truelite
che poi si riusano nel file di configurazione con:
63 35 Simone Piccardi
64 34 Amministratore Truelite
<pre>
65 1 Amministratore Truelite
$CONF['database_user'] = $_SERVER['DB_USER'];
66
$CONF['database_password'] = $_SERVER['DB_PASS'];
67
</pre>
68
69
Fatto questo la creazione della struttura del database e delle relative informazioni (o l'aggiornamento di eventuali modifiche della struttura del database in caso di installazioni di versioni successive del software) si fa puntando il browser all'indirizzo:
70 35 Simone Piccardi
71 1 Amministratore Truelite
<pre>
72 34 Amministratore Truelite
http://IP.DEL.MIO.SERVER/postfixadmin/setup.php
73 1 Amministratore Truelite
</pre>
74 35 Simone Piccardi
75 1 Amministratore Truelite
che esegue lo script di setup che crea e popola le tabelle del database; anche qui le cose cambiano a seconda della versione, fino alla 2.2 questo script consente di modificare l'amministratore e deve essere rimosso dopo l'uso, con la 2.3 è previsto la generazione di una password per il setup, e se questa non è impostata lo script la richiede e poi scrive in output l'hash crittografico che corrisponde da inserire nella configurazione (il file precedente) alla linea:
76 35 Simone Piccardi
77 1 Amministratore Truelite
<pre>
78 34 Amministratore Truelite
$CONF['setup_password'] = 'changeme';
79 11 Amministratore Truelite
</pre>
80 1 Amministratore Truelite
81 35 Simone Piccardi
una volta fatta la modifica si potrà usare con successo il setup per la creazione di un utente di amministrazione, associato ad un indirizzo di posta, anch'esso installato nel database. Si potrà verificare il funzionamento della configurazione collegandosi direttamente all'indirizzo @http://IP.DEL.MIO.SERVER/postfixadmin@ controllando che l'utente di amministrazione impostato funzioni. 
82
83 34 Amministratore Truelite
Una volta eseguita la configurazione di base e verificato che la connessione al database funziona, sarà necessario eseguire una serie di affinamenti; anzititto si dovrà impostare il programma per fare riferimento al proprio dominio, la cosa può essere fatto rapidamente con:
84 35 Simone Piccardi
85 34 Amministratore Truelite
<pre>
86 1 Amministratore Truelite
cd /etc/postfixadmin/
87
mv config.inc.php config.inc.php.orig
88
sed -e 's/change-this-to-your.domain.tld/miodominio.it/g' config.inc.php.orig > config.inc.php
89
</pre>
90 35 Simone Piccardi
91
ma si verifichi poi il file per controllare che i link alle pagine web siano corretti (nel caso saranno sempre nella forma @http://miodominio.it@). Si dovranno poi modificare le seguenti configurazioni per avere le cartelle associate all'indirizzo @utente@miodominio.it@) nella forma @miodominio.it/utente@ (si dovrà usare la stessa forma anche nella configurazione del server IMAP): 
92
93 1 Amministratore Truelite
<pre>
94
$CONF['domain_path'] = 'YES';
95
$CONF['domain_in_mailbox'] = 'NO';
96
</pre>
97 35 Simone Piccardi
98 1 Amministratore Truelite
se poi si vogliono usare le quote occorrerà impostare:
99 35 Simone Piccardi
100 34 Amministratore Truelite
<pre>
101
$CONF['quota'] = 'YES';
102
</pre>
103 35 Simone Piccardi
104
mentre per utilizzare @vacation@ sarà necessario impostare: 
105
106 34 Amministratore Truelite
<pre>
107
$CONF['vacation'] = 'YES';
108 15 Amministratore Truelite
$CONF['vacation_domain'] = 'autoreply.miodominio.it'
109 1 Amministratore Truelite
</pre>
110
111 35 Simone Piccardi
e configurare _Postfix_ per usare @autoreplay.miodominio.it@ come dominio per gestire @vacation@ (torneremo su questo nel seguito). 
112
113 6 Amministratore Truelite
Si possono poi cambiare le seguenti impostazioni per inserire dei default più adatti alle proprie esigenze: 
114 35 Simone Piccardi
115 1 Amministratore Truelite
<pre>
116 34 Amministratore Truelite
$CONF['default_language'] = 'it';
117 1 Amministratore Truelite
$CONF['min_password_length'] = 6;
118
$CONF['aliases'] = '10';
119
$CONF['mailboxes'] = '10';
120 18 Amministratore Truelite
$CONF['maxquota'] = '10';
121 34 Amministratore Truelite
</pre>
122 7 Amministratore Truelite
123 35 Simone Piccardi
Se si installa la versione 2.3 si tenga conto che questa permette anche di utilizzare una gestione semplificata per avere gli stessi alias su più domini, che però richiede più interrogazioni al database ed una diversa configurazione di postfix; se non si ha questa necessità è meglio non usarla e questa andrà disabilitata con:
124
125 34 Amministratore Truelite
<pre>
126 1 Amministratore Truelite
$CONF['alias_domain'] = 'NO';
127 32 Amministratore Truelite
</pre>
128 1 Amministratore Truelite
129 34 Amministratore Truelite
130 35 Simone Piccardi
h2. Configurare Postfix per Postfixadmin
131 34 Amministratore Truelite
132 35 Simone Piccardi
Il passo successivo è configurare _Postfix_ per fare uso degli utenti e delle mailbox definite su _PostfixAdmin_, installando il pacchetto @postfix@ si abbia cura di rispondere alla configurazione automatica di utilizzare il profilo per il sito internet, specificando il proprio dominio principale. Per lo stoccaggio della posta si dovrà usare una directory apposita, la cui proprietà sarà di un utente dedicato; una volta che si sia scelto un filesystem con adeguato spazio, la si potrà creare con i comandi: 
133 34 Amministratore Truelite
134 1 Amministratore Truelite
<pre>
135
mkdir /var/mail/vmail
136
useradd -d /var/mail/vmail vmail
137
chown vmail:vmail /var/mail/vmail/
138
chmod o-xr /var/mail/vmail/
139 24 Amministratore Truelite
</pre>
140 1 Amministratore Truelite
141 35 Simone Piccardi
Si deve inoltre evitare l'uso di procmail come LDA per cui si dovrà commentare la seguente linea standard presente nella configurazione di _Postfix_ installata da Debian:
142
143 34 Amministratore Truelite
<pre>
144 1 Amministratore Truelite
#mailbox_command = procmail -a "$EXTENSION"
145 24 Amministratore Truelite
</pre>
146 1 Amministratore Truelite
147 35 Simone Piccardi
Poi si dovrà indicare a Postfix di usare i dati mantenuti su MySQL per le mailbox virtuali, per questo anzitutto si deve installare il pacchetto @postfix-mysql@, dopo di che si dovranno aggiungere le seguenti linee di configurazione al @main.cf@: 
148
149 34 Amministratore Truelite
<pre>
150
virtual_alias_maps = proxy:mysql:/etc/postfix/mysql_virtual_alias_maps.cf
151 9 Amministratore Truelite
virtual_mailbox_domains = proxy:mysql:/etc/postfix/mysql_virtual_domains_maps.cf
152 1 Amministratore Truelite
virtual_mailbox_maps = proxy:mysql:/etc/postfix/mysql_virtual_mailbox_maps.cf
153
virtual_mailbox_base = /var/mail/vmail
154
virtual_minimum_uid = 106
155 7 Amministratore Truelite
virtual_transport = virtual
156 1 Amministratore Truelite
virtual_uid_maps = static:106
157 7 Amministratore Truelite
virtual_gid_maps = static:61
158 34 Amministratore Truelite
</pre>
159 1 Amministratore Truelite
160 35 Simone Piccardi
(dove 106 e 61 sono rispettivamente uid e gid dell'utente @vmail@).
161
162
Si dovranno inoltre creare il vari file @mysql_*@ con le configurazioni per l'uso del database, il primo file è quello che consente di utilizzare gli alias definiti nel database, e deve essere qualcosa del tipo: 
163
164 1 Amministratore Truelite
<pre>
165
user = postfixadmin
166
password = passsegretaedifficile
167
hosts = localhost
168
dbname = postfixadmin
169
query = SELECT goto FROM alias WHERE address='%s' AND active = 1
170
</pre>
171 35 Simone Piccardi
172 34 Amministratore Truelite
il secondo consente di ottenere l'elenco dei domini mantenuti nel database, e deve essere qualcosa del tipo:
173 35 Simone Piccardi
174 34 Amministratore Truelite
<pre>
175 1 Amministratore Truelite
user = postfixadmin
176
password = passsegretaedifficile
177
hosts = localhost
178
dbname = postfixadmin
179 34 Amministratore Truelite
query = SELECT domain FROM domain WHERE domain='%s' and backupmx = '0' and active = '1'
180 1 Amministratore Truelite
</pre>
181 35 Simone Piccardi
182 34 Amministratore Truelite
il terzo consente di ottenere le directory con le mailbox che saranno create a partire dalla directory di base, e deve essere qualcosa del tipo:
183 35 Simone Piccardi
184 31 Amministratore Truelite
<pre>
185 1 Amministratore Truelite
user = postfixadmin
186
password = passsegretaedifficile
187
hosts = localhost
188
dbname = postfixadmin
189
query = SELECT maildir FROM mailbox WHERE username='%s' AND active = 1
190
</pre>
191 26 Amministratore Truelite
192 35 Simone Piccardi
Se poi si vogliono gestire con _PostfixAdmin_ anche eventuali secondari di posta, si potrà aggiungere al @main.cf@ di Postfix la riga: 
193
194 1 Amministratore Truelite
<pre>
195
relay_domains = $mydestination, proxy:mysql:/etc/postfix/mysql_relay_domains_maps.cf
196 34 Amministratore Truelite
</pre>
197 35 Simone Piccardi
198
dove in @mysql_relay_domains_maps.cf@ ci dovrà essere qualcosa del tipo:
199
200 1 Amministratore Truelite
<pre>
201 15 Amministratore Truelite
user = postfixadmin
202 1 Amministratore Truelite
password = passsegretaedifficile
203 15 Amministratore Truelite
hosts = localhost
204
dbname = postfixadmin
205 34 Amministratore Truelite
query = SELECT domain FROM domain WHERE domain='%s' and backupmx = '1' and active = '1'
206 15 Amministratore Truelite
</pre>
207 1 Amministratore Truelite
208
Poiché questi file contengono una password in chiaro si verifichi che non siano leggibili da chiunque ed eventualmente si sistemino adeguatamente i permessi con:
209 35 Simone Piccardi
210 1 Amministratore Truelite
<pre>
211 15 Amministratore Truelite
chgrp postfix /etc/postfix/mysql_*
212 1 Amministratore Truelite
chmod 640 /etc/postfix/mysql_*
213
</pre>
214 34 Amministratore Truelite
215 35 Simone Piccardi
A questo punto sarà possibile spedire una email ad un utente creato con Postfixadmi e verificarne la corretta ricezione nei log di @/var/log/mail.log@. 
216 34 Amministratore Truelite
217 35 Simone Piccardi
h2. Uso di vacation con Postfix e Postfixadmin
218 34 Amministratore Truelite
219 35 Simone Piccardi
Se si è scelto di usare @vacation@ la configurazione diventa leggermente più complessa, anzitutto si deve creare un utente apposito per la gestione dei delle risposte automatiche, questo lo si può fare con i seguenti comandi che assicurano che l'utente abbia i minimi privilegi: 
220 15 Amministratore Truelite
221 34 Amministratore Truelite
<pre>
222 15 Amministratore Truelite
groupadd -g 65501 vacation
223 34 Amministratore Truelite
useradd -g 65501 -u 65501 -c Vacation -s /sbin/nologin -d /nonexistent vacation
224 1 Amministratore Truelite
</pre>
225 35 Simone Piccardi
226 34 Amministratore Truelite
dopo di che si dovrà creare una directory ad accesso esclusivo di questo utente dove saranno mantenuti anche i suoi file temporanei, questo si fa con i comandi:
227 35 Simone Piccardi
228 1 Amministratore Truelite
<pre>
229
mkdir /var/spool/vacation
230 34 Amministratore Truelite
chown -R vacation.vacation /var/spool/vacation
231 1 Amministratore Truelite
chmod o-xr /var/spool/vacation 
232 16 Amministratore Truelite
</pre>
233 35 Simone Piccardi
234 1 Amministratore Truelite
infine si dovrà copiare lo script perl fornito con "PostfixAdmin":http://postfixadmin.sourceforge.net/ nella suddetta directory e renderlo eseguibile:
235 35 Simone Piccardi
236 16 Amministratore Truelite
<pre>
237
cd /usr/share/doc/postfixadmin/examples/VIRTUAL_VACATION/
238 1 Amministratore Truelite
zcat vacation.pl.gz > /var/spool/vacation/vacation.pl
239
chmod 700 /var/spool/vacation/vacation.pl
240
chown vacation.vacation /var/spool/vacation/vacation.pl
241
</pre>
242 35 Simone Piccardi
243
per farlo funzionare sono però necessari una serie di moduli per il Perl, che si dovranno installare con:
244
245 1 Amministratore Truelite
<pre>
246 34 Amministratore Truelite
aptitude install libemail-valid-perl libmime-encwords-perl libmime-perl \
247 16 Amministratore Truelite
         libmail-sender-perl liblog-log4perl-perl libmail-sendmail-perl
248
</pre>
249 35 Simone Piccardi
250 16 Amministratore Truelite
inoltre si dovranno modificare le prime righe dello script dove sono impostate le credenziali di accesso al database, con qualcosa del genere:
251 35 Simone Piccardi
252 16 Amministratore Truelite
<pre>
253 1 Amministratore Truelite
our $db_type = 'mysql';
254
our $db_host = 'localhost';
255
our $db_username = 'postfixadmin';
256
our $db_password = 'passsegretaedifficile';
257 16 Amministratore Truelite
our $db_name     = 'postfixadmin';
258 34 Amministratore Truelite
259 10 Amministratore Truelite
our $vacation_domain = 'autoreply.miodominio.it';
260
</pre>
261 1 Amministratore Truelite
262 35 Simone Piccardi
Occorre poi eseguire una configurazione ulteriore di Postfix, anzitutto occorre definire un nuovo tipo di trasporto ad uso di @vacation@, aggiungendo le righe seguenti a @/etc/postfix/master.cf@: 
263
264 1 Amministratore Truelite
<pre>
265 34 Amministratore Truelite
vacation    unix  -       n       n       -       -       pipe
266
  flags=Rq user=vacation argv=/var/spool/vacation/vacation.pl -f ${sender} -- ${recipient}
267 10 Amministratore Truelite
</pre>
268 35 Simone Piccardi
269
dopo di che si dovrà utilizzarlo per il trasporto delle email indirizzate ad @autoreply.miodominio.it@, definendo dentro @/etc/postfix/transport@:  
270
271 10 Amministratore Truelite
<pre>
272 1 Amministratore Truelite
autoreply.miodominio.it       vacation:
273
</pre>
274 35 Simone Piccardi
275
ed infine aggiungere a @/etc/postfix/main.cf@: 
276
277 34 Amministratore Truelite
<pre>
278 10 Amministratore Truelite
transport_maps = hash:/etc/postfix/transport
279 34 Amministratore Truelite
</pre>
280 35 Simone Piccardi
281 1 Amministratore Truelite
fatto questo si dovrà fare usare a Postfix la nuova configurazione con:
282 35 Simone Piccardi
283 1 Amministratore Truelite
<pre>
284
postmap /etc/postfix/transport
285 10 Amministratore Truelite
postfix reload
286 34 Amministratore Truelite
</pre>
287
288 35 Simone Piccardi
h2. Configurare _Dovecot_ per _Postfixadmin_
289 34 Amministratore Truelite
290 35 Simone Piccardi
Per l'accesso alla posta mantenuta da _Postfixadmin_ è necessario un server IMAP, vedremo allora come configurare _Dovecot_ che fornisce comunque anche l'accesso con POP, ed il tutto sia in chiaro che con cifratura sotto SSL. Si inizi anzitutto con l'installare le varie componenti di _Dovecot_, questo si fa al solito con (si aggiunga sempre @ntp@ perché _Dovecot_ non gradisce situazioni in cui il tempo ha dei movimenti all'indietro):
291 34 Amministratore Truelite
292
<pre>
293
aptitude install dovecot-imapd dovecot-pop3d ntp
294 1 Amministratore Truelite
</pre>
295 35 Simone Piccardi
296
la configurazione di base dovrà essere modificata anzitutto per il fatto che la posta deve essere trovate in delle maildir a partire dalla directory @/var/mail/vmail@ ed acceduta con l'utente @vmail@ creato in precedenza, nel nostro caso questo comporta la modifica delle seguenti righe de file di configurazione principale che è @/etc/dovecot/dovecot.conf@: 
297
298 1 Amministratore Truelite
<pre>
299
mail_location = maildir:/var/mail/vmail/%d/%n
300 34 Amministratore Truelite
mail_privileged_group = vmail
301
first_valid_uid = 106
302 1 Amministratore Truelite
</pre>
303
304 35 Simone Piccardi
(dove 106 è l'uid dell'utente @vmail@). 
305
306
Occorre poi disabilitare l'autenticazione sugli utenti locali (via PAM) ed utilizzare i dati di MySQL, questo comporta la sostituzione delle direttive @userdb@ e @passdb@ che fan riferimento a PAM con le seguenti che indicano il file da usare per i parametri di accesso al database: 
307
308 27 Amministratore Truelite
<pre>
309 1 Amministratore Truelite
  passdb sql {
310
    args = /etc/dovecot/dovecot-mysql.conf
311 27 Amministratore Truelite
  }
312
  userdb sql {
313
    args = /etc/dovecot/dovecot-mysql.conf
314
  }
315 1 Amministratore Truelite
</pre>
316 35 Simone Piccardi
317
ed infine dovremo inserire nel file @/etc/dovecot/dovecot-mysql.conf@ le necessarie configurazioni per l'accesso al database ed ai relativi dati, con un contenuto del tipo di: 
318
319 34 Amministratore Truelite
<pre>
320
driver = mysql
321 27 Amministratore Truelite
connect = host=localhost dbname=postfixadmin user=postfixadmin password=passsegretaedifficile client_flags=0
322 1 Amministratore Truelite
default_pass_scheme = MD5
323 27 Amministratore Truelite
user_query = SELECT maildir, 106 AS uid, 61 AS gid FROM mailbox WHERE username = '%u'
324 1 Amministratore Truelite
password_query = SELECT password FROM mailbox WHERE username = '%u' AND active = '1' 
325 30 Amministratore Truelite
</pre>
326
327 35 Simone Piccardi
(dove 106 e 61 sono _uid_ e _gid_ dell'utente @vmail@). 
328 34 Amministratore Truelite
329 35 Simone Piccardi
h2. Autenticazione SMTP
330 30 Amministratore Truelite
331 35 Simone Piccardi
L'autenticazione delle sessioni SMTP può essere eseguita da Postfix rivolgendosi direttamente al servizio fornito da Dovecot attraverso un socket. Per fare tutto ciò il primo passo è quello di configurare Dovecot perché metta a disposizione il socket nel chroot di Postfix; questo si ottiene aggiungendo le seguenti righe a /etc/dovecot/dovecot.conf: 
332 30 Amministratore Truelite
333 1 Amministratore Truelite
<pre>
334
socket listen {
335
        client {
336 34 Amministratore Truelite
        path = /var/spool/postfix/private/auth
337
        mode = 0660
338
        user = postfix
339
        group = postfix
340
        }
341 27 Amministratore Truelite
}
342
</pre>
343 35 Simone Piccardi
344
e poi bisogna anche, per consentire l'accesso a client bacati come Outlook, modificare la riga dei mechanisms in @/etc/dovecot/dovecot.conf@ come di seguito: 
345
346 1 Amministratore Truelite
<pre>
347 27 Amministratore Truelite
auth default {
348
   ...
349
   mechanisms = plain login
350 34 Amministratore Truelite
   ...
351
}
352
</pre>
353 35 Simone Piccardi
354
e dopo aver riavviato Dovecot si otterrà il socket all'interno del _chroot_ di Postfix come @private/auth@, come si potrà verificare con il comando: 
355
356 27 Amministratore Truelite
<pre>
357
# ls /var/spool/postfix/private/auth -l
358
srw-rw---- 1 postfix postfix 0 29 set 18:59 /var/spool/postfix/private/auth
359 34 Amministratore Truelite
</pre>
360
361 35 Simone Piccardi
Il secondo passo è configurare Postfix per usare questo socket, basterà aggiungere a @/etc/postfix/main.cf@ le linee seguenti: 
362
363 27 Amministratore Truelite
<pre>
364 34 Amministratore Truelite
smtpd_sasl_type = dovecot
365 27 Amministratore Truelite
smtpd_sasl_path = private/auth
366 34 Amministratore Truelite
</pre>
367
368 35 Simone Piccardi
Tutto il resto è la ordinaria configurazione di Postfix per abilitare l'uso di sessioni autenticate, e per far si che queste avvengano con connessioni cifrate sotto TLS; l'autenticazione si abilita aggiungendo a @/etc/postfix/main.cf@ le righe seguenti: 
369
370 34 Amministratore Truelite
<pre>
371 27 Amministratore Truelite
smtpd_sasl_auth_enable = yes
372 34 Amministratore Truelite
smtp_sasl_application_name = smtpd
373
smtpd_sasl_local_domain = $myhostname
374 27 Amministratore Truelite
broken_sasl_auth_clients = yes
375
</pre>
376 35 Simone Piccardi
377 27 Amministratore Truelite
mentre l'uso di TLS con le righe seguenti:
378 35 Simone Piccardi
379 1 Amministratore Truelite
<pre>
380 34 Amministratore Truelite
smtpd_use_tls = yes
381 1 Amministratore Truelite
smtpd_tls_auth_only = yes
382
smtpd_tls_loglevel = 1
383
smtpd_tls_received_header = yes
384
smtpd_tls_session_cache_timeout = 3600s
385
tls_random_source = dev:/dev/urandom
386
</pre>
387 35 Simone Piccardi
388
infine si deve dare l'accesso in spedizione agli utenti aggiungendo la direttiva @permit_sasl_authenticated@ al parametro @smtpd_recipient_restrictions@ che dovrà essere qualcosa del tipo: 
389
390 1 Amministratore Truelite
<pre>
391
smtpd_recipient_restrictions =
392
        permit_mynetworks,
393
        permit_sasl_authenticated,
394
        reject_rbl_client zen.spamhaus.org,
395
        reject_non_fqdn_sender,
396
        reject_non_fqdn_recipient,
397
        reject_unknown_sender_domain,
398 34 Amministratore Truelite
        reject_unauth_destination
399 1 Amministratore Truelite
</pre>
400 34 Amministratore Truelite
401
402 35 Simone Piccardi
h2. CLI script to massive account creation