Potenziare qmail con vpopmail

di Marco Biagiotti

Come potenziare il server di posta qmail con vpopmail che consente l'impostazione di molteplici domini di posta virtuali su di uno stesso server

Potenziare qmail con vpopmail

[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 prova@dominio.com
Please enter password for prova@dominio.com:
enter password again:

A questo punto esistono due mailbox chiamate "postmaster@dominio.com" e "prova@dominio.com"; 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.

> Discutine sul forum Linux <


ALTRE RISORSE:

- OpenSource
- Linux Zone


AUTORE DEL TESTO
Marco Biagiotti
OpenSource

Pubblicato il: 16/03/2005