Dopo avere configurato la nostra macchina virtuale in modo da poter ospitare tutto il necessario per servire un server web basato su uno dei due stack LAMP o LEMP, in questa lezione vediamo come configurare il nostro server virtuale in modo da potere gestire l’invio e la ricezione di email. A tale scopo, vi installeremo un Mail Transfer Agent (MTA).
Uno degli MTA più popolari è senza dubbio Postfix, con un tasso di adozione stimato in circa il 34%. Nel seguito illustreremo le operazioni da effettuare su un sistema GNU/Linux basato su Debian per installare e configurare Postfix. Sulla falsa riga di quanto fatto nelle lezioni precedenti, baseremo la nostra discussione su Ubuntu 18.04.
Prerequisiti
Per poter configurare correttamente Postfix è necessario disporre di un nome di dominio FQDN che punti al proprio server. In particolare, nel caso in cui il server debba accettare e-mail in ingresso, da consegnare alle caselle del sistema, è necessario disporre di un record MX che punti all'indirizzo IP del server. Infine il nome host del server dovrà corrispondere al nome di dominio di cui sopra.
Negli esempi che seguono, supporremo che il nome host della macchina sia mail.esempio.com.
Installazione
Il primo passo consiste ovviamente nell'installazione del software. Nel caso in cui l'utility tasksel sia già installata nel sistema, è possibile ricorrere ad essa per attivare il ruolo "Mail server", che provvederà ad installare Postfix e ad effettuare una prima configurazione. Maggiori informazioni a riguardo sono disponibili nella guida di HTML.it dedicata ad Ubuntu Server.
Nel caso in cui tasksel non fosse disponibile, è possibile installare direttamente il pacchetto postfix con il comando apt:
# apt install postfix
Lo script di post-installazione del pacchetto richiederà alcune informazioni per il completamento della configurazione. I parametri utilizzati in questa guida sono i seguenti:
General type of mail configuration?: Internet Site
System mail name: esempio.com (not mail.esempio.com)
Root and postmaster mail recipient: user
Other destinations to accept mail for: $myhostname, esempio.com, mail.esempio.com, localhost.esempio.com, localhost
Force synchronous updates on mail queue?: No
Local networks: 127.0.0.0/8 [::ffff:127.0.0.0]/104 [::1]/128
Mailbox size limit: 0
Local address extension character: +
Internet protocols to use: all
Il terzo parametro, Root and postmaster mail recipient
, indica il nome dell'utente che riceverà le email indirizzate a root@ e postmaster@ (su tutti i domini attivi su questo server). È quindi necessario indicare qui il proprio utente di amministrazione.
Configurazione
È possibile modificare le opzioni di configurazione del server Postfix agendo direttamente sui file presenti nella directory /etc/postfix/. Un'alternativa (più sicura) a questo approccio consiste nell'utilizzo del comando postconf. Le operazioni che seguono fanno tutte uso di tale comando per la modifica della configurazione del server.
Formato della Cella
Un importante passo nella configurazione del server Postfix è la scelta del formato di memorizzazione delle caselle di posta. Postfix supporta due formati: Mbox e Maildir. Maggiori dettagli sulle differenze tra i due formati sono reperibili in un apposito approfondimento disponibile su HTML.it.
Per configurare Postfix affinché utilizzi Maildir, è sufficiente utilizzare il comando postconf
, come mostrato nell'esempio di seguito:
# postconf -e 'home_mailbox = Maildir/'
Si consiglia inoltre di disattivare Mbox, con il comando:
# postconf -e 'mailbox_command ='
Ogni utente del sistema disporrà così di una directory "Maildir", posta all'interno della propria home directory. Ad esempio, i messaggi indirizzati all'utente "user1" saranno archiviati in /home/user1/Maildir.
Alias
Postfix permette di definire degli indirizzi virtuali o alias, inoltrando automaticamente i messaggi ad essi destinati ad uno o più utenti di sistema.
Ciò permette, ad esempio, di creare indirizzi di posta come vendite@esempio.com i cui messaggi verranno poi inoltrati agli utenti designati.
La configurazione degli alias avviene mediante un semplice file di testo, detto anche virtual alias map. Ogni riga del file è una regola di inoltro, composta da un indirizzo di posta elettronica e da un nome utente.
Per impostazione predefinita, la virtual alias map si trova al percorso /etc/postfix/virtual. Per modificarne il contenuto, è sufficiente usare un editor di testo (ad esempio nano
):
# nano /etc/postfix/virtual
Per creare l'alias vendite, come nell'esempio di cui sopra, basterà aggiungere le righe:
vendite@esempio.com user1
vendite@esempio.com user2
Quindi salvare il file in nano
, ed applicare le modifiche con il comando postmap
:
# postmap /etc/postfix/virtual
Infine, riavviamo il server Postfix, con il comando:
# systemctl restart postfix
Configurazione del firewall
Nel caso in cui sia attivo un firewall sulla macchina, è necessario configurarlo per permettere a Postfix di accettare connessioni in ingresso. In ambiente Ubuntu, è disponibile il comando ufw
, che contiene alcune regole predefinite per i servizi più comuni. Per abilitare il traffico in ingresso per Postfix è sufficiente digitare il comando:
# ufw allow Postfix