3 581
contributi
Nessun oggetto della modifica |
(da cancellare) |
||
(13 versioni intermedie di un altro utente non mostrate) | |||
Riga 1: | Riga 1: | ||
{{Template:Internet Service Provider con Wheezy}} | {{Da cancellare|Abbandonata, non completa, e la parte trattata è duplicato di [[Internet_Service_Provider_con_Debian]]}}{{Template:Internet Service Provider con Wheezy}} | ||
=Creazione utente dovecot= | =Creazione utente dovecot= | ||
Riga 18: | Riga 18: | ||
# chmod u+w /var/vmail | # chmod u+w /var/vmail | ||
</pre> | </pre> | ||
=Installazione Dovecot= | |||
Installiamo i pacchetti che utilizzeremo nella nostra configurazione: | |||
<pre># apt-get install dovecot-mysql dovecot-pop3d dovecot-imapd dovecot-managesieved</pre> | |||
=Configurazione= | |||
Siamo pronti per iniziare. I files di configurazione di Dovecot si trovano in <code>/etc/dovecot</code>. | Siamo pronti per iniziare. I files di configurazione di Dovecot si trovano in <code>/etc/dovecot</code>. | ||
<br/> | <br/> | ||
Riga 28: | Riga 33: | ||
Diamo uno sguardo ai file presenti nella directory di configurazione ''conf.d''. | Diamo uno sguardo ai file presenti nella directory di configurazione ''conf.d''. | ||
== 10-auth.conf == | |||
Se ci aspettiamo di dover servire client che utilizzano Microsoft Outlook come applicazione per la posta elettronica, dovremo cambiare il meccanismo di autenticazione in: | Se ci aspettiamo di dover servire client che utilizzano Microsoft Outlook come applicazione per la posta elettronica, dovremo cambiare il meccanismo di autenticazione in: | ||
<pre> | <pre> | ||
Riga 45: | Riga 49: | ||
</pre> | </pre> | ||
== auth-sql.conf.ext == | |||
Modifichiamo ora il file di configurazione SQL. | Modifichiamo ora il file di configurazione SQL. | ||
<br/> | <br/> | ||
Commentiamo la sezione standard "userdb" e | Commentiamo la prima sezione standard "userdb" e decommentiuamo e modifichiamo quella subito successiva. I parametri finali devono essere: | ||
<pre> | <pre> | ||
passdb { | |||
driver = sql | |||
args = /etc/dovecot/dovecot-sql.conf.ext | |||
} | |||
userdb { | userdb { | ||
driver = static | driver = static | ||
Riga 55: | Riga 64: | ||
} | } | ||
</pre> | </pre> | ||
Attenzione: deve esserci attiva una sola sezione "userdb". | Attenzione: deve esserci attiva una sola sezione "userdb" (il file d'esempio ne contiene invece due, di cui una decommantata). | ||
<br/> | <br/> | ||
Attenzione: c'è un'altra sezione molto simile, ma utilizza "%u" al posto di "%d/%n". Occorre stare attenti a non confonderle, perchè la differenza di variabili influenza il percorso di memorizzazione delle maildir. | Attenzione: c'è un'altra sezione molto simile a quella che vogliamo, ma utilizza "%u" al posto di '''"%d/%n"'''. Occorre stare attenti a non confonderle, perchè la differenza di variabili influenza il percorso di memorizzazione delle maildir. | ||
== 10-mail.conf == | |||
Cambiamo la direttiva ''mail_location'' in | Cambiamo la direttiva ''mail_location'' in | ||
<pre> | <pre> | ||
Riga 76: | Riga 85: | ||
per mantenere la retrocompatibilità della configurazione. | per mantenere la retrocompatibilità della configurazione. | ||
== 10-master.conf == | |||
Nella sezione ''service auth'' dobbiamo inserire: | Nella sezione ''service auth'' dobbiamo inserire: | ||
<pre> | <pre> | ||
Riga 84: | Riga 93: | ||
user = postfix | user = postfix | ||
group = postfix | group = postfix | ||
} | |||
unix_listener auth-master { | |||
mode = 0660 | |||
user = vmail | |||
group = vmail | |||
} | } | ||
</pre> | </pre> | ||
Gli altri servizi possono essere lasciati come sono. | Gli altri servizi possono essere lasciati come sono. | ||
== 10-ssl.conf == | |||
Creiamo un certificato SSL per i servizi Pop3 e Imaps: | |||
<pre># openssl req -new -x509 -days 3650 -nodes -newkey rsa:4096 -out /etc/ssl/certs/mailserver.pem -keyout /etc/ssl/private/mailserver.pem</pre> | |||
e proteggiamolo: | |||
<pre># chmod 600 /etc/ssl/private/mailserver.pem</pre> | |||
Quindi indichiamo a Dovecot dove si trovano questi certificati, inserendo: | |||
<pre> | <pre> | ||
ssl_cert = </etc/ssl/certs/mailserver.pem | ssl_cert = </etc/ssl/certs/mailserver.pem | ||
Riga 95: | Riga 117: | ||
</pre> | </pre> | ||
== 15-lda.conf == | |||
In questo file dobbiamo abilitare il plugin ''sieve'', che, in parole povere, è un sistema per gestire le regole email a livello server. Cerchiamo la sezione ''protocol lda'' verso la fine del gile e aggiungiamo ''sieve'' alla lista dei plugin: | In questo file dobbiamo abilitare il plugin ''sieve'', che, in parole povere, è un sistema per gestire le regole email a livello server. Cerchiamo la sezione ''protocol lda'' verso la fine del gile e aggiungiamo ''sieve'' alla lista dei plugin: | ||
<pre> | <pre> | ||
Riga 104: | Riga 126: | ||
</pre> | </pre> | ||
== /etc/dovecot/dovecot-sql.conf.ext == | |||
Questo file è richiamato dal file <tt> /etc/dovecot/conf.d/auth-sql.conf.ext</tt> e dice a Dovecot come accedere al database MySQL e dove trovare le informazioni sugli account. Accertiamoci che contenga le linee: | Questo file è richiamato dal file <tt> /etc/dovecot/conf.d/auth-sql.conf.ext</tt> e dice a Dovecot come accedere al database MySQL e dove trovare le informazioni sugli account. Accertiamoci che contenga le linee: | ||
<pre> | <pre> | ||
Riga 114: | Riga 136: | ||
ponendo attenzione a inserire le credenziali MySQL create in precedenza. | ponendo attenzione a inserire le credenziali MySQL create in precedenza. | ||
===== | == Protezione dei file == | ||
Impostiamo le giuste credenziali per il file di configurazione principale: | |||
<pre> | |||
# chgrp vmail /etc/dovecot/dovecot.conf | |||
# chmod g+r /etc/dovecot/dovecot.conf | |||
</pre> | |||
e proteggiamo il file di configurazione SQL in modo che nessuno possa scoprire la password del database: | |||
<pre> | |||
# chown root:root /etc/dovecot/dovecot-sql.conf.ext | |||
# chmod go= /etc/dovecot/dovecot-sql.conf.ext | |||
</pre> | |||
Infine riavviamo Dovecot: | |||
<pre> | |||
# service dovecot restart | |||
</pre> | |||
e verifichiamo dai log che non ci siano errori: | |||
<pre> | |||
# tail -f /var/log/mail.log | |||
... dovecot: master: Dovecot v2.1.7 starting up (core dumps disabled) | |||
</pre> | |||
=Collegamento da Postfix a Dovecot= | |||
OK, fin qui è stato tutto bello, però adesso che dovecot è stato istruito a dovere è necessario indicare a postfix come collegarsi a dovecot.<br /> | |||
Procediamo con ordine. | |||
Ma come vanno trattate queste mail? | |||
Il nostro obiettivo è archiviare le mail sull'hard disk del server; normalmente questo compito è svolto dallo stesso Postfix, che al suo interno ha un piccolo ''mail delivery agent'' (MDA) chiamato ''virtual''. Poichè però abbiamo deciso di utilizzare Dovecot per fornire accesso POP3 e IMAP agli utenti, utilizzeremo anche il suo ''local delivery agent'' (chiamato Dovecot LDA), che è a mio avviso più ricco e funzionale di ''virtual''. | |||
<br/> | |||
Per fare in modo che Postfix utilizzi questo agent dobbiamo aggiungere un servizio in coda al file <code>/etc/postfix/master.cf</code>: | |||
<pre> | |||
dovecot unix - n n - - pipe | |||
flags=DRhu user=vmail:vmail argv=/usr/lib/dovecot/dovecot-lda -f ${sender} -d ${recipient} | |||
</pre> | |||
'''Nota''': la seconda riga deve essere indentata con degli spazi e non con il TAB. | |||
<br/> | |||
A questo punto non resta che riavviare Postfix: | |||
<pre> | |||
# service postfix restart | |||
</pre> | |||
e fare in modo che utilizzi il servizio appena creato per lo smistamento delle email, modificando il file <code>/etc/postfix/main.cf</code> nella maniera vista in precedenza: | |||
<pre> | |||
# postconf -e virtual_transport=dovecot | |||
# postconf -e dovecot_destination_recipient_limit=1 | |||
</pre> | |||
Da adesso in poi Postfix smisterà le email in arrivo al programma di Dovecot <code>/usr/lib/dovecot/deliver</code>. | |||
=Sistemiamo i permessi di Dovecot= | |||
{{Warningbox|Permessi sbagliati sui file di funzionamento di dovecot comportano l'irrimediabile perdita della posta in arrivo}} | |||
''da controllare'': i permessi in ''/var/run/dovecot/'', non mi è ancora chiaro quali debbano essere. | |||
Impostiamo le giuste credenziali per il file di configurazione principale: | Impostiamo le giuste credenziali per il file di configurazione principale: | ||
<pre> | <pre> | ||
Riga 140: | Riga 210: | ||
</pre> | </pre> | ||
= Test della configurazione | = Test della configurazione = | ||
Apriamo un altro terminale e controlliamo i log della posta in tempo reale: | Apriamo un altro terminale e controlliamo i log della posta in tempo reale: | ||
<pre> | <pre> |
contributi