Наши партнеры








Книги по Linux (с отзывами читателей)

Библиотека сайта rus-linux.net

На главную -> MyLDP -> Электронные книги по ОС Linux
Beyond Linux From Scratch. Version 2011-12-30
Назад 20. Почтовые серверы Вперед

Пакет Postfix-2.8.4

Знакомимся с пакетом Postfix

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

Известно, что пакет правильно собирается и работает на платформе LFS-7.0.

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

Зависимости пакета Postfix

Обязательные

Berkeley DB-5.2.36

Необязательные

PCRE-8.12,OpenSSL-1.0.0e, OpenLDAP-2.4.23, Cyrus SASL-2.1.23, MySQL-5.5.17, PostgreSQL-9.0.6 и cdb или TinyCDB

Замечания для пользователей: http://wiki.linuxfromscratch.org/blfs/wiki/postfix

Установка пакета Postfix

Конфигурирование дерева сборки

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

PCRE (Регулярные выражения, совместимые с Perl)

Чтобы можно было с Postfix использовать регулярные выражения, совместимые с Perl, воспользуйтесь следующими аргументами:

CCARGS='-DHAS_PCRE'
Cyrus-SASL

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

CCARGS='-DUSE_SASL_AUTH -DUSE_CYRUS_SASL -I/usr/include/sasl'
AUXLIBS='-L/usr/lib -lsasl2'
OpenLDAP

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

CCARGS='-DHAS_LDAP'
AUXLIBS='-lldap -llber'
MySQL

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

CCARGS='-DHAS_MYSQL -I/usr/include/mysql'
AUXLIBS='-lmysqlclient -lz -lm'
PostgreSQL

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

CCARGS='-DHAS_PGSQL -I/usr/include/postgresql'
AUXLIBS='-L/usr/lib -lpq -lz -lm'
CDB/TinyCDB

Чтобы можно было с Postfix использовать CDB или TinyCDB, воспользуйтесь следующими аргументами:

CCARGS='-DHAS_CDB'
AUXLIBS='</путь/r/CDB>/libcdb.a'
StartTLS Authentication

Чтобы можно было с Postfix использовать OpenSSL, воспользуйтесь следующими аргументами:

CCARGS='-DUSE_TLS -I/usr/include/openssl/'
AUXLIBS='-L/usr/lib -lssl -lcrypto'

Установка пакета Postfix

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

groupadd -g 32 postfix &&
groupadd -g 33 postdrop &&
useradd -c "Postfix Daemon User" -d /dev/null -g postfix \
    -s /bin/false -u 32 postfix &&
chown -v postfix:postfix /var/mail

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

PF_CCARGS="-DDEF_DAEMON_DIR=\\\"/usr/lib/postfix\\\""
PF_CCARGS="$PF_CCARGS -DDEF_MANPAGE_DIR=\\\"/usr/share/man\\\""
PF_CCARGS="$PF_CCARGS -DDEF_HTML_DIR=\\\"/usr/share/doc/postfix-2.8.4/html\\\""
PF_CCARGS="$PF_CCARGS -DDEF_README_DIR=\\\"/usr/share/doc/postfix-2.8.4/README\\\""
PF_CCARGS="$PF_CCARGS -DHAS_PCRE"
PF_CCARGS="$PF_CCARGS -DUSE_TLS -I/usr/include/openssl"

PF_AUXLIBS="-lpcre -lssl -lcrypto"

make makefiles CCARGS="$PF_CCARGS" AUXLIBS="$PF_AUXLIBS" &&
make &&
unset PF_CCARGS PF_AUXLIBS

Теперь в роли пользователя root выполните:

sh postfix-install -non-interactive

Пояснение команд

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

\\\": Эта конструкция исрользуется для задания литерала \" в определении переменной.

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

Конфигурирование пакета Postfix

Конфигурационные файлы

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

Подробнее о конфигурировании

cat >> /etc/aliases << "EOF"
# Начало файла /etc/aliases

MAILER-DAEMON:    postmaster
postmaster:       root

root:             LOGIN
# Конец файла /etc/aliases
EOF

Замечание

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

Для вашей системы следует специальным образом настроить файл /etc/aliases, который только что создан или добавлен, файл main.cf и файл master.cf. Файл aliases необходим для входа в вашу систему без идентификации на уровне пользователя root, следовательно, почта, адресованная пользователю root, может быть направлена вам на уровне непривилегированного пользователя. Файл main.cf необходим вам для указания полного имени вашего хоста. Все эти изменения можно сделать с помощью команд sed, которые следует ввести с консоли, соответственно заменив <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

Если у вас есть настроенный вариант конфигурации, вы можете запустить утилиту postfix, которая добавит в существующие файлы все необходимые определения. В роли пользователя root выполните следующее:

/usr/sbin/postfix upgrade-configuration

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

/usr/sbin/postfix check &&
/usr/sbin/postfix start

Загрузочный скрипт

Чтобы автоматизировать запуск Postfix при запуске системы, установите загрузочный скрипт /etc/rc.d/init.d/postfix, который имеется в пакете blfs-bootscripts-20111219.

make install-postfix

Описание пакета

Установленные программы: anvil, bounce, cleanup, discard, 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, scache, sendmail, showq, smtp, smtpd, spawn, tlsmgr, trivial-rewrite, verify и virtual

Установленные библиотеки: Нет

Установленные директории: /etc/postfix, /usr/lib/postfix и /usr/share/doc/postfix-2.8.4

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

anvil

обеспечивает подключение и ограничивает запрашиваемую скорость

bounce

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

cleanup

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

discard

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

error

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

flush

демон, который ведет учет почты, доставка которой отложена

lmtp

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

local

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

mailq

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

master

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

newaliases

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

nqmgr

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

oqmgr

старый вариант менеджера очередей. В ближайшее время будет удален

pickup

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

pipe

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

postalias

создает или делает запрос к одной или нескольким базам данных алиасов Postfix; либо обновляет существующую базу данных

postcat

выдает содержимое указанных файлов в удобном для чтения формате

postconf

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

postdrop

создает файл в директории maildrop и копирует в файл данные, поступившие в стандартный входной поток

postfix

управляет работой почтовой системы Postfix

postkick

передает запросы на указанную службу по локальному транспортному каналу

postlock

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

postlog

интерфейс работы с журнальными файлами, совместимый с Postfix и используемый, например, в скриптах командных оболочек

postmap

создает или делает запрос к одной или нескольким справочным таблицам Postfix; либо обновляет существующую справочную таблицу

postqueue

пользовательский интерфейс Postfix, позволяющий управлять очередями

postsuper

пользовательский интерфейс Postfix, позволяющий в роли суперпользователя управлять очередями

proxymap

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

qmgr

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

qmqpd

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

scache

поддерживает кэш подключения, что позволяет использовать одно соединение несколько раз

sendmail

интерфейс, обеспечивающий совместимость между Postfix и Sendmail

showq

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

smtp

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

smtpd

принимает запросы на подключение к сети и выполняет за одно подключение ноль или большее число транзакций SMTP

spawn

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

tlsmgr

поддерживает кэш сессии TLS и действует как менеджер PRNG

trivial-rewrite

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

verify

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

virtual

доставляет почту в почтовые директории виртуальных пользователей

Перевод сделан с варианта оригинала, датированного 2011-11-07 17:16:31 +0000


Предыдущий раздел: Оглавление Следующий раздел:
Пакет Exim-4.67   Пакет Qpopper-4.0.9