Installazione server di posta
Istruzioni per installare un server di posta su Devuan 4
Uso questa distribuzione in quanto ritengo che systemd, soprattutto su un server non sia una cosa buona.
Software utilizzato
Questa guida è stata realizzata utilizzando:
- Devuan 4 (Chimaera)
- Dovecot 2.3.13
- Postfix 3.5.6
- MariaDB (MySQL) 10.5
- Certbot 1.12.0
- PostfixAdmin
- Roundcube
Caratteristiche
- Gestione IMAP e POP3 : Dovecot
- Gestione SMTP e submission: Postfix
- Configurazione dei domini e delle caselle di posta: Mysql e Postfixadmin
- Connessioni esclusivamente criptate
- Certificati: Let's encrypt (certbot)
- Gestione quota per dominio e per utente
- Memorizzazione nel database dell'ultimo login
- TODO Calendario CalDAV e Rubrica CardDAV
- Webmail: Roundcube
- TODO Filtri Sieve personalizzabili dagli utenti
Convenzioni
![]() |
ATTENZIONE Salvo dove diversamente indicato i comandi devono essere eseguiti con l'utente root o anteponendo il comando sudo (facendo attenzione se vengono usate pipe) |
- MYSQLHOST = l'host su cui è installato MySQL, può essere localhost
- MYSQLUSER1 = utente MySQL per postfixadmin (diritti di scrittura)
- MYSQLPASS1 = password MySQL user1
- MYSQLUSER2 = utente MySQL per registrazione ultimologin (diritti di scrittura limitati)
- MYSQLPASS2 = password MySQL user2
- MYSQLUSER3 = utente MySQL per postfix (diritti di lettura)
- MYSQLPASS3 = password MySQL user3
- MAILHOST = l'host su cui si installa il server di posta, deve essere un indirizzo raggiungibile da internet (vedere configurazione DNS)
Installazione dei pacchetti
Mysql
Viene usato per gestire la configurazione di domini e utenti tramite postfixadmin.
Postfix
Usato come agente per submission e SMTP. Come submission è configurato in maniera da permettere l'uso solo di mittenti corrispondenti all'autenticazione.
![]() |
apt-get install postfix-mysql |
Dovecot
![]() |
apt-get install dovecot-core dovecot-imapd dovecot-pop3 dovecot-lmtpd dovecot-mysql |
Se presente verrà disinstallato Courier, ma i file di configurazione verranno mantenuti.
Sono stati scelti i pacchetti per fornire IMAP, POP3 (si, lo so che è obsoleto, ma lo vogliono...), mailtransfer locale e configurazione su mysql gestita tramite PostfixAdmin.
Certbot
Viene usato per generare i certificati SSL
![]() |
apt-get install certbot |
Configurazione
Autenticazione SASL Postfix con Dovecot
![]() |
nano /etc/dovecot/conf.d/10-master.conf |
service auth { unix_listener auth-userdb { } # Postfix smtp-auth unix_listener /var/spool/postfix/private/auth { mode = 0660 user = postfix group = postfix } }
![]() |
nano /etc/postfix/main.cf |
######### # SMTPD # ######### # utilizzo dovecot auth smtpd_sasl_type = dovecot # path del socket di autenticazione fornito da dovecot smtpd_sasl_path = private/auth # abilito l'autenticazione SASL smtpd_sasl_auth_enable = yes # aggiunge l'username dell'utente nell'header delle mail smtpd_sasl_authenticated_header = yes
(nota: aggiungere tutte le altre restrizioni adottate)
Utilizzo dei certificati let's encrypt con Dovecot
Sostituire il certificato autofirmato che è stato generato all'installazione
![]() |
nano /etc/dovecot/conf.d/10-ssl.conf |
#ssl_cert = </etc/dovecot/private/dovecot.pem #ssl_key = </etc/dovecot/private/dovecot.key ssl_cert = </etc/letsencrypt/live/MAILHOST/fullchain.pem ssl_key = </etc/letsencrypt/live/MAILHOST/privkey.pem
![]() |
/etc/init.d/dovecot restart |
Per verificare il certificato utilizzato dal server per i vari protocolli eseguire il seguente codice (da un altro host):
![]() |
echo | openssl s_client -connect MAILHOST:imaps | openssl x509 -noout -text |
![]() |
echo | openssl s_client -connect MAILHOST:pop3s | openssl x509 -noout -text |
![]() |
echo | openssl s_client -starttls smtp -connect MAILHOST:submission | openssl x509 -noout -text |
e se abilitato su postfix:
![]() |
echo | openssl s_client -starttls smtp -connect MAILHOST:smtp | openssl x509 -noout -text |
Fonti utilizzate
in ordine rigorosamente casuale :-)