Postfix, установка двух копий на одном сервере FreeBSD

У сисадмина такая работа, что часто, иногда даже чересчур часто приходится решать задачи, причем часто в очень сжатые сроки и на том что есть. Установка postfix с двумя независимыми конфигурациями, как раз и относится к таким вопросам.

У нас естественно уже должен быть установленный постфикс, во вторых у нас должен быть второй ip адрес на интерфейсе.

По условиям задачи, пусть у нас основной сервер стоит на адресе 192.168.0.17, а второй поцепим на 192.168.0.18.

Первым делом скопируем директорию с текущей конфигурацией.

cd /usr/local/etc

cp -r postfix postfix-alt

В работающем сейчас конфиге /usr/local/etc/postfix/main.cf, изменим настройку связанную с привязкой к интерфейсу, то есть было:

inet_interfaces = all

А нам теперь нужно:

inet_interfaces = 192.168.0.17 127.0.0.1

Это мы переопределили на каком интерфейсе принимать соединения. Теперь определим с какого адреса будут делаться исходящие соединения. Для этого добавим в /usr/local/etc/postfix/main.cf такую строку:

smtp_bind_address = 192.168.0.17

Теперь первый postfix будет работать исключительно от адреса 192.168.0.17.

Теперь заставим его перечитать настройки:

postfix reload

И можем начинать работу по создании второй копии postfix.

Сначала в директории /usr/local/etc/postfix-alt изменим main.cf.

Меняем директорию очереди сообщений:

queue_directory = /var/spool/postfix-alt

определим ее в /var/spool/postfix-alt

Меняем директорию в которой постфикс хранит данные нужные для своей работы(кеша, временные файлы, данные датчика случайных чисел)

data_directory = /var/db/postfix-alt

Изменим настройку myhostname. В первую очередь затем, что бы проще было отличать в /var/log/maillog и в заголовках писем альтернативную копию postfix с основным постфиксом.

myhostname = postfix-alt.hilik.org.ua

Ну и теперь соответственно привязку к ip адресу:

inet_interfaces = 192.168.0.18

smtp_bind_address = 192.168.0.18

Теперь переходим к созданию директорий postfix которые мы переопределили ранее:

cd /var/spool/

cp -r postfix postfix-alt

И теперь поправим овнеров директорий:

chown -R postfix /var/spool/postfix-alt

chown root:wheel /var/spool/postfix-alt

cd postfix-alt

chgrp -R maildrop maildrop

chgrp -R maildrop public

chown root:wheel pid

С директорией очереди закончили. Теперь то же самое с дата директорией postfix:

chown -R postfix /var/db/postfix-alt

И остается сделать стартовый скрипт, который запустит этот второй постфикс, я использую такой скрипт:

#!/bin/sh

case $1 in

start)

`/usr/local/sbin/postfix -c /usr/local/etc/postfix-alt start`

;;

stop)

`/usr/local/sbin/postfix -c /usr/local/etc/postfix-alt stop`

;;

*)

;;

esac

То есть попросту я указываю директорию с файлами настроек.

Точно так же можно просмотреть очередь второго postfix:

postqueue -c /usr/local/etc/postfix-alt -p

На этом настройка окончена второй копии окончена и настройки теперь независимы.

http://www.hilik.org.ua/postfix-установка-двух-копий-на-одном-сервер/

Обновлено: 12.03.2015