Mailserver con Exim, Mutt e Dovecot: differenze tra le versioni
(Nuova pagina: =Introduzione= In questa guida vedremo come installare un server di posta elettronica utilizzando tre strumenti installabili dai repository di Debian: Exim, Mutt e Dovecot. =Exim= La p...) |
S3v (discussione | contributi) mNessun oggetto della modifica |
||
(10 versioni intermedie di 5 utenti non mostrate) | |||
Riga 1: | Riga 1: | ||
=Introduzione= | {{Guida da adottare}} | ||
== Introduzione == | |||
In questa guida vedremo come installare un server di posta elettronica utilizzando tre strumenti installabili dai repository di Debian: Exim, Mutt e Dovecot. | In questa guida vedremo come installare un server di posta elettronica utilizzando tre strumenti installabili dai repository di Debian: Exim, Mutt e Dovecot. | ||
=Exim= | |||
== Exim == | |||
La prima cosa che dobbiamo installare è un Mail Transfer Agent (MTA). Un MTA è un software il cui compito è quello di smistare e ricevere la posta da e verso altri server. Come MTA useremo Exim, giunto alla versione 4: | La prima cosa che dobbiamo installare è un Mail Transfer Agent (MTA). Un MTA è un software il cui compito è quello di smistare e ricevere la posta da e verso altri server. Come MTA useremo Exim, giunto alla versione 4: | ||
<pre> | <pre> | ||
apt | # apt install exim4-config | ||
</pre> | </pre> | ||
Questa installazione non configurerà automaticamente il pacchetto, per cui al termine dovremo eseguirne la riconfigurazione: | Questa installazione non configurerà automaticamente il pacchetto, per cui al termine dovremo eseguirne la riconfigurazione: | ||
<pre> | <pre> | ||
dpkg-reconfigure exim4-config | # dpkg-reconfigure exim4-config | ||
</pre> | </pre> | ||
Vediamo nel dettaglio la configurazione: | Vediamo nel dettaglio la configurazione: | ||
* < | * <code>General type of mail configuration</code>: scegliete '''internet site'''; le email saranno inviate e ricevute direttamente tramite il server SMTP del vostro provider. | ||
* < | * <code>System mail name</code> dovrebbe essere lo stesso FQDN utilizzato nei record DNS MX. | ||
* < | * <code>IP-addresses to listen on for incoming SMTP connections</code> deve essere l'indirizzo IP della scheda di rete che connette il server a internet. Se il server si trova dietro a un firewall, andrà poi configurato quest'ultimo per effettuare il forward delle richieste POP3 e IMAP verso l'IP del nostro server di posta | ||
* < | * <code>Local domains</code> indica i domini che dovranno essere serviti localmente. In questa guida sarà utilizzato il dominio locale <code>raptor.loc</code>. I domini non specificati qui saranno serviti attraverso internet. | ||
* < | * <code>Domains to relay mail for</code>: indicate ogni indirizzo IP '''non''' locale (se ne avete) che avete inserito nelle configurazioni precedenti | ||
* < | * <code>machines to relay mail for</code>: non stiamo usando questo server come smarthost, quindi lasciate il campo vuoto. | ||
* < | * <code>delivery method for local mail</code>: varia a seconda del tipo di mail server che si utilizza. In questa guida saranno installati un server POP3 e un server IMAP, e sarà scelto come formato per le caselle di posta il formato Maildir, in cui le mail sono salvate nella home di ogni utente. | ||
==/etc/aliases== | |||
=== /etc/aliases === | |||
Questo è il file in cui vengono impostati gli alias per i diversi account presenti nel sistema. Di default dovreste già avere una lunga lista di indirizzi email utilizzati dai servizi di sistema: | Questo è il file in cui vengono impostati gli alias per i diversi account presenti nel sistema. Di default dovreste già avere una lunga lista di indirizzi email utilizzati dai servizi di sistema: | ||
<pre> | <pre> | ||
Riga 39: | Riga 43: | ||
root: vostro_account_utente | root: vostro_account_utente | ||
</pre> | </pre> | ||
==DNS MX Records== | |||
=== DNS MX Records === | |||
Se desideriamo che il nostro mailserver sia conosciuto su internet, dobbiamo registrare un '''M'''ail e'''X'''change (MX) record per ogni dominio non locale.<br> | Se desideriamo che il nostro mailserver sia conosciuto su internet, dobbiamo registrare un '''M'''ail e'''X'''change (MX) record per ogni dominio non locale.<br> | ||
Se abbiamo un server DNS gestito da noi e che non serve solo la nostra LAN, possiamo aggiungere i record MX per conto nostro, con una linea simile a questa: | Se abbiamo un server DNS gestito da noi e che non serve solo la nostra LAN, possiamo aggiungere i record MX per conto nostro, con una linea simile a questa: | ||
Riga 45: | Riga 50: | ||
IN MX 10 mail.yourdomain.com | IN MX 10 mail.yourdomain.com | ||
</pre> | </pre> | ||
Dobbiamo inoltre aggiungere anche una linea che specifichi l'indirizzo IP del mailserver chiamato < | Dobbiamo inoltre aggiungere anche una linea che specifichi l'indirizzo IP del mailserver chiamato <code>mail</code>: | ||
<pre> | <pre> | ||
mail A X.X.X.X | mail A X.X.X.X | ||
Riga 52: | Riga 57: | ||
Una volta effettuate le modifiche dobbiamo riavviare il nostro server DNS: | Una volta effettuate le modifiche dobbiamo riavviare il nostro server DNS: | ||
<pre> | <pre> | ||
/etc/init.d/bind9 restart | # /etc/init.d/bind9 restart | ||
</pre> | </pre> | ||
Ora possiamo testare il nostro record MX con un host lookup specifico: | Ora possiamo testare il nostro record MX con un host lookup specifico: | ||
<pre> | <pre> | ||
host -t MX yourdomainhere.com | # host -t MX yourdomainhere.com | ||
</pre> | </pre> | ||
Dovrebbe esserci restituito qualcosa di simile: | Dovrebbe esserci restituito qualcosa di simile: | ||
Riga 62: | Riga 67: | ||
nostrodiminio.it MX 10 mail.nostrodominio.it | nostrodiminio.it MX 10 mail.nostrodominio.it | ||
</pre> | </pre> | ||
=Mutt= | |||
== Mutt == | |||
Mutt è un Mail User Agent (MUA). Un MUA è un programma che permette agli utenti di collegarsi alla loro mailbox per controllare e leggere le proprie mail. Per installarlo seguiamo la solita strada: | Mutt è un Mail User Agent (MUA). Un MUA è un programma che permette agli utenti di collegarsi alla loro mailbox per controllare e leggere le proprie mail. Per installarlo seguiamo la solita strada: | ||
<pre> | <pre> | ||
apt | # apt install mutt | ||
</pre> | </pre> | ||
==Mutt e il formato Maildir== | |||
Mutt di default si aspetta di utilizzare delle mailbox in formato mailbox. Siccome in questa guida intendiamo utilizzare il formato maildir, avremo bisogno di introdurre alcune modifiche alla configurazione del programma. Gli utenti del sistema dovranno avere il loro file di configurazione all'interno della loro home directory. Prima di tutto, come utente normale diverso da root, copiamo il file di configurazione di esempio di | === Mutt e il formato Maildir === | ||
Mutt di default si aspetta di utilizzare delle mailbox in formato mailbox. Siccome in questa guida intendiamo utilizzare il formato maildir, avremo bisogno di introdurre alcune modifiche alla configurazione del programma. Gli utenti del sistema dovranno avere il loro file di configurazione all'interno della loro home directory. Prima di tutto, come utente normale diverso da root, copiamo il file di configurazione di esempio di Mutt: | |||
<pre> | <pre> | ||
zcat /usr/share/doc/mutt/examples/sample.muttrc.gz > ~/.muttrc | # zcat /usr/share/doc/mutt/examples/sample.muttrc.gz > ~/.muttrc | ||
</pre> | </pre> | ||
Osservando il file, si può notare che l'ultima riga punta ad un altro file, < | Osservando il file, si può notare che l'ultima riga punta ad un altro file, <code>~/.muttrc-local</code>. Commentatela e sostituitela con queste: | ||
<pre> | <pre> | ||
set mbox_type=Maildir | set mbox_type=Maildir | ||
Riga 82: | Riga 89: | ||
set spoolfile="~/Maildir" | set spoolfile="~/Maildir" | ||
</pre> | </pre> | ||
==Errori comuni== | |||
=== Errori comuni === | |||
Se, all'avvio di Mutt, ricevete un errore come questo: | Se, all'avvio di Mutt, ricevete un errore come questo: | ||
<pre> | <pre> | ||
Riga 94: | Riga 102: | ||
source: errors in /home/ferdy/.muttrc | source: errors in /home/ferdy/.muttrc | ||
</pre> | </pre> | ||
significa che avete inserito le righe viste in precedenza, ma vi siete dimenticati di commentare o cancellare la linea che fa riferimento al file < | significa che avete inserito le righe viste in precedenza, ma vi siete dimenticati di commentare o cancellare la linea che fa riferimento al file <code>~/.muttrc-local</code>. | ||
==Estendere le modifiche a tutti gli utenti== | |||
Se desiderate che le modifiche appena effettuate abbiano effetto su tutti gli utenti, dovete copiare la versione modificata di < | === Estendere le modifiche a tutti gli utenti === | ||
===Impostare .muttrc per tutti gli utenti=== | Se desiderate che le modifiche appena effettuate abbiano effetto su tutti gli utenti, dovete copiare la versione modificata di <code>.muttrc</code> nella home directory di ogni utente e dovete essere certi che ogni nuovo utente riceva la versione modificata di questo file. | ||
Per effettuare la modifica velocemente, potete utilizzare lo script seguente. Create un nuovo file < | |||
==== Impostare .muttrc per tutti gli utenti ==== | |||
Per effettuare la modifica velocemente, potete utilizzare lo script seguente. Create un nuovo file <code>script.sh</code> sul vostro mailserver, copiateci il contenuto listato qui sotto, rendetelo eseguibile (<code>chmod +x script.sh</code>) e infine eseguitelo come utente '''root''' da una home directory che contiene il corretto file <code>.muttrc</code> file. | |||
<pre> | <pre> | ||
#!/bin/bash | #!/bin/bash | ||
Riga 132: | Riga 142: | ||
exit | exit | ||
</pre> | </pre> | ||
Per essere certi che anche gli utenti di nuova creazione ricevano una copia corretta del file < | Per essere certi che anche gli utenti di nuova creazione ricevano una copia corretta del file <code>.muttrc</code>, mettetene una copia all'interno della directory <code>/etc/skel</code>. | ||
=Dovecot= | |||
A questo punto, se abbiamo installato Mutt, i nostri utenti possono entrare | == Dovecot == | ||
A questo punto, se abbiamo installato Mutt, i nostri utenti possono entrare, via SSH, sulla stessa macchina su cui si trova il mailserver e leggere le loro email. Però non possono ancora leggere le email attraverso un programma come Thunderbird, Icedove o Outlook che si trova su una macchina diversa. Perché ciò sia possibile, dobbiamo adesso installare un server IMAP/POP3. In questa guida verrà utilizzato Dovecot. | |||
* se volete installare un server IMAP: | * se volete installare un server IMAP: | ||
<pre> | <pre> | ||
apt | # apt install dovecot-imapd | ||
</pre> | </pre> | ||
* se volete installare un server POP3: | * se volete installare un server POP3: | ||
<pre> | <pre> | ||
apt | # apt install dovecot-pop3d | ||
</pre> | </pre> | ||
* se volete | |||
* se volete offrire entrambi i servizi, installateli entrambi. | |||
{{Box | Nota |La differenza principale tra '''IMAP''' e '''POP''' è il modo di archiviare le email. Su un server IMAP le email sono salvate sul mailserver, mentre con un server POP le email sono scaricate in locale dal client che le legge. IMAP permette quindi di leggere le stesse mail da più macchine, ma richiede più spazio di archiviazione sul server.}} | {{Box | Nota |La differenza principale tra '''IMAP''' e '''POP''' è il modo di archiviare le email. Su un server IMAP le email sono salvate sul mailserver, mentre con un server POP le email sono scaricate in locale dal client che le legge. IMAP permette quindi di leggere le stesse mail da più macchine, ma richiede più spazio di archiviazione sul server.}} | ||
Qualsiasi installazione sia stata fatta, avrete installato anche il pacchetto < | Qualsiasi installazione sia stata fatta, avrete installato anche il pacchetto <code>dovecot-common</code>, che è il "motore" vero e proprio di Dovecot. | ||
==Configurazione di Dovecot== | |||
Il file di configurazione di Dovecot è < | === Configurazione di Dovecot === | ||
Il file di configurazione di Dovecot è <code>/etc/dovecot/dovecot.conf</code>. Apritelo e cercate una linea come la seguente: | |||
<pre> | <pre> | ||
# Protocols we want to be serving: imap imaps pop3 pop3s | # Protocols we want to be serving: imap imaps pop3 pop3s | ||
Riga 153: | Riga 166: | ||
#protocols = imap imaps | #protocols = imap imaps | ||
</pre> | </pre> | ||
Decommentate la linea < | Decommentate la linea <code>#protocols</code> e aggiungete i servizi che il vostro server dovrà supportare. La '''s''' in <code>imaps</code> e in <code>pop3s</code> indica un protocollo '''secure''', in cui le password non sono inviate al server in formato plain text. A seconda del server che avete installato, specificate le voci corrette tra queste: | ||
* < | * <code>imap</code> | ||
* < | * <code>imaps</code> | ||
* < | * <code>pop3</code> | ||
* < | * <code>pop3s</code> | ||
Un riavvio di Dovecot dovrebbe ora essere sufficiente: | Un riavvio di Dovecot dovrebbe ora essere sufficiente: | ||
<pre> | <pre> | ||
/etc/init.d/dovecot restart | # /etc/init.d/dovecot restart | ||
</pre> | </pre> | ||
{{Autori | |||
|Autore = [[Utente:Ferdybassi|Ferdybassi]] 14:55, 4 gen 2010 (CET) | |||
}} | |||
[[Categoria: | |||
[[Categoria:Mail server]] |
Versione attuale delle 21:24, 2 dic 2019
Guida da adottare! |
Introduzione
In questa guida vedremo come installare un server di posta elettronica utilizzando tre strumenti installabili dai repository di Debian: Exim, Mutt e Dovecot.
Exim
La prima cosa che dobbiamo installare è un Mail Transfer Agent (MTA). Un MTA è un software il cui compito è quello di smistare e ricevere la posta da e verso altri server. Come MTA useremo Exim, giunto alla versione 4:
# apt install exim4-config
Questa installazione non configurerà automaticamente il pacchetto, per cui al termine dovremo eseguirne la riconfigurazione:
# dpkg-reconfigure exim4-config
Vediamo nel dettaglio la configurazione:
General type of mail configuration
: scegliete internet site; le email saranno inviate e ricevute direttamente tramite il server SMTP del vostro provider.System mail name
dovrebbe essere lo stesso FQDN utilizzato nei record DNS MX.IP-addresses to listen on for incoming SMTP connections
deve essere l'indirizzo IP della scheda di rete che connette il server a internet. Se il server si trova dietro a un firewall, andrà poi configurato quest'ultimo per effettuare il forward delle richieste POP3 e IMAP verso l'IP del nostro server di postaLocal domains
indica i domini che dovranno essere serviti localmente. In questa guida sarà utilizzato il dominio localeraptor.loc
. I domini non specificati qui saranno serviti attraverso internet.Domains to relay mail for
: indicate ogni indirizzo IP non locale (se ne avete) che avete inserito nelle configurazioni precedentimachines to relay mail for
: non stiamo usando questo server come smarthost, quindi lasciate il campo vuoto.delivery method for local mail
: varia a seconda del tipo di mail server che si utilizza. In questa guida saranno installati un server POP3 e un server IMAP, e sarà scelto come formato per le caselle di posta il formato Maildir, in cui le mail sono salvate nella home di ogni utente.
/etc/aliases
Questo è il file in cui vengono impostati gli alias per i diversi account presenti nel sistema. Di default dovreste già avere una lunga lista di indirizzi email utilizzati dai servizi di sistema:
# /etc/aliases mailer-daemon: postmaster postmaster: root nobody: root hostmaster: root usenet: root news: root webmaster: root www: root ftp: root abuse: root noc: root security: root
Se intendete dirottare la posta di root verso il vostro utente normale, potete aggiungere alla fine del file la linea:
root: vostro_account_utente
DNS MX Records
Se desideriamo che il nostro mailserver sia conosciuto su internet, dobbiamo registrare un Mail eXchange (MX) record per ogni dominio non locale.
Se abbiamo un server DNS gestito da noi e che non serve solo la nostra LAN, possiamo aggiungere i record MX per conto nostro, con una linea simile a questa:
IN MX 10 mail.yourdomain.com
Dobbiamo inoltre aggiungere anche una linea che specifichi l'indirizzo IP del mailserver chiamato mail
:
mail A X.X.X.X
dove X.X.X.X è l'indirizzo IP pubblico del mailserver o del firewall che lo protegge.
Una volta effettuate le modifiche dobbiamo riavviare il nostro server DNS:
# /etc/init.d/bind9 restart
Ora possiamo testare il nostro record MX con un host lookup specifico:
# host -t MX yourdomainhere.com
Dovrebbe esserci restituito qualcosa di simile:
nostrodiminio.it MX 10 mail.nostrodominio.it
Mutt
Mutt è un Mail User Agent (MUA). Un MUA è un programma che permette agli utenti di collegarsi alla loro mailbox per controllare e leggere le proprie mail. Per installarlo seguiamo la solita strada:
# apt install mutt
Mutt e il formato Maildir
Mutt di default si aspetta di utilizzare delle mailbox in formato mailbox. Siccome in questa guida intendiamo utilizzare il formato maildir, avremo bisogno di introdurre alcune modifiche alla configurazione del programma. Gli utenti del sistema dovranno avere il loro file di configurazione all'interno della loro home directory. Prima di tutto, come utente normale diverso da root, copiamo il file di configurazione di esempio di Mutt:
# zcat /usr/share/doc/mutt/examples/sample.muttrc.gz > ~/.muttrc
Osservando il file, si può notare che l'ultima riga punta ad un altro file, ~/.muttrc-local
. Commentatela e sostituitela con queste:
set mbox_type=Maildir set folder="~/Maildir" set mask="!^\\.[^.]" set mbox="~/Maildir" set record="+.Sent" set postponed="+.Drafts" set spoolfile="~/Maildir"
Errori comuni
Se, all'avvio di Mutt, ricevete un errore come questo:
Error in /home/ferdy/.muttrc, line 339: dset: unknown command source: errors in /home/ferdy/.muttrc
significa che ci sono errori di battitura all'interno del file che abbiamo appena visto.
Se invece ottenete un errore come questo:
Error in /home/ferdy/.muttrc, line 346: /home/ferdy/.muttrc-local: No such file or directory source: errors in /home/ferdy/.muttrc
significa che avete inserito le righe viste in precedenza, ma vi siete dimenticati di commentare o cancellare la linea che fa riferimento al file ~/.muttrc-local
.
Estendere le modifiche a tutti gli utenti
Se desiderate che le modifiche appena effettuate abbiano effetto su tutti gli utenti, dovete copiare la versione modificata di .muttrc
nella home directory di ogni utente e dovete essere certi che ogni nuovo utente riceva la versione modificata di questo file.
Impostare .muttrc per tutti gli utenti
Per effettuare la modifica velocemente, potete utilizzare lo script seguente. Create un nuovo file script.sh
sul vostro mailserver, copiateci il contenuto listato qui sotto, rendetelo eseguibile (chmod +x script.sh
) e infine eseguitelo come utente root da una home directory che contiene il corretto file .muttrc
file.
#!/bin/bash # Replace this line if your users' directories are stored somewhere else: HOMEDIR="/home/" if [ `id -u` != "0" ] # Are you root? then echo "Error: This script must be run as the root user." exit elif [ ! -e .muttrc ] # Is .muttrc here? then echo "Error: .muttrc is not in this directory. Move to a directory where the" echo "correct file to be copied exists." exit fi for x in `ls $HOMEDIR`; do cp .muttrc $HOMEDIR$x chown $x:$x $HOMEDIR$x/.muttrc # Uncomment these if you need to copy .muttrc-local, too... # And make sure .muttrc-local is in this directory! #cp .muttrc-local $HOMEDIR$x #chown $x:$x $HOMEDIR$x/.muttrc-local echo "Copied to $HOMEDIR$x ..." done echo "Done!" exit
Per essere certi che anche gli utenti di nuova creazione ricevano una copia corretta del file .muttrc
, mettetene una copia all'interno della directory /etc/skel
.
Dovecot
A questo punto, se abbiamo installato Mutt, i nostri utenti possono entrare, via SSH, sulla stessa macchina su cui si trova il mailserver e leggere le loro email. Però non possono ancora leggere le email attraverso un programma come Thunderbird, Icedove o Outlook che si trova su una macchina diversa. Perché ciò sia possibile, dobbiamo adesso installare un server IMAP/POP3. In questa guida verrà utilizzato Dovecot.
- se volete installare un server IMAP:
# apt install dovecot-imapd
- se volete installare un server POP3:
# apt install dovecot-pop3d
- se volete offrire entrambi i servizi, installateli entrambi.
Qualsiasi installazione sia stata fatta, avrete installato anche il pacchetto dovecot-common
, che è il "motore" vero e proprio di Dovecot.
Configurazione di Dovecot
Il file di configurazione di Dovecot è /etc/dovecot/dovecot.conf
. Apritelo e cercate una linea come la seguente:
# Protocols we want to be serving: imap imaps pop3 pop3s # If you only want to use dovecot-auth, you can set this to "none". #protocols = imap imaps
Decommentate la linea #protocols
e aggiungete i servizi che il vostro server dovrà supportare. La s in imaps
e in pop3s
indica un protocollo secure, in cui le password non sono inviate al server in formato plain text. A seconda del server che avete installato, specificate le voci corrette tra queste:
imap
imaps
pop3
pop3s
Un riavvio di Dovecot dovrebbe ora essere sufficiente:
# /etc/init.d/dovecot restart
Guida scritta da: Ferdybassi 14:55, 4 gen 2010 (CET) | Debianized 20% |
Estesa da: | |
Verificata da: | |
Verificare ed estendere la guida | Cos'è una guida Debianized |