Postfix Tutorial · 3 min read · Sep 28, 2025

Utenti e Domini Virtuali Con Postfix, Courier e MySQL (Debian Etch)

Utenti e Domini Virtuali Con Postfix, Courier e MySQL (Debian Etch)

Versione 1.0
Autore: Falko Timme

Questo tutorial è Copyright (c) 2007 da Falko Timme. È derivato da un tutorial di Christoph Haas che puoi trovare su http://workaround.org. Sei libero di utilizzare questo tutorial sotto la licenza Creative Commons 2.5 o qualsiasi versione successiva.

Questo documento descrive come installare un server di posta basato su Postfix che utilizza utenti e domini virtuali, cioè utenti e domini che si trovano in un database MySQL. Dimostrerò anche l’installazione e la configurazione di Courier (Courier-POP3, Courier-IMAP), in modo che Courier possa autenticarsi contro lo stesso database MySQL utilizzato da Postfix.

Il server Postfix risultante è in grado di SMTP-AUTH e TLS e quota (la quota non è integrata in Postfix per impostazione predefinita, mostrerò come patchare il tuo Postfix in modo appropriato). Le password sono memorizzate in forma criptata nel database (la maggior parte dei documenti che ho trovato trattava password in chiaro, il che rappresenta un rischio per la sicurezza). Inoltre, questo tutorial copre l’installazione di Amavisd, SpamAssassin e ClamAV in modo che le email vengano scansionate per spam e virus.

Il vantaggio di una configurazione “virtuale” (utenti e domini virtuali in un database MySQL) è che è molto più performante rispetto a una configurazione basata su “veri” utenti di sistema. Con questa configurazione virtuale, il tuo server di posta può gestire migliaia di domini e utenti. Inoltre, è più facile da amministrare perché devi solo occuparti del database MySQL quando aggiungi nuovi utenti/domini o modifichi quelli esistenti. Niente più comandi postmap per creare file db, niente più ricariche di Postfix, ecc. Per l’amministrazione del database MySQL puoi utilizzare strumenti basati sul web come phpMyAdmin che verrà installato anche in questo howto. Il terzo vantaggio è che gli utenti hanno un indirizzo email come nome utente (anziché un nome utente + un indirizzo email), il che è più facile da comprendere e ricordare.

Questo howto è inteso come una guida pratica; non copre gli aspetti teorici. Questi sono trattati in molti altri documenti sul web.

Questo documento viene fornito senza alcuna garanzia di alcun tipo! Voglio dire che questo non è l’unico modo per impostare un tale sistema. Ci sono molti modi per raggiungere questo obiettivo, ma questo è il modo che seguo. Non fornisco alcuna garanzia che questo funzionerà per te!

1 Nota Preliminare

Questo tutorial è basato su Debian Etch, quindi dovresti impostare un’installazione di base di Debian Etch prima di continuare con questo tutorial. Il sistema dovrebbe avere un indirizzo IP statico. Uso 192.168.0.100 come il mio indirizzo IP in questo tutorial e server1.example.com come nome host.

2 Installa Postfix, Courier, Saslauthd, MySQL, phpMyAdmin

Per installare Postfix, Courier, Saslauthd, MySQL e phpMyAdmin, eseguiamo semplicemente

apt-get install postfix postfix-mysql postfix-doc mysql-client mysql-server courier-authdaemon courier-authlib-mysql courier-pop courier-pop-ssl courier-imap courier-imap-ssl postfix-tls libsasl2 libsasl2-modules libsasl2-modules-sql sasl2-bin libpam-mysql openssl phpmyadmin apache2 libapache2-mod-php5 php5 php5-mysql

Ti verranno poste alcune domande:

Crea directory per l’amministrazione basata sul web? <– No
Tipo generale di configurazione? <– Internet Site
Nome della posta? <– server1.example.com
Certificato SSL richiesto <– Ok

3 Applica La Patch Quota A Postfix

Dobbiamo ottenere i sorgenti di Postfix, patcharli con la patch quota, costruire nuovi pacchetti Postfix.deb e installare quei pacchetti .deb:

apt-get install build-essential dpkg-dev fakeroot debhelper libgdbm-dev libldap2-dev libpcre3-dev libssl-dev libsasl2-dev postgresql-dev po-debconf dpatch libdb4.3-dev libmysqlclient15-dev lsb-release libcdb-dev
cd /usr/src  
 apt-get source postfix

(Assicurati di utilizzare la versione corretta di Postfix nei comandi seguenti. Ho installato Postfix 2.3.8. Puoi scoprire la tua versione di Postfix eseguendo

postconf -d | grep mail_version

L’output dovrebbe apparire così:

server1:~# postconf -d | grep mail_version  
 mail_version = 2.3.8  
 milter_macro_v = $mail_name $mail_version

)

wget http://vda.sourceforge.net/VDA/postfix-2.3.8-vda.patch.gz  
 gunzip postfix-2.3.8-vda.patch.gz  
 cd postfix-2.3.8  
 patch -p1 < ../postfix-2.3.8-vda.patch  
 dpkg-buildpackage

Potresti vedere un avviso come questo alla fine del comando dpkg-buildpackage:

(WARNING: Failed to sign .dsc and .changes file)

Puoi ignorare questo messaggio.

Per installare il nostro nuovo pacchetto Postfix, eseguiamo

cd ..  
 dpkg -i postfix_2.3.8-2_i386.deb  
 dpkg -i postfix-mysql_2.3.8-2_i386.deb
Share: X/Twitter LinkedIn

Ricevi i nuovi post nella tua casella di posta.

Nessuno spam. Disiscriviti in qualsiasi momento.