1 487
contributi
(Copia da un vecchio documento di latex...da formattare) |
m (rimossa la formattazione di LaTex) |
||
Riga 1: | Riga 1: | ||
=Introduzione= | |||
In questo HowTo verr� Postfix-mysql, il pacchetto Debian che fornisce Postfix con il supporto per interfacciarsi con un database | In questo HowTo verr� Postfix-mysql, il pacchetto Debian che fornisce Postfix con il supporto per interfacciarsi con un database | ||
[http://www.mysql.com MySql]. | [http://www.mysql.com MySql]. | ||
Riga 5: | Riga 5: | ||
Questo permetter� di avere un controllo dinamico e flessibile sui domini e mailbox, astraendo il tutto dagli utenti di sistema. | Questo permetter� di avere un controllo dinamico e flessibile sui domini e mailbox, astraendo il tutto dagli utenti di sistema. | ||
=Installazione= | |||
I pacchetti necessari sono: | I pacchetti necessari sono: | ||
* '''postfix-mysql''': Il server di posta Postfix con il supporto per il database MySql; | * '''postfix-mysql''': Il server di posta Postfix con il supporto per il database MySql; | ||
Riga 13: | Riga 13: | ||
=Configurazione= | |||
La configurazione pu� essere divisa in tre parti: nella prima verr� configurato | La configurazione pu� essere divisa in tre parti: nella prima verr� configurato | ||
il Server MySql, creando le tabelle e gli utenti, nella seconda verr� | il Server MySql, creando le tabelle e gli utenti, nella seconda verr� | ||
Riga 20: | Riga 20: | ||
tool per la gestione di utenti e domini. | tool per la gestione di utenti e domini. | ||
==Mysql== | |||
La configurazione di MySql � semplice, ma richiede alcuni accorgimenti per quanto rigaurda la sicurezza: l'installazione di default, infatti, prevede un utente root senza password, cosa per niente sicura. | La configurazione di MySql � semplice, ma richiede alcuni accorgimenti per quanto rigaurda la sicurezza: l'installazione di default, infatti, prevede un utente root senza password, cosa per niente sicura. | ||
===Installazione=== | |||
L'installazione di MySql � semplice ed immediata: | L'installazione di MySql � semplice ed immediata: | ||
<pre> | <pre> | ||
Riga 30: | Riga 30: | ||
Il primo pacchetto � il server, mentre il secondo � il client, che verr� usato in seguito per interagire col server. | Il primo pacchetto � il server, mentre il secondo � il client, che verr� usato in seguito per interagire col server. | ||
===Configurazione=== | |||
'''Cambio di Password all'utente root''' Per cambiare la password di root, � sufficiente | '''Cambio di Password all'utente root''' Per cambiare la password di root, � sufficiente | ||
Riga 68: | Riga 68: | ||
Creazione delle Tabelle | ==Creazione delle Tabelle== | ||
La creazione delle tabelle richiede l'esecuzione delle seguenti query: | La creazione delle tabelle richiede l'esecuzione delle seguenti query: | ||
<pre> | <pre> | ||
# | # | ||
Riga 126: | Riga 127: | ||
Con la seguente query verr� inserito un primo utente ed un dominio (ovviamente fittizzi). | Con la seguente query verr� inserito un primo utente ed un dominio (ovviamente fittizzi). | ||
<pre> | <pre> | ||
USE postfix; | USE postfix; | ||
Riga 136: | Riga 138: | ||
Possibili problemi con MySql | ===Possibili problemi con MySql=== | ||
Potrebbe sorgere, in seguito, un problema di dialogo tra MySql e Postfix. La cosa � dovuta al fatto che Postfix gira in un ambiente chroot, quindi non ha possibilit� di interagire con MySql tramite il socket (come avviene di default). Un modo per ovviare a questo inconveniente � di modificare il file ''/etc/mysql/my.conf'' modificando la riga | Potrebbe sorgere, in seguito, un problema di dialogo tra MySql e Postfix. La cosa � dovuta al fatto che Postfix gira in un ambiente chroot, quindi non ha possibilit� di interagire con MySql tramite il socket (come avviene di default). Un modo per ovviare a questo inconveniente � di modificare il file ''/etc/mysql/my.conf'' modificando la riga | ||
Riga 150: | Riga 152: | ||
==Postfix== | |||
La configurazione di Postfix richiede la modifica del file principare di configurazione | La configurazione di Postfix richiede la modifica del file principare di configurazione '''/etc/postfix/main.cf''' nel modo seguente: | ||
===main.cf=== | |||
<pre> | <pre> | ||
virtual_alias_maps = mysql:/usr/local/etc/postfix/mysql_virtual_alias_maps.cf | virtual_alias_maps = mysql:/usr/local/etc/postfix/mysql_virtual_alias_maps.cf | ||
Riga 193: | Riga 195: | ||
A questo punto rimane solo da scrivere i file che verranno usati dal backend di MySql per l'autenticazione. | A questo punto rimane solo da scrivere i file che verranno usati dal backend di MySql per l'autenticazione. | ||
Come � possibile vedere, i parametri sono molto intuitivi, perci� verr� commentato solo il primo file. | Come � possibile vedere, i parametri sono molto intuitivi, perci� verr� commentato solo il primo file. | ||
===mysql_virtual_alias_maps.cf=== | |||
<pre> | <pre> | ||
# l'utente da usare per collegarsi a mysql | # l'utente da usare per collegarsi a mysql | ||
user = postfix | user = postfix | ||
Riga 213: | Riga 215: | ||
# questa email dovr� essere inviato sar� indicato dal campo 'goto' | # questa email dovr� essere inviato sar� indicato dal campo 'goto' | ||
where_field = address | where_field = address | ||
</pre> | |||
===mysql_virtual_domains_maps.cf=== | |||
<pre> | |||
user = postfix | user = postfix | ||
password = postfix | password = postfix | ||
Riga 228: | Riga 230: | ||
# decommentare, richiede che la il dominio non sia di backup e che sia attivo. | # decommentare, richiede che la il dominio non sia di backup e che sia attivo. | ||
#additional_conditions = and backupmx = '0' and active = '1' | #additional_conditions = and backupmx = '0' and active = '1' | ||
</pre> | |||
===mysql_virtual_mailbox_maps.cf=== | |||
<pre> | |||
user = postfix | user = postfix | ||
password = postfix | password = postfix | ||
Riga 240: | Riga 242: | ||
where_field = username | where_field = username | ||
#additional_conditions = and active = '1' | #additional_conditions = and active = '1' | ||
</pre> | |||
===mysql_virtual_mailbox_limit_maps.cf=== | |||
<pre> | |||
user = postfix | user = postfix | ||
password = postfix | password = postfix | ||
Riga 253: | Riga 254: | ||
where_field = username | where_field = username | ||
#additional_conditions = and active = '1' | #additional_conditions = and active = '1' | ||
</pre> | |||
===mysql_relay_domains_maps.cf=== | |||
<pre> | |||
user = postfix | user = postfix | ||
password = postfix | password = postfix | ||
Riga 267: | Riga 266: | ||
where_field = domain | where_field = domain | ||
additional_conditions = and backupmx = '1' | additional_conditions = and backupmx = '1' | ||
</pre> | |||
===Applicazione delle modifiche=== | |||
La configurazione di Postfix per l'interazione con MySql si pu� ritenere conclusa. | La configurazione di Postfix per l'interazione con MySql si pu� ritenere conclusa. | ||
Per applicare le modifiche apportate � necessario riavviare Postfix: | Per applicare le modifiche apportate � necessario riavviare Postfix: | ||
<pre> | |||
# /etc/init.d/postfix restart | # /etc/init.d/postfix restart | ||
</pre> | |||
===mail.cf=== | |||
<pre> | |||
broken_sasl_auth_clients = yes | broken_sasl_auth_clients = yes | ||
smtpd_recipient_restrictions = | smtpd_recipient_restrictions = | ||
Riga 296: | Riga 294: | ||
smtpd_sasl_local_domain = $myhostname | smtpd_sasl_local_domain = $myhostname | ||
smtpd_sasl_security_options = noanonymous | smtpd_sasl_security_options = noanonymous | ||
</pre> | </pre> | ||
contributi