Неприступный почтовик Антон Карпов, toxa@cterra.ru Спецвыпуск: Хакер, номер #051, стр. 051-036-2 В качестве операционной системы для построения высокопроизводительного надежного почтового сервера выберем FreeBSD 5.3 - лучшую серверную операционную систему на сегодняшний день ;). Детально процесс обновления системы до 5.3-STABLE описан в этом же номере, так что будем считать, что у тебя уже имеется свежая система с актуальным деревом портов. Поехали! Первым делом ставим daemontools и ucspi-tcp. # cd /usr/ports/sysutils/daemontools # make install clean # echo 'svscan_enable="YES"' %26gt;%26gt; /etc/rc.conf # mkdir /var/service С ucspi-tcp придется немного повозиться. Дело в том, что для доступа к нашему будущему pop3/smtp-серверу с использованием безопасного ssl-соединения нужно пропатчить ucsp-tcp на предмет умения работы с SSL. По каким-то причинам этот патч отсутствует во FreeBSD-порте ucspi-tcp. Так что придется применить его руками. # cd /usr/ports/sysutils/ucspi-tcp # make patch # wget http://www.nrg4u.com/qmail/ucspi-tcp-ssl-20020705.patch.gz # gunzip ucspi-tcp-ssl-20020705.patch.gz # cd work/ucspi-tcp-0.88 # patch %26lt; ../../ucspi-tcp-ssl-20020705.patch # cd ../../ # make install clean # rm ucspi-tcp-ssl-20020705.patch Ничто не идеально. И софт djb тоже. Его основная проблема в том, что написан он был давно и "на раз". "Чистая" версия qmail обделена многим из той функциональности, которая требуется от современных почтовых серверов. SSL, TLS, SMTP AUTH, Greylisting, поддержка LDAP - все эти и многие другие возможности добавляются в qmail сторонними патчами, за которые автор qmail не отвечает. Так что если окунешься в мир программного обеспечения djb, будь готов запутаться в patch’ах, patchkit’ах, и patch’ах к patchkit’ам ;). Вам письмо! Пришло время ставить qmail в качестве pop3/smtp-сервера. Нас интересует порт с поддержкой SMTH-аутентификации и TLS. # cd /usr/ports/mail/qmail-smtp_auth+tls # make WITH_QMAILQUEUE_PATCH=yes WITH_BIG_TODO_PATCH=yes install clean Авторизацию будем выполнять с помощью утилиты checkpassword. # cd /usr/ports/security/checkpassword %26%26 make install clean Затем сообщим системе, что у нас теперь qmail вместо sendmail: # vi /etc/mail/mailer.conf #sendmail /usr/libexec/sendmail/sendmail #send-mail /usr/libexec/sendmail/sendmail #mailq /usr/libexec/sendmail/sendmail #newaliases /usr/libexec/sendmail/sendmail #hoststat /usr/libexec/sendmail/sendmail #purgestat /usr/libexec/sendmail/sendmail sendmail /var/qmail/bin/sendmail send-mail /var/qmail/bin/sendmail mailq /var/qmail/bin/qmail-qread newaliases /var/qmail/bin/newaliases hoststat /var/qmail/bin/qmail-tcpto |