Installazione e configurazione di un server SMTP con POSTFIX

Mar, 09/01/2007 - 18:43

Installazione e configurazione di un server SMTP con POSTFIX

Inviato da johnthejocker 3 commenti

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.


In:



Commenti

Ritratto di kio341
#1

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:



Ritratto di Moreno
#2

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.



Ritratto di johnthejocker
#3

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