Installazione e configurazione di un server SMTP con POSTFIX
1. Introduzione
Puo' capitare, per qualunque motivo, di voler configurare la propria macchina per fare da server di posta. E si puo' volerlo fare anche senza nessun motivo particolare, cosi' solo per imparare qualcosa di nuovo!!! Grazie alla gigantesca comunita' linuxiana che e' reperibile su Internet ho raccolto una marea di informazioni che ho deciso di raccogliere in una guida organizzata e organica che ho pensato di postare su questo sito, visto che Mandriva e' la distribuzione che utilizzo e che, grazie appunto a Mandrivaitalia.org sono riuscito ad utilizzare con successo.
Credo comunque che con qualche piccolo aggiornamento la procedura di configurazione di postfix sia la stessa per tutte le distros.
Il sito ufficiale di postfix e' questo in cui trovate tutto quello che vi puo' servire e che non trovate qui (sorgenti, howtos, FAQ e quant'altro!).
Infine sottolineo questa guida e' scritta da un newbye per i newbyes come me, per cui i guru mi perdonino le necessarie imperfezioni!!! Detto questo possiamo partire!
2. Prerequisiti
In questa guida do per scontati i seguenti prerequisiti:
- Installazione e configurazione del server Apache;
- Installazione e configurazione di PHP;
- Installazione e configurazione di MySQL;
- Configurazione di urpmi per il download dei pacchetti con le fonti necessarie;
3. Installazione di tutto il necessario
I pacchetti necessari sono i seguenti:
- postfix
- postfixadmin
- postfix-mysql
Lasciate risolvere a urpmi le dipendenze e godetevi il caffe'! Dopo pochi minuti sarete pronti a partire.
4. Configurazione principale di postfix
Senza perderci troppo in fronzoli descrivero' brevemente le voci principali del file di configurazione di postfix. E' la configurazione minima con la quale sono riuscito a far funzionare tutto nella mia macchina, per cui non andro' oltre. Il file di configurazione in oggetto e' /etc/postfix/main.cf il quale contiene gia' alcuni valori che modificheremo e ai quali aggiungeremo alcune voci necessarie a far funzionare il tutto.
Nota: la modifica del file /etc/postfix/main.cf richiede i privilegi di amministratore.
Righe da aggiungere al file /etc/postfix/main.cf
La voce inet_interfaces permette di specificare l'interfaccia di rete su cui il sistema riceve la posta. Puo' anche essere specificato un indirizzo IP oppure "all" per indicare tutte le interfacce presenti nel sistema
inet_interfaces = localhost
Il parametro mynetwork_style determina la rete autorizzata a sfruttare postfix sulla vostra macchina e puo' assumere i valori subnet, con il quale si autorizzano tutti le macchine appartenenti alla stessa sottorete della macchina server, class, con il quale si autorizzano, invece tutte le macchine appartenenti alla stessa classe della macchina server, e host[/b
] con il quale si autorizza solo la macchina locale. [b]subnet e' il valore di default.
mynetworks_style = subnet
Con il parametro mynetworks si puo' specifica meglio la lista dei client SMTP autorizzati a consegnare la posta attraverso postfix. Si puo' indicare come valore un indirizzo IP. Se non e' specificato saranno considerati attendibili tutti i client appartenenti alla rete specificata nel parametro mynetwork_style.
mynetworks = XXX.XXX.XXX.XXX
Il parametro myhostname specifica il nome della macchina che fara' da mail server. E' un parametro molto importante e il suo valore viene usato come valore di default per molti altri parametri. Ovviamente metterete il valore che preferite al posto di quello indicato.
myhostname = mail.mioserver.it
Le seguenti due righe riguardano gli alias di posta elettronica del sistema e puntano a due files della medesima directory del file main.cf. Ci occuperemo in seguito della loro configurazione.
alias_maps = hash:/etc/postfix/aliases alias_database = hash:/etc/postfix/aliases
Il parametro mydestination permette di specificare la lista dei domini per i quali la macchina si considera la destinazione finale dei messaggi. Si puo' settarla come segue (il parametro $mydomain, se non diversamente specificato, ha lo stesso valore del parametro $myhostname meno la prma parte - nell'esempio mioserver.it)
mydestination = $myhostname, $mydomain
Il parametro relay_domains restringe la consegna della posta alle destinazioni specificate. I valori di seguito specificati permettono un corretto funzionamento del server in una rete locale e, volendo, di inviare posta dalla rete locale alla rete esterna.
relay_domains = $mydestination, $mydomain, localhost.$mydomain
La riga seguente va inserita se ci si connette per il tramite di un gateway/NAT o ci si trova dietro ad un proxy. Il parametro proxy_interfaces deve appunto assumere come valore l'indirizzo IP del gateway/NAT o del proxy.
proxy_interfaces = XXX.XXX.XXX.XXX
La riga seguente va inserita se si vuole inviare posta dalla LAN ad internet. Il parametro relayhost deve assumere come valore l'indirizzo di un server SMTP pubblico. Le righe che seguono sono necessarie qualora il server pubblico richieda l'autenticazione ed indicano anche i percorsi dei files che contengono i parametri necessari. Di questi file ci occuperemo in seguito (per l'ultimo parametro non deve essere specificato alcun valore)
Nota: Per poter ottenere l'atenticazione presso il server SMTP publico occorre installare il pacchetto libsasl e relative dipendenze:
relayhost = [stmp.server.isp]:porta
NB: e' necessario specificare la porta solo se diversa da 25
smtp_sasl_auth_enable = yes smtp_sasl_password_maps = hash:/etc/postfix/sasl_passwd smtp_sasl_security_options =
5. I file aliases e sasl_passwd
Come detto sopra il file [/b]/etc/postfix/aliases contiene gli alias di posta elettronica nel nostro sistema. Per il nostro scopo (che, ricordo, consiste nel mettere in funzione il tutto) basta editarlo con i privilegi di amministratore, cercare la riga:
root XXXXXXX
e sostituire XXXXXXX con il nome di un account esistente nel vostro sistema. Cio' non fara' altro che ridirezionare tutta la posta nel vostro account mail utente.
Quindi, da console e con i privilegi di amministratore digitate:
# /usr/bin/newaliases
che ricreera' il file /etc/postfix/aliases.db
Fatto questo create (sempre con i privilegi di root) in /etc/postfix un nuovo file chiamandolo sasl_passwd. Editatelo inserendo le credenziali di accesso al server SMTP pubblico specificato al parametro relayhost in /etc/postfix/min.cf rispettando la seguente forma:
stmp.server.isp nomeutente:password
quindi digitate da console (sempre con i privilegi di root) i seguenti comandi:
# chmod 600 /etc/postfix/sasl_passwd # postmap /etc/postfix/sasl_passwd
che servono, rispettivamente, a modificare i diritti sul file evitando che altri leggano le vostre credenziali di accesso e a creare il file sasl_passwd.db.
6. Avvio (o riavvio) di postfix
Concluse le suddette operazioni ci bastera' avviare (o riavviare) postfix per avere il nostro bel server di posta personale da utilizzare nella nostra LAN e per l'esterno. I comandi sono:
# service postfix start
per lanciare postfix oppure:
# service postfix reload
per il suo riavvio.
7. Amministrare postfix con postfixadmin
Coming soon...
8. Conclusioni
Spero che tale guida possa tornare utile a quanti hanno voglia o necessita' di imparare qualcosa di nuovo.
Spero soprattutto di non aver scritto cose errate. Nel qual caso ringrazio gia' da ora mi segnalera' gli errori aiutandomi a migliorare la guida con correzioni ed integrazioni. Ciao e grazie.
Commenti
Inviato da kio341 il Mer, 10/01/2007 - 15:27.
per qualcosa di più ampio
per qualcosa di più ampio guardate qui
http://www.fedoraserver.org/index.php?option=com_content&task=view&id=71&Itemid=38
:idea:
Inviato da Moreno il Mer, 10/01/2007 - 17:03.
Re: per qualcosa di più ampio
Ciao
Interessante specialmente la parte relativa a vm-pop3d.
Fortunatamente per Mandriva è gia bello impacchettato per cui basta urpmi vm-pop3d.
Ciao Ciao Moreno
Addio, e grazie per tutto il pesce.
Avatar by moonlight-dream.
Inviato da johnthejocker il Gio, 11/01/2007 - 11:27.
Re: per qualcosa di più ampio
Grazie kio, è sempre bello, per chi si approccia per la prima volta con certe cose, trovare degli aiuti e degli approfondimenti così validi!
Ciao a tutti!
Desktop: HP m9180.it - Mandriva 2010.1 - Windows Vista HP - e altro... XD
Portatile: Packard Bell W3420 - Mandriva 2010.1 Cooker - Windows XP HE
PC Server Casalingo: Mandriva 2008