RussianLDP Рейтинг@Mail.ru
WebMoney: 
WMZ Z294115950220 
WMR R409981405661 
WME E134003968233 
YandexMoney: 
41001198119846 
E-gold:
5128052

Beyond Linux From Scratch. Версия 6.0

Часть VI. Сетевой сервер

Postfix-2.1.5

Введение в Postfix

Пакет Postfix содержит агент передачи почты (Mail Transport Agent -MTA). Он полезен для пересылки почты другим пользователем на вашей машине. Он также может быть настроен в качестве центрального сервера почты домена, агента переключения почты или просто агента доставки почты локальному интернет-провайдеру (ISP).

Информация о пакете

Зависимости Postfix

Требуемые

Berkeley DB-4.3.27.

Опционально

PCRE-5.0, MySQL-4.1.8a, PostgreSQL-7.4.6, OpenLDAP-2.2.20, OpenSSL-0.9.7e и Cyrus SASL-2.1.20.

Установка Postfix

Конфигурация сборки

Дерево исходников Postfix содержит не скрипт configure, а файл makefile в каталоге верхнего уровня, содержащий целевые файлы makefile, который перегенерирует все остальные файлы makefile в дереве сборки. Если Вы захотите использовать дополнительные программы, например, оболочку базы данных для виртуальных пользователей или TLS/SSL-аутентификацию, понадобится перегенерировать файлы makefile, используя наиболее подходящие параметры CCARGS и AUXLIBS, описанные ниже.

Вот пример, который комбинирует аргументы TLS /SSL и Cyrus-SASL:


make makefiles CCARGS="-DHAS_SSL -DUSE_SASL_AUTH -I/usr/include/openssl \
     -I/usr/include/sasl" AUXLIBS="-L/usr/lib -R/usr/lib \
     -lssl -lcrypto -lsasl2"
SSL/TLS-аутентификация

Для использования SSL/ TLS-аутентификации при помощи Postfix , сначала понадобится применить патч, доступный на ftp://ftp.aet.tu-cottbus.de/pub/postfix_tls/pfixtls-0.8.18-2.1.3-0.9.7d.tar.gz . Распакуйте архив патча и примените его при помощи следующей команды:


patch -p1 < ../pfixtls-0.8.18-2.1.3-0.9.7d/pfixtls.diff

Вам понадобится разместить следующие значения в команде make makefiles:


CCARGS="-DHAS_SSL -I/usr/include/openssl" \
AUXLIBS="-L/usr/lib -lssl -lcrypto"

Для использования SSL или TLS Вам также понадобится Cyrus SASL-2.1.20.

Cyrus-SASL

Для использования Cyrus-SASL с Postfix используйте следующие аргументы:


CCARGS="-DUSE_SASL_AUTH -I/usr/include/sasl" \
AUXLIBS="-L/usr/lib -R/usr/lib -lsasl2"
OpenLDAP

Для использования OpenLDAP с Postfix используйте следующие аргументы:


CCARGS="-I/usr/include -DHAS_LDAP" \
AUXLIBS="-L/usr/lib -lldap -llber"
MySQL

Для использования MySQL с Postfix используйте следующие аргументы:


CCARGS="-DHAS_MYSQL -I/usr/include/mysql" \
AUXLIBS="-L/usr/lib -lmysqlclient -lz -lm"
PostgreSQL

Для использования PostgreSQL с Postfix используйте следующие аргументы:


CCARGS="-DHAS_PGSQL -I/usr/include/postgresql" \
AUXLIBS="-L/usr/lib -lpq -lz -lm"

Установка Postfix

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


groupadd postfix &&
groupadd postdrop &&
groupadd -g 65534 nogroup &&
useradd -c postfix -d /dev/null -g postfix -s /bin/false postfix &&
useradd -c nobody -d /home -g nogroup -s /bin/bash -u 65534 nobody &&
chown postfix:postfix /var/mail

Установим Postfix запуском следующих команд:


make &&
sh postfix-install daemon_directory=/usr/sbin \
   manpage_directory=/usr/share/man \
   sample_directory=/usr/share/doc/postfix -non-interactive

Завершим этап установки установкой документации к программам, выполнив следующие команды:


install -d /usr/share/doc/postfix &&
cp -rf html/* /usr/share/doc/postfix

Описание команд

sh postfix-install ... -non-interactive: Это удержит скрипт установки от любых вопросов, применив каталоги по умолчанию везде, кроме трех отдельно указанных позиций.

make makefiles: Эта команда пересоберет файлы makefile во всем дереве исходников для использования опций, содержащихся в переменных CCARGS и AUXLIBS.

Конфигурация Postfix

Файлы конфигурации

/etc/aliases, /etc/postfix/main.cf и /etc/postfix/master.cf.

Конфигурационная информация


cat >> /etc/aliases << "EOF"
# Begin /etc/aliases
MAILER-DAEMON:postmaster
postmaster: root

root: LOGIN
# End /etc/aliases
EOF
[Замечание]

Замечание

Для защиты имеющегося файла /etc/aliases, команда выше добавляет в него эти псевдонимы, если он есть. Этот файл должен быть проверен, и из него должны быть удалены дублированные псевдонимы.

Файлы /etc/aliases, который только что был создан или дополнен, main.cf и master.cf должны быть персонализированы для Вашей системы. Файл aliases требует Вашей не-root регистрации, поэтому почта, адресованная root, может быть перенаправлена Вам на уровне пользователя. Файлу main.cf необходимо полностью определенное имя хоста. Все это может быть выполнено при помощи команд sed, введенных в консоли с соответствующими заменами Вашего не-root имени для [user] и Вашего полностью определенного имени хоста для [localhost.localdomain]. Вы можете увидеть, что файл main.cf частично документирован, поэтому загрузите его в Ваш редактор для внесения требуемых изменений.


sed -i "s/LOGIN/[user]/" /etc/aliases &&
sed -i "s/#myhostname = host.domain.tld/myhostname = \
    [localhost.localdomain]/" /etc/postfix/main.cf &&
/usr/bin/newaliases &&
/usr/sbin/postfix start

Стартовый скрипт Postfix

Для автоматизации запуска Postfix во время загрузки, установим стартовый скрипт /etc/rc.d/init.d/postfix, включенный в пакет blfs-bootscripts-6.0.


make install-postfix

Содержание

Установленные программы: bounce, cleanup, error, flush, lmtp, local, mailq, master, newaliases, nqmgr, oqmgr, pickup, pipe, postalias, postcat, postconf, postdrop, postfix, postkick, postlock, postlog, postmap, postqueue, postsuper, proxymap, qmgr, qmqpd, sendmail, showq, smtp, smtpd, spawn, trivial-rewrite, verify и virtual. Установленные библиотеки: нет. Установленные каталоги: /etc/postfix и /usr/share/doc/postfix.

Короткое описание

bounce

Демон, поддерживающий файлы "отчет на сообщение" с информацией о статусе не переданности.

cleanup

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

error

Демон, который обрабатывает не переданные запросы от менеджера очереди.

flush

Демон, который поддерживает запись отсроченной почты по назначению.

lmtp

Демон, который обрабатывает сообщения переданных запросов от менеджера очереди.

local

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

mailq

Символическая ссылка на sendmail.

master

Резидентный процесс, который запускает демон Postfix по требованию.

newaliases

Символическая ссылка на sendmail.

nqmgr

Демон, который ожидает прибытия входящей почты и располагает ее для доставки.

oqmgr

Менеджер очереди в старом стиле. Он будет скоро удален.

pickup

Демон, который ожидает намека, что новая почта была положена в каталог помещения почты, и передает ее демону cleanup.

pipe

Демон, который обрабатывает запросы от менеджера очереди для доставки сообщений внешним командам.

postalias

Создает или запрашивает одну или более базу данных псевдонимов Postfix или обновляет имеющуюся.

postcat

Печатает содержимое файлов named в формате, удобном для чтения.

postconf

Отображает или изменяет значение параметров конфигурации Postfix.

postdrop

Создает файл в каталоге размещения почты и копирует свой стандартный ввод в файл.

postfix

Контролирует операции почтовой системы Postfix.

postkick

Посылает запрсы к указанному сервису через локальный канал передачи.

postlock

Закрывает почтовую папку для эксклюзивного использования и выполняет размещенные в ней команды.

postlog

Postfix-совместимый интерфейс регистрации для использования в, например, скриптах оболочки.

postmap

Создает или запрашивает одну или более таблицу просмотра Postfix или обновляет имеющуюся.

postqueue

Интерфейс пользователя Postfix для управления очередью.

postsuper

Интерфейс пользователя Postfix для управления очередью суперпользователя.

proxymap

Предоставляет таблицу сервисов просмотра в режиме "только для чтения" для других процессов Postfix.

qmgr

Демон, который ожидает входящую почту и упорядочивает ее для последующей доставки

qmqpd

Демон, который получает одно сообщение на соединение, перенаправляет его в демон cleanup и размещает его во входящей очереди.

sendmail

Интерфейс совместимости Postfix с Sendmail.

showq

Демон, сообщающий статус очереди почты Postfix.

smtp

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

smtpd

Принимает запросы сетевого соединения и выполняет ноль или более SMTP-транзакций на соединение.

spawn

Слушает порт, указанный в Postfix файле master.cf и вызывает внешнюю команду, как только соединение будет установлено.

trivial-rewrite

Демон, который перезаписывает адреса в стандартном виде.

verify

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

virtual

Доставляет почту в виртуальные почтовые ящики пользователя.

Поиск

 

Найди своих коллег!