Potenziare qmail con vpopmail
di Marco BiagiottiCome potenziare il server di posta qmail con vpopmail che consente l'impostazione di molteplici domini di posta virtuali su di uno stesso server
[Seconda parte dell'articolo: "qmail, un server di posta con la "q" minuscola"]
Vpopmail (www.inter7.com)
è un importante strumento che consente l'impostazione di molteplici
domini di posta virtuali su di uno stesso server.
Senza soffermarsi sulle interessanti caratteristiche di questa estensione di qmail
occorre osservare come nel caso proposto si sia utilizzata, per motivi di flessibilità
ed usabilità, la configurazione dei virtualdomain e delle relative mailbox
attraverso il database server MySQL.
Per procedere all'installazione di questa estensione per prima cosa occorre reperire i sorgenti e procedere alla decompressione:
# cp vpopmail-5.2.2.tar.gz /var/tmp/
# cd /var/tmp/
# tar xzvpf vpopmail-5.2.2.tar.gz
# cd vpopmail-5.2.2
Vpopmail, per funzionare correttamente necessita di utente e gruppo dedicati:
# chattr -i /etc/passwd
# chattr -i /etc/group
# chattr -i /etc/shadow
# chattr -i /etc/gshadow
# /usr/sbin/groupadd -g 89 vchkpw
# /usr/sbin/useradd -g vchkpw -u 89 vpopmail
# chattr +i /etc/passwd
# chattr +i /etc/group
# chattr +i /etc/shadow
# chattr +i /etc/gshadow
Poiché nella configurazione prevista in questo caso facciamo utilizzo di MySQL occorre creare il database dedicato:
# mysql -u root -p
Enter password:
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 2 to server version: 4.0.13
Type 'help;' or '\h' for help. Type '\c' to clear the buffer.
mysql> CREATE DATABASE vpopmail;
Query OK, 1 row affected (0.13 sec)
mysql> GRANT Select, Insert, Update, Delete, Index, Alter, Create, Drop
ON vpopmail.* TO 'vpopmail'@'localhost' IDENTIFIED BY 'password';
Query OK, 0 rows affected (0.12 sec)
mysql> quit
Bye
L'utente "vpopmail" per il servizio MySQL e la relativa password devono
essere inseriti nell'apposito file di configurazione "vmysql.h"; tale
modifica è piuttosto intuitiva:
/* Edit to match your set up */
#define MYSQL_UPDATE_SERVER "localhost"
#define MYSQL_UPDATE_USER "vpopmail"
#define MYSQL_UPDATE_PASSWD "password"
#define MYSQL_READ_SERVER "localhost"
#define MYSQL_READ_USER "vpopmail"
#define MYSQL_READ_PASSWD "password"
/* End of setup section*/
Un ulteriore elemento che potrebbe essere interessante, consiste nell'impostazione del limite percentuale della quota delle mailbox, raggiunto il quale viene inviato un messaggio di avviso; l'impostazione di tale limite può essere effettuata all'interno del file "vdelivermail.c" (a tale scopo potrebbe essere utile personalizzare il messaggio di avviso presente nel file "quotawarn.msg"):
#define QUOTA_WARN_PERCENT 90
A questo punto si può passare alla configurazione vera e propria del software attraverso il seguente comando:
# CFLAGS="-O3 -march=i686 -mcpu=i686 -funroll-loops -fomit-frame-pointer";
export CFLAGS
# ./configure \
--enable-roaming-users=y \
--enable-relay-clear-minute+
s=10 \
--enable-learn-passwords=y \
--enable-auth-logging=y \
--enable-mysql-logging=y \
--enable-clear-passwd=y \
--enable-logging=y,v \
--enable-mysql=y \
--enable-valias=y \
--enable-qmail-ext=y \
--enable-defaultquota= 10000000
Si consiglia di eseguire
# ./configure --help
per maggiori informazioni sulle opzioni abilitate.
E' sufficiente eseguire i comandi che seguono per procedere alla compilazione ed all'installazione :
# make
# make install-strip
Configurazione e utilizzo di vpopmail
Ora che "vpopmail" è stato installato, occorre configurarlo correttamente
attraverso questi semplici ed intuitivi comandi:
# echo "40 * * * * /home/vpopmail/bin/+
clearopensmtp 2>&1 > /dev/null" >> /etc/crontab
# cp quotawarn.msg /home/vpopmail/domains/.+
quotawarn.msg
Adesso il servizio di posta è veramente pronto e non resta che avviare
"qmail", verificare che i servizi siano correttamente attivati, e creare
qualche mailbox di prova per testarlo.
# qmailctl start
Starting qmail
# qmailctl stat
/service/qmail-send: up (pid 2681) 15 seconds
/service/qmail-send/log: up (pid 1156) 3331 seconds
/service/qmail-smtpd: up (pid 2685) 15 seconds
/service/qmail-smtpd/log: up (pid 1157) 3330 seconds
/service/qmail-pop3d: up (pid 1183) 3311 seconds
/service/qmail-pop3d/log: up (pid 1184) 3311 seconds
messages in queue: 0
messages in queue but not yet preprocessed: 0
Per testare il servizio si consiglia in primo luogo di creare un dominio a livello di DNS e creare il dominio di posta virtuale ed eventualmente qualche utente; i comandi che seguono servono a tale scopo:
# /home/vpopmail/bin/+
vadddomain dominio.com
Please enter password for postmaster:
enter password again:
# /home/vpopmail/bin/+
vadduser [email protected]
Please enter password for [email protected]:
enter password again:
A questo punto esistono due mailbox chiamate "[email protected]" e "[email protected]"; si consiglia di testarle con un normale client di posta.
Conclusioni
Farsi trascinare dalle "guerre di religione" che caratterizzano il mondo
del software non è mai produttivo ed affermare che qmail è meglio
di altri MTA (ad esempio sendmail, postfix o exim) sarebbe inutile.
Senza dubbio la cura degli aspetti di sicurezza, performance, affidabilità
e modularità fa di qmail un prodotto altamente professionale e garante
di futuri sonni tranquilli.
In particolare la stabilità e la longevità rendono quasi nulle le
operazioni di aggiornamento anche se, ad onor del vero, il ricorso alle varie
estensioni può comportare degli aggiornamenti più o meno frequenti.
Nonostante la licenza parzialmente restrittiva, la sua elevata e rapida diffusione
costituisce di per sé una garanzia di funzionamento e potenzialità.
Il presente articolo vuole essere un semplice punto di partenza per consentire
a chiunque ne sia interessato di realizzare e personalizzare (anche grazie al
ricorso alle centinaia di estensioni che vanno dalle webmail agli antivirus) un
completo server di posta.
ALTRE RISORSE:
- OpenSource
- Linux Zone