Апр 17 2009

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

У сисадмина такая работа, что часто, иногда даже чересчур часто приходится решать задачи, причем часто в очень сжатые сроки и на том что есть. Установка 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

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

Добавить в закладки:

google.com bobrdobr.ru del.icio.us technorati.com linkstore.ru news2.ru rumarkz.ru memori.ru moemesto.ru
  • By qqq, 04.11.2009 @ 18:22

    А какой смысл в 2-х постфиксах? что-то я не понял из описания.

  • By hilik, 04.11.2009 @ 22:54

    Прелесть заключается, во первых в раздельной очереди и во вторых в настройках. Я делал одну очередь с безлимитным количеством доставщиков на быстрый украинский канал и вторая медленная очередь на медленный зарубежный канал.

Other Links to this Post


Украинская Баннерная Сеть