Библиотека сайта 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 |

