Un mailserver con Postfix, dall'installazione alla configurazione
Installazione di Postfix e relativo supporto MySQL
Installazione di Postfix e relativo supporto MySQL
Per installare Postfix con relativo supporto agli utenti virtuali su MySQL è sufficiente eseguire
che scaricherà, installerà e configurerà i pacchetti necessari al funzionamento.
Pensiamo ora alla configurazione del Mail Transfer Agent.
>>Configurazione Postfix
Modifichiamo il file main.cf, presente nella directory /etc/postfix nei seguenti parametri:
Cancelliamo ora le righe myorigin e relayhost
Aggiungiamo, sempre al medesimo file, queste direttive:
virtual_alias_maps = mysql:/etc/postfix/mysql_virtual_alias_maps.cf
virtual_gid_maps = static:GID
virtual_mailbox_base = /usr/local/virtual
virtual_mailbox_domains = mysql:/etc/postfix/mysql_virtual_domains_maps.cf
virtual_mailbox_limit = 51200000
virtual_mailbox_maps = mysql:/etc/postfix/mysql_virtual_mailbox_maps.cf
virtual_minimum_uid = UID
virtual_transport = virtual
virtual_uid_maps = static:UID
virtual_create_maildirsize = yes
virtual_mailbox_extended = yes
virtual_mailbox_limit_maps = mysql:/etc/postfix/mysql_virtual_mailbox_limit_map$virtual_mailbox_limit_override = yes
virtual_maildir_limit_message = Sorry, the user's maildir has overdrawn his dis$virtual_overquota_bounce = yes
Modifichiamo i parametri UID e GID, con i rispettivi valori che si ottengono eseguendo il comando:
e salviamo il file.
Sempre nella directory /etc/postfix creiamo i seguenti file:
mysql_virtual_alias_maps.cf;
mysql_virtual_domains_maps.cf;
mysql_virtual_mailbox_maps.cf;
mysql_virtual_mailbox_limit_maps.cf;
mysql_relay_domains_maps.cf.
Di seguito il contenuto di ognuno, da personalizzare per quanto riguarda la password che assegneremo all’utente MySQL chiamato postfix.
mysql_virtual_alias_map.cf
user = postfix
password = PASSWORD
hosts = 127.0.0.1
dbname = postfix
table = alias
select_field = goto
where_field = address
mysql_virtual_domains_maps.cf
user = postfix
password = PASSWORD
hosts = 127.0.0.1
dbname = postfix
table = domain
select_field = description
where_field = domain
mysql_virtual_mailbox_maps.cf
user = postfix
password = PASSWORD
hosts = 127.0.0.1
dbname = postfix
table = mailbox
select_field = maildir
where_field = username
mysql_virtual_mailbox_limits_maps.cf
user = postfix
password = PASSWORD
hosts = 127.0.0.1
dbname = postfix
table = mailbox
select_field = quota
where_field = username
mysql_relay_domains_maps.cf
user = postfix
password = PASSWORD
hosts = 127.0.0.1
dbname = postfix
table = domain
select_field = domain
where_field = domain
additional_conditions = and backupmx = '1'
In caso non aveste usato copia e incolla o non siete sicuri di aver indicato i percorsi corretti, è bene eseguire
che vi indicherà eventuali errori commessi.
Riavviate quindi il demone con
Creiamo e configuriamo adesso la directory che ospiterà le caselle:
mkdir /usr/local/virtual
chmod -R 771 /usr/local/virtual
chown -R postfix /usr/local/virtual
chgrp -R postfix /usr/local/virtual
>>ACCORGIMENTO MySQL:
Postfix nella configurazione usuale gira dentro una « jail », cioé in un sottosistema dal quale non è possibile raggiungere direttamente le risorse del sistema principale.
Non potrà quindi accedere al socket di MySQL, quindi se non avete configurato quest’ultimo per le connessioni TCP, dovete modificare il file /etc/mysql/my.cnf inserendo/decommentando la direttiva
bind-address = 127.0.0.1
e quindi procedendo al riavvio del server database con
/etc/init.d/mysql restart


