Installare un server di posta con Modoboa su Debian
L'installer di Modoboa configura Postfix, Dovecot, webmail e SSL in un unico passaggio. Ecco come installare il tuo server di posta su Debian e impostare i record DNS necessari.
Non vuoi più tenere le tue e-mail da un provider di posta gratuita, ma su un server tuo e sotto il tuo dominio? Modoboa è una delle soluzioni più comode per farlo. L'installer incluso configura Postfix, Dovecot, database, filtro antispam, webmail e un'interfaccia di amministrazione in un unico passaggio.
Questa guida descrive l'installazione su Debian 12 e Debian 11. Debian 10 non è più supportato e non andrebbe più usato come base per un nuovo server di posta.
Prerequisiti
- Un vServer tuo oppure un server root con un'installazione Debian appena fatta. Consigliamo (non è obbligatorio, ma ha senso) di dedicare un piccolo server esclusivamente al servizio di posta, perché il nome host e il reverse DNS vengono adattati al dominio di posta.
- Accesso root via SSH.
- Un dominio tuo, di cui puoi impostare personalmente i record DNS.
- Un indirizzo IPv4 fisso per il quale puoi registrare un record reverse DNS.
- Le porte di posta devono essere raggiungibili: 25 (SMTP), 587 e 465 (invio da parte dei tuoi utenti), 143 e 993 (IMAP) e infine 80 e 443 per la webmail e per il rilascio del certificato.
Importante: esegui l'installazione su un sistema appena installato. Un server web già in funzione o un database preesistente fanno interrompere l'installer con grande regolarità.
Preparare il sistema
Porta prima di tutto l'elenco dei pacchetti e tutti i pacchetti installati all'ultima versione:
apt update && apt upgrade -y
Installa poi i pacchetti che l'installer si aspetta di trovare:
apt-get install sudo git python3 mariadb-server -y
Completa la configurazione del database seguendo le domande dell'assistente. In quel passaggio assegna una password sicura all'amministratore del database:
sudo mysql_secure_installation
Impostare il nome host
Il server ha bisogno di un nome host completo, coerente con il futuro dominio di posta. Senza questo passaggio l'installazione fallisce:
hostnamectl set-hostname mail.<DOMINIO>.<ESTENSIONE>
Conviene creare già adesso nel DNS il record A per esattamente questo nome. Più avanti l'installer richiede un certificato Let's Encrypt, e la richiesta va a buon fine solo se il nome punta già all'IP del tuo server.
Scaricare l'installer di Modoboa
cd /tmp
git clone https://github.com/modoboa/modoboa-installer
cd modoboa-installer
Generare e adattare il file di configurazione
Per prima cosa lascia che l'installer crei soltanto il file di configurazione e poi si fermi:
python3 ./run.py --stop-after-configfile-check <DOMINIO>.<ESTENSIONE>
Apri il file appena creato:
nano installer.cfg
Adatta le sezioni seguenti. In questo modo il server ottiene un certificato SSL gratuito da Let's Encrypt e si collega al database locale:
[certificate]
generate = true
type = letsencrypt
[letsencrypt]
email = admin@<DOMINIO>.<ESTENSIONE>
[database]
engine = mysql
host = 127.0.0.1
install = true
Come indirizzo e-mail indica un indirizzo che leggi davvero. Let's Encrypt lo usa per avvisarti se un rinnovo non va a buon fine.
Avviare l'installazione
python3 ./run.py mail.<DOMINIO>.<ESTENSIONE>
L'esecuzione richiede qualche minuto. Sfrutta il tempo per impostare i record DNS.
Impostare i record DNS
Record A e record MX
Il record A punta all'IP del tuo server, il record MX dice al mondo quale host accetta la posta per il tuo dominio. La priorità "10" è il valore consueto quando c'è un solo server di posta:
1° record:
Sottodominio: mail
Tipo: A (IPv4)
Destinazione: <IP-Server>
Il risultato dovrebbe essere questo: mail.<DOMINIO>.<ESTENSIONE> IN A <IP-Server>
2° record:
(Sottodominio: @)
Tipo: MX
Destinazione: mail.<DOMINIO>.<ESTENSIONE>
Il risultato dovrebbe essere questo: @ IN MX 10 mail.<DOMINIO>.<ESTENSIONE>
SPF, DKIM e DMARC
Senza questi tre record le tue mail finiscono con ogni probabilità nella cartella spam dei destinatari. I grandi provider ormai li pretendono esplicitamente.
SPF stabilisce quali server possono inviare per conto del tuo dominio. Va inserito come record TXT sul dominio principale:
Tipo: TXT
Nome: @
Valore: v=spf1 mx -all
DKIM firma crittograficamente le tue mail in uscita. Modoboa può generare da solo le chiavi per ogni dominio. Dopo l'installazione trovi la chiave pubblica nell'interfaccia di amministrazione, nelle impostazioni del dominio interessato. Quel valore lo inserisci come record TXT nel DNS.
DMARC dice ai destinatari come trattare le mail che non superano SPF o DKIM. Parti da un'impostazione di sola osservazione e inasprisci le regole in un secondo momento:
Tipo: TXT
Nome: _dmarc
Valore: v=DMARC1; p=none; rua=mailto:postmaster@<DOMINIO>.<ESTENSIONE>
Reverse DNS (PTR)
Il record PTR risolve il tuo indirizzo IP nel nome host. Molti server di posta rifiutano senza appello le connessioni prive di un record PTR corrispondente. Da noi lo imposti direttamente tu nell'area clienti:
"I miei servizi" -> "Seleziona il server" -> "Clicca sul pulsante Reverse DNS" -> mail.<DOMINIO>.<ESTENSIONE>
L'importante è che il record PTR e il nome host coincidano esattamente.
Primi passi dopo l'installazione
Se l'installazione è andata a buon fine, riavvia il server una volta:
reboot
Dopodiché raggiungi l'interfaccia di amministrazione su https://mail.<DOMINIO>.<ESTENSIONE>. Accedi con l'account amministratore creato dall'installer e cambia la password come primissima cosa. Crea poi il tuo dominio e le caselle di posta che ti servono.
Fai quindi una prova in entrambe le direzioni: manda una mail dal tuo nuovo server verso una casella esterna e una mail dall'esterno verso il tuo nuovo indirizzo. Per verificare che SPF, DKIM, DMARC e PTR funzionino davvero, la via più rapida è uno dei mail tester disponibili gratuitamente in rete.
Errori frequenti
- L'installazione si interrompe subito: il nome host non è un nome di dominio completo. Verificalo con
hostname -f. - Il certificato non viene rilasciato: il record A di mail.IlTuoDominio non punta al server, oppure la porta 80 è bloccata. Let's Encrypt verifica il dominio attraverso la porta 80.
- Le mail finiscono nello spam: di solito manca il record PTR, oppure SPF e DKIM non sono impostati. Controlla tutti e quattro i record prima di mettere il server in produzione.
- Le mail in uscita vengono rifiutate: l'indirizzo IP potrebbe trovarsi su una lista di blocco. La maggior parte dei gestori mette a disposizione una pagina per la verifica e per la richiesta di rimozione.
- L'installer segnala un errore sul database: MariaDB non è ancora stato completato con
mysql_secure_installation, oppure nel file installer.cfg la sezione dedicata al database non è corretta. - Dopo un riavvio non funziona più nulla: controlla i servizi coinvolti con
systemctl status postfix dovecot nginx.
Un server di posta proprio richiede più cura di altri servizi: aggiornamenti, backup delle caselle e un occhio costante sulla recapitabilità. Se te ne occupi, in cambio ottieni il controllo completo sulla tua comunicazione.
Autore: XEfnexX (pseudonimo)
Domande frequenti
Quale versione di Debian mi serve per Modoboa?
Perché le mie mail finiscono nella cartella spam?
Posso installare Modoboa su un server che ospita già un sito web?
Quali porte devo aprire?
Come imposto il record reverse DNS?
2023-2026 KernelHost GmbH. Tutti i diritti riservati. Questa guida è protetta dal diritto d'autore. La ripubblicazione su altri siti web, anche parziale o in forma modificata, non è consentita senza il nostro consenso scritto. Le citazioni con indicazione della fonte e un link sono le benvenute.

