====== Postfix multi istanza ======
Vogliamo avere Postfix su uno stesso host che risponde a due indirizzi IP diversi (IP alias) con due configurazioni diverse.
Per inizializzare una configurazione multi istanza di Postfix si lancia il comando
postmulti -e init
vengono aggiunge alcune righe a **''/etc/postfix/main.cf''**:
multi_instance_wrapper = ${command_directory}/postmulti -p --
multi_instance_enable = yes
Quindi si crea la seconda istanza, che deve avere un nome del tipo ''postfix-''. Nel nostro caso la seconda istanza sarà specializzata come server MX primario, quindi scegliamo **''postfix-mx''**. La seconda istanza deve appartenere anche ad un gruppo, per questo scegliamo il nome **''mta''**:
postmulti -I postfix-mx -G mta -e create
Vengono create le directory **''/etc/postfix-mx/''**, **''/var/spool/postfix-mx/''**, **''/var/lib/postfix-mx/''**. Il file **''/etc/postfix-mx/main.cf''** ha alcuni parametri essenziali per gestire la seconda istanza, ma altri vanno configurati a mano. In particolare abbiamo messo:
data_directory = /var/lib/postfix-mx
queue_directory = /var/spool/postfix-mx
multi_instance_group = mta
multi_instance_name = postfix-mx
inet_interfaces = 10.0.1.91
#master_service_disable = inet
master_service_disable =
Per legare la seconda istanza all'indirizzo IP alias di deve modificare **''/etc/postfix-mx/master.cf''**:
#smtp inet n - - - - smtpd
10.0.1.91:25 inet n - - - - smtpd
Per abilitare la seconda istanza e verificare che lo sia davvero (deve esserci una **y** nella terza colonna):
postmulti -i postfix-mx -e enable
postmulti -l -a
- - y /etc/postfix
postfix-mx mta y /etc/postfix-mx
===== Helper per multi istanza =====
Per editare il file **''main.cf''** di una istanza secondaria si possono usare in abbinata i programmi helper **''postmulti''** e **''postconf''**. In questo esempio di imposta l'opzione ''master_service_disable'' al valore blank:
postmulti -i postfix-mx -x postconf -e "master_service_disable ="
===== Avviare tutte le istanze =====
Lo script start/stop di Debian gestisce le multi istanze, quindi basta dare:
/etc/init.d/postfix restart
===== Tool mailq, postcat, etc. in multi istanza =====
Alcuni alias di postfix sono usati per particolari modalità, ad esempio l'alias **mailq** è tradizionalmente utilizzato per vedere i messaggi in coda. In una configurazione multi istanza è necessario indicare la configurazione alternativa specificando la directory di configurazione. Ad esempio se la directory di configurazione alternativa è **/etc/postfix-mx/**:
mailq -C /etc/postfix-mx
Discorso analogo per il comando **postcat** (usato ad esempio per vedere il contenuto di un messaggio in coda) oppure per **postsuper** (usato ad esempio per eliminare un messaggio dalla coda). Notare l'opzione **%%-c%%** minuscola:
postcat -c /etc/postfix-mx -q 6702568035C
postsuper -c /etc/postfix-mx -d 6702568035C