<- SL: Apache - Copertina - SL: JFS -> |
Sistemi Liberi
L'articolo...La posta elettronica è diventata, per le ditte come per il navigatore occasionale, un servizio imprescindibile. Questo articolo vuole essere il primo di una serie dedicata ai mail server, ed in particolare a Postfix, a partire della configurazione dei servizi basilari smtp e pop3, fino ad arrivare a qualcosa di un po' più avanzato, ad esempio web-mail e mailing list.In questa prima puntata vedremo l'installazione e la configurazione di Postfix come SMTP server; nel prossimo numero ci focalizzeremo sulla creazione degli utenti, e sulla configurazione del servizio POP3; vedremo anche come utilizzare Postfix in unione a Mojo, un mailing list manager completamente gestito via web. |
adduser
o, se preferiamo, il buon vecchio linuxconf (nelle ultime versioni, esce addirittura con un modulo appositamente creato per la configurazione di Postfix!).
rpm -e sendmail --nodeps |
grep mail /etc/passwd
), quindi procediamo alla creazione dei 2 nuovi account, ad esempio "postfix" e "mail":adduser postfix -s /bin/false -d /dev/null passwd -l postfix adduser mail -s /bin/false -d /dev/null passwd -l mail |
./make |
./make install |
mkdir /usr/share/doc/postfix mv /etc/postfix/sample* /usr/share/doc/postfix/ mv /etc/postfix/LIC* /usr/share/doc/postfix/ mv /etc/postfix/*.default /usr/share/doc/postfix/ mv /etc/aliases /etc/postfix |
postmaster: tom abuse: tom info: tom postfix: root root: tom |
/usr/bin/newaliases
per rendere effettive le modifiche (vedrete che verrà creato un file aliases.db, sul cui significato torneremo nel prossimo articolo).alias_maps = hash:/etc/postfix/aliases alias_database = hash:/etc/postfix/aliases |
myhostname = mail.plutojournal.it mydestination = $myhostname, $mydomain |
mynetworks = 192.168.1.0/24, 1.2.3.4 |
postfix check |
postfix start |
cat /var/log/maillog |
LINUX2
" (dovete prima renderlo eseguibile, di default non lo è).
In pratica, lo script non fa altro che creare in /var/spool/postfix le directory etc, lib e usr;
all'interno di esse, copia i file indispensabili all'esecuzione dei processi e
quelli relativi alle impostazioni di sistema (localtime, resolve.conf, ecc). Fatto questo, lo script fa ricaricare a Postfix il file di configurazione,
e il gioco è fatto! Va solo ricordato che d'ora in poi, ogni modifica a uno dei file copiati dallo script genererà un warning:
ecco ad esempio il messaggio che trovo in /var/log/maillog, se avvio postfix dopo aver aggiunto un utente:/usr/sbin/postfix
. Questo eseguibile
ci permette di avviare ed arrestare il programma, ma molto probabilmente noi vogliamo che, all'avvio del sistema, il nostro nuovo demone
della posta sia avviato automaticamente! Per fare questo, basterebbe inserire il comando postfix start
negli script di avvio, ma la
ritengo una soluzione veramente poco elegante chkconfig
; vediamone uno di esempio:#!/bin/sh # # Script per l'avvio automatico di Postfix tramite ntsysv # # chkconfig: 2345 11 92 # # description: Script per l'avvio automatico di Postfix tramite ntsysv # by Tommaso Di Donato (dido@sicurweb.com) # # # Source . /etc/init.d/functions start() { action $"Starting postfix..." postfix start RETVAL=$? [ $RETVAL -eq 0 ] && touch /var/lock/subsys/postfix return $RETVAL } stop() { if [ -f /var/lock/subsys/postfix ] then action $"Stopping postfix..." postfix stop RETVAL=$? [ $RETVAL -eq 0 ] && rm -f /var/lock/subsys/postfix return $RETVAL else echo Postfix is not running exit 0 fi } reload() { if [ ! -f /var/lock/subsys/postfix ] then echo Cannot reload config: postfix is not runnig... exit 0 fi action $"Reloading postfix config..." postfix reload RETVAL=$? [ $RETVAL -eq 0 ] return $RETVAL } check() { postfix check && \ success $"Checking configuration..." || \ failure $"Checking configuration..." } case "$1" in start) start ;; stop) stop ;; reload) reload ;; check) check ;; *) echo $"Usage: $0 {start|stop|reload|check}" exit 1 esac exit 0 |
|
ntsysv
dig
, richedendo esplicitamente solo il record MX:# dig pluto.linux.it mx +noadditional +noauthority +nocomments +nocmd ;; global options: printcmd ;pluto.linux.it. IN MX pluto.linux.it. 77156 IN MX 5 mail.pluto.linux.it. ;; Query time: 90 msec ;; SERVER: 151.1.1.1#53(151.1.1.1) ;; WHEN: Mon Dec 31 16:04:56 2001 ;; MSG SIZE rcvd: 197 |
dig
ci restituisce il valore 5 mail.pluto.linux.it: esso è proprio il server a cui il nostro Postfix
invierà il messaggio per l'utente pinco.pallino. Il numero "5" indica "l'importanza" del server: è infatti possibile avere più server
di posta; quello col numero più basso è il principale, gli altri sono considerati "di backup". In caso un server principale sia irraggiungibile,
tutte le mail vengono inviate al primo server di backup, che si occuperà di riconsegnarle al primario non appena questo risulti nuovamente in linea.
Vedremo in un prossimo articolo come si configura un server di backup.L'autoreTommaso Di Donato è sistemista Linux e Microsoft dal 1998; è stato dba Oracle presso la PA, nell'ambito del progetto di informatizzazione dei Centri Protesi INAIL in Italia.Attualmente lavora presso un portale Internet, in qualità di sistemista e dba; si occupa inoltre di sicurezza informatica e TLC per un importante gruppo industriale italiano. |
<- SL: Apache - Copertina - SL: JFS -> |