Vmailmgr (Virtual Mail Manager) è una suite di programmi utilizzabili per gestire molteplici domini virtuali su un unico mail server. E' strettamente correlato a qmail ed è un prerequisito necessario per tool di amministrazione di posta via web come Omail Admin.
Prevede 3 diversi metodi di gestione delle caselle di posta virtuale, si appoggia a database CDB per la gestione delle password, fornisce una serie di comandi per la gestione dei domini virtuali e programmi CGI propri e una librearia php per la gestione via web.
Al momento la versione ufficiale è la 0.96.9 che sembra inattiva ormai da anni (è stata rilasciata nel Settembre 2000), in linea con qmail, di cui condivide una certa ... stabilità.
INSTALLAZIONE
Sul sito ufficiale sono presenti dei pacchetti rpm e i sorgenti.
La compilazione può risultare particolarmente insidiosa con gcc3 (in pratica, non funziona senza adeguata patch).
- Scaricare e scompattare i sorgenti:
wget http://www.vmailmgr.org/current/vmailmgr-0.96.9.tar.gz
tar -zxvf vmailmgr-0.96.9.tar.gz
cd vmailmgr-0.96.9
- Scaricare e applicare una patch apposita per compilarlo con gcc3 (provare prima a compilarlo, se non ci sono errori questo passo non è necessario).
Fonte: Megaz Qmail HowTo (uno dei migliori in circolazione):
wget http://megaz.arbuz.com/download/vmailmgr-0.96.9-gcc32.patch
patch -p1 < vmailmgr-0.96.9-gcc32.patch
- Procedere con una normale compilazione:
./configure
make
make install
Notare che per la preparazione dei docs è necessario avere i linuxdoc-tools e texi2html (su Debian installarli con: apt-get install linuxdoc-tools ; apt-get install texi2html
, su altre distro installare i relativi pacchetti)
CONFIGURAZIONE
Per la configurazione si procede nella creazione di una directory dedicata:
mkdir /etc/vmailmgr
chmod 755 /etc/vmailmgr
cd /etc/vmailmgr
ln -s /etc/vmailmgr /usr/local/etc/vmailmgr
e la definizione dei vari file di configurazione (le impostazioni date vanno bene per un sistema basato su Maildir dove la /home directory contiene una sottodirectory per ogni dominio e un utente di sistema è associato ad un singolo dominio):
echo ./Maildir/ > default-maildir
echo maildir > maildir-arg-str
echo passwd > password-file
echo /var/service/vmailmgrd/socket > socket-file
echo users > user-dir
E inoltre possibile customizzare il file /etc/vmailmgr/vdeliver-predeliver
per gestire disk quota (basate sull'intero dominio o singoli utenti) o autoresponder:
Per diskquota sui singoli utenti, scrivere in /etc/vmailmgr/vdeliver-predeliver
:
#!/bin/sh
/usr/bin/vcheckquota
Rendere tutti i file creati eseguibili:
chmod 755 /etc/vmailmgr/*
INSTALLAZIONE DI UN AUTORESPONDER
Per la gestione di autoresponder compatibile con OMail-admin scrivere in /etc/vmailmgr/vdeliver-predeliver
:
#!/bin/sh
#echo $MAILDIR
#exit 0
W=`echo $MAILDIR |sed 's/[.]//'`
#echo $HOME$W
if test -z $W
then
exit 0
fi
if test -s $HOME$W/autoresponse/message.txt
then
M=`echo $HOME$W/autoresponse/message.txt`
D=`echo $HOME$W/autoresponse`
qmail-autoresponder $M $D
echo AUTOREPLY
fi
Notare che il programma qmail-autoresponder va creato e compilato separatamente, fra i vari disponibili per qmail, si consiglia quello realizzato dagli stessi autori di VmailMgr: http://untroubled.org/qmail-autoresponder/
INTEGRAZIONE VMAILMGR CON QMAIL-POP3D
Per gestire l'autenticazione degli utenti che accedono al servizio pop3 quando viene gestito da qmail-pop3d va modificato lo script supervise di avvio di qmail-pop3d. Editare /service/qmail-pop3d/supervise/run (o cercare il file se non esiste il link simbolico /service/qmail-pop3d che dovrebbe puntare alla directory con i supervise scripts di qmail-pop3d) e assicurarsi che sia inserito checkvpw come comando per la verifica delle credenziali di autenticazione:
#!/bin/sh
exec /usr/local/bin/softlimit -m 2000000 \
/usr/local/bin/tcpserver -v -R -H -l 0 0 110 /var/qmail/bin/qmail-popup \
mail.dominio.it /usr/local/bin/checkvpw /var/qmail/bin/qmail-pop3d Maildir 2>&1
Dove:
mail.dominio.it è il nome completo del proprio server di posta
/usr/local/bin/checkvpw è il path ompleto dove si trova checkvpw (questo è il path di default dove viene messo dopo la compilazione di vmailmgr)
INTEGRAZIONE VMAILMGR CON COURIER-IMAPD
Courier è un server imapd spesso usato con qmail, in quanto supporta il formato maildir introdotto con qmail (e raccomandabile per molti casi).
Courier va configurato per gestire l'autenticazione tramite vmailmrg, per farlo editare il suo file di configurazione (di solito si trova in /etc/courier/imapd
, se installato tramite pacchetto, o /usr/lib/courier-imap/etc/imap
se compilato a mano) e nella riga che contiene la stringa:
AUTHMODULES="authdaemon"
mettere:
AUTHMODULES="authvmailmgr"
.
Notare che in fase di installazione da sorgenti vmailmgr scrive il modulo di autenticazione per courier in /usr/local/lib/courier-imap/libexec/authlib/authvmailmgr
. Se si installa courier tramite pacchetto è probabile che questa directory non venga considerata, creare adeguato link simbolico, per esempio (su Debian con courier installato via apt):
ln -s /usr/lib/courier/libexec/authlib/authvmailmgr /usr/lib/courier/authlib/
CREAZIONE SUPERVISE SCRIPT PER LANCIARE VMAILMGR TRAMITE DAEMONTOOLS
Avendo i daemontools a diswposizione è comodo usarli per ogni servizio possibile. La procedura è la solita:
- Creare le directory che servono (la principale e la log) per i due servizi correlati a vmailmgr (le mettiamo in /var/qmail/supervise per comodotà e coerenza):
mkdir -p /var/qmail/supervise/vmailmgr/log
mkdir -p /var/qmail/supervise/vmailmgr-tcp/log
- Creare il file /var/qmail/supervise/vmailmgr/run
:
#!/bin/sh
umask 0
if [ -s /etc/vmailmgr/socket-file ]; then
socket_file="`head -1 /etc/vmailmgr/socket-file`"
else
socket_file=/tmp/.vmailmgrd
fi
exec unixserver -v -- $socket_file vmailmgrd -D -V 2>&1
- Creare il file /var/qmail/supervise/vmailmgr/log/run
per gestire il logging:
#!/bin/sh
exec multilog t /var/log/vmailmgrd
- Analogamente per /var/qmail/supervise/vmailmgr-tcp/run
:
#!/bin/sh
exec 2>&1
exec tcpserver -D -H -R -v -l localhost -x /etc/tcpcontrol/vmailmgrd.cdb -- 0 322 \
/usr/sbin/vmailmgrd -D -V >&1
- E /var/qmail/supervise/vmailmgr-tcp/log/run
:
#!/bin/sh
exec multilog t /var/log/vmailmgrd-tcp
- Rendere eseguibili gli script:
chmod 755 /var/qmail/supervise/vmailmgr/run
chmod 755 /var/qmail/supervise/vmailmgr/log/run
chmod 755 /var/qmail/supervise/vmailmgr-tcp/run
chmod 755 /var/qmail/supervise/vmailmgr-tcp/log/run
- Per avviare il servizio e fare in modo che sia avviato al reboot basta avere un link in /service:
ln -s /var/qmail/supervise/vmailmgr /service/
ln -s /var/qmail/supervise/vmailmgr-tcp /service/
[.. TO BE COMPLETED ..]