Un server di posta con qmail su FC6 (parte 5)

Nel corso di questo articolo, procederemo con l’installazione del software vpopmail. Si tratta in breve del pacchetto che ci consente di ottenere, tramite qmail, la gestione di più domini virtuali di posta elettronica, rendendo gli accounts di posta elettronica indipendenti dagli accounts di sistema presenti nel nostro server Linux.

Livello: medio/avanzato

Technorati Tags: , , , , , , , , , , , , , , ,

Tramite vpopmail, è possibile creare illimitati accounts e illimitati domini, pur facendo in modo che il sistema operativo si riferisca ad essi tramite un solo utente di sistema (che andremo a creare). Partiamo proprio da qui:

groupadd -g 89 vchkpw
useradd -g vchkpw -u 89 -d /home/vpopmail vpopmail

dopo di che, scarichiamo e scompattiamo il pacchetto di vpopmail:

cd /usr/src/pacchetti/tar/
wget http://kent.dl.sourceforge.net/sourceforge/vpopmail/vpopmail-5.4.17.tar.gz
cd ..
tar xzvf tar/vpopmail-5.4.17.tar.gz
cd vpopmail-5.4.17/

Prima di iniziare l’installazione, consiglio di aumentare la dimensione massima che possono avere le password degli utenti che accederanno al sistema di posta. Per far ciò, bisogna modificare l’istruzione define MAX_PW_CLEAR_PASSWD presente nel file vpopmail.h:

#define MAX_PW_CLEAR_PASSWD 40

Nell’esempio, io ho definito la lunghezza massima a 40 caratteri, ma voi siete liberi di scegliere la dimensione massima che più vi convince.

Configuriamo, a questo punto, il server MySQL, che dovrà occuparsi di gestire gli accounts della posta elettronica. I vantaggi nell’utilizzo di un DBMS relazionale, piuttosto che un file di sistema sono diversi, primo tra tutti ritengo la possibilità di effettuare query SQL, a fini statistici e di monitoraggio, oppure per raggruppare gli utenti in base a ruoli, ecc.

Gli svantaggi… Credo che l’unico svantaggio ci sia per chi non conosce il linguaggio SQL. Ma in tal caso, questo tutorial vi guida passo passo, per cui non ci dovrebbero essere problemi ad utilizzare ugualmente MySQL. In ogni caso, comunque, consiglio di imparare l’SQL come se fosse una seconda lingua, perché qualsiasi cosa si fa con il computer, prima o poi, si ha a che fare anche con esso. ;-)

Creiamo l’utente MySQL con cui vpopmail accederà al database. Da shell, digitiamo:

mysql -u root -p

MySQL mostrerà un prompt, nel quale digitiamo:

CREATE USER utente_vpopmail IDENTIFIED BY ‘password’;

Fatto ciò, configuriamo le impostazioni per la la connessione al DB da parte di vpopmail

mkdir ~vpopmail/etc
chown vpopmail.vchkpw ~vpopmail/etc
echo “localhost|0|utente_vpopmail|password|vpopmail” > ~vpopmail/etc/vpopmail.mysql
chown vpopmail.vchkpw ~vpopmail/etc/vpopmail.mysql
chmod 640 ~vpopmail/etc/vpopmail.mysql

Attribuiamo i permessi all’utente_vpopmail e creiamo il DB:

mysql -u root -p

CREATE DATABASE vpopmail;
GRANT select,insert,update,delete,create,drop ON vpopmail.* TO utente_vpopmail@localhost IDENTIFIED BY ‘prokaccia.123′;
QUIT;

A questo punto abbiamo predisposto l’accesso al DB da parte di vpopmail e creato il DB dove memorizzare la struttura delle tabelle che vpopmail dovrà gestire.

Cosa manca? Beh, magari, se compiliamo….. ;-)

./configure –enable-roaming-users \
            –enable-learn-passwords \
            –enable-logging=v \
            –enable-clear-passwd \
            –enable-ip-alias-domains \
            –disable-passwd \
            –enable-domain-quotas \
            –enable-auth-module=mysql \
            –enable-auth-logging \
            –enable-sql-logging \
            –enable-valias \
            –disable-mysql-limits \
            –disable-many-domains

make
make install-strip

Dunque, per una descrizione completa delle diverse opzioni settate nel comando configure sarebbe il caso di consultare la documentazione di vpopmail. Comunque, cercherò di descrivere per lo meno le principali opzioni che ho utilizzato io:

  • –enable-logging=v            abilita il logging dettagliato
  • –enable-clear-passwd     memorizza nel DB anche le passwords in chiaro (sebbene questa cosa non sia proprio bella, può essere utile, nel caso in cui sia necessario, successivamente all’installazione, effettuare operazioni di trasferimento degli accounts da un server ad un altro. In ogni caso, le password in chiaro possono essere essere sempre rimosse in seguito, perché tanto vpopmail non le utilizza. Esso accede alle password criptate)
  • –enable-domain-quotas  abilita la gestione delle quote, ovvero la possibilità di configurare in seguito una dimensione massima delle caselle di posta
  • –enable-auth-module=mysql     abilita il supporto di mysql, per l’autenticazione degli utenti

Nel caso in cui si vogliano impostare i limiti (mail quota):
vi ~vpopmail/etc/vlimits.default

# in particular set the default mailbox size to be something reasonable eg 20Mb
default_quota 20971520

inoltre, per impostare il dominio di default per vpopmail

echo “miodominio” > /home/vpopmail/etc/defaultdomain

Se si vuole impostare, ancora, il messaggio da mandare agli utenti quando sono al 90% della quota massima consentita:

vi quotawarn.msg

# From: SomeCompany Postmaster <postmaster@yourdomain.com>
# Reply-To: postmaster@yourdomain.com
# To: SomeCompany User:;
# Subject: Mail quota warning
# Mime-Version: 1.0
# Content-Type: text/plain; charset=iso-8859-1
# Content-Transfer-Encoding: 7bit
#
# Your mailbox on the server is now more than 90% full.
#
# So that you can continue to receive mail,
# you need to remove some messages from your mailbox.
#
# If you require assistance with this,
# please contact our support department :
#
#   email : support@yourdomain.com
#   Tel   : xx xxxx xxxx

cp quotawarn.msg /home/vpopmail/domains/.quotawarn.msg

Se, ancora, si vuole impostare un messaggio da inviare agli utenti che hanno superato il limite di spazio consentito: 

echo “Message rejected. Not enough storage space in user’s mailbox to accept message.” > /home/vpopmail/domains/.over-quota.msg

Creiamo il dominio (e l’utente “postmaster”, amministratore dello stesso con relativa password)

/home/vpopmail/bin/vadddomain <miodominio> <postmaster password>

A questo punto il server dovrebbe già funzionare. Possiamo verificarlo riavviando con qmailctl restart e provando ad inviare e ricevere le email, utilizzando il server appena configurato.

Per ora mi fermo un attimo, perché non sembra, ma installare qmail non è proprio una passeggiatina. Tuttavia, è un prodotto molto valido, per cui vi garantisco che il gioco vale la candela! Appena ho un minuto, cerco di inviare al blog anche le restanti parti del tutorial, dove si affrontano gli argomenti più interessanti quali la gestione del sistema antivirus e antiSPAM.

Non preoccupatevi, arriveranno gli altri articoli nel giro di 3-4 giorni massimo!

Ora devo scappare, che devo far dei servizi! Ciauzzz!!

parte 4

parte 6

 

Posted on Agosto 10, 2007 by Roberto Travagliante (HoneyFT)

Filed under Mail Server | |



2 Responses to “Un server di posta con qmail su FC6 (parte 5)”

  1. Space 4 Tutorial » 2007 » Agosto » 17 Says:

    […] Un server di posta con qmail su FC6 (parte 5) […]

  2. Francesco Vincenti Says:

    Buonasera,
    ho letto il suo articolo che ho trovato veramente interessante e di semplice comprensione. Vorrei però approfondire la mia conoscenza di vpopmail, il suo utilizzo la sua configurazione. Potrebbe suggerirmi o altri suoi articoli inerenti (magari) oppure qualche sito che possa fare al caso mio?

    Grazie e di nuovo complimenti

    Saluti
    Francesco Vincenti

Leave a Reply