Библиотека сайта rus-linux.net
Beyond Linux From Scratch. Version 2011-12-30 | ||
Назад | 20. Почтовые серверы | Вперед |
Пакет Postfix-2.8.4
Знакомимся с пакетом Postfix
В пакете Postfix находится почтовый транспортный агент (Mail Transport Agent - MTA). Он используется для отсылки писем другим пользователям вашей хостовой машины. Его также можно настроить в качестве центрального почтового сервера в вашем домене, в качестве агента ретрансляции почты или в качестве простого агента доставки почты вашему поставщику услуг сети интернет (ISP).
Известно, что пакет правильно собирается и работает на платформе LFS-7.0.
Информация о пакете
- Загрузка (HTTP): http://postfix.energybeam.com/source/official/postfix-2.8.4.tar.gz
- Загрузка (FTP): ftp://ftp.porcupine.org/mirrors/postfix-release/official/postfix-2.8.4.tar.gz
- Контрольная сумма MD5: a9fdd0f204e7ca0b7d32fd0b9f8f8c72
- Размер загружаемого пакета: 3,5 MB
- Оценочный размер требуемого дискового пространства: 132 MB
- Оценочное время сборки: 0,4 SBU
Зависимости пакета Postfix
Обязательные
Необязательные
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
, который только что создан или добавлен, файл 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 | символическая ссылка на |
master | резидентный процесс, который по требованию запускает демоны Postfix |
newaliases | символическая ссылка на |
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 |
tlsmgr | поддерживает кэш сессии TLS и действует как менеджер PRNG |
trivial-rewrite | демон, который переписывает адреса в стандартный вид |
verify | поддерживает записи о тех адресах получателей, о которых известно, что доставка им почты возможна или невозможна |
virtual | доставляет почту в почтовые директории виртуальных пользователей |
Перевод сделан с варианта оригинала, датированного 2011-11-07 17:16:31 +0000
Предыдущий раздел: | Оглавление | Следующий раздел: |
Пакет Exim-4.67 | Пакет Qpopper-4.0.9 |