| |
Пользовательский логинРеклама: Nokia 6500 Slide куплю Продажа часов U-Boat. Часы u-boat ремонтные мастерские. Металлические шкафы и архивные стеллажи. Оригинальные архивные стеллажи, заказать. |
Установка почтовой системы postfix + cyrus-imap
Возможно при установке указанных пакетов понадобится установить все зависимости, которые они за собой тянут. Предоставим системе самой разобраться, что же ей не хватает - она с этим вполне успешно справляется. Предпочитаю использовать для /var reiserfs, но это сугубо личные предпочтения.
emerge -pv cyrus-sasl На всякий случай проверяем флаги - все ОК emerge cyrus-sasl Этот пакет поставили, едем дальше emerge -pv postfix Здесь нам может пригодиться флаг sasl, хотя в моем случае пока нет нужды авторизоваться на smtp, возможно в дальнейшем здесь будет описана авторизация через cyrus-sasl на smtp - вообщем выставляйте флаги по вкусу кому что надо USE="sasl" emerge postfix Постфикс собрался emerge -pv cyrus-imapd После проверки и установки нужных нам флагов пересобираем openssl и imap-сервер emerge cyrus-imapd Программа для администрирования имаповских ящиков emerge cyrus-imap-admin После того как все нужные нам пакеты поставлены, можно приступать к настройке сначала cyrus-sasl passwd cyrus Разбираемся с postfix Cодержимое /etc/postfix/main.cf, ниже приведена примерная конфигурация почтового сервера подключенного напрямую к инету (не через relayhost), естественно для этого случая должна быть MX-запись в ДНС. Подчеркиваю, что умышленно опускаю многие параметры в main.cf, чтобы не раздувать описание. Добавьте все остальное руководствуясь документацией postfix.
queue_directory = /var/spool/postfix Когда добавили все, что нужно в main.cf, идем в /etc/postfix/master.cf Ищем такую строку # Also specify in main.cf: cyrus_destination_recipient_limit=1 И заменяем путь на # Also specify in main.cf: cyrus_destination_recipient_limit=1 При использовании procmail, добавляем procmail unix - n n - - pipe Где файл /etc/procmailrc : DELIVERMAIL=/usr/lib/cyrus/deliver Все, постфиксом разобрались, теперь cyrus-imapd Редактируем /etc/cyrus.conf # $Header: /var/cvsroot/gentoo-x86/net-mail/cyrus-imapd/files/cyrus.conf,v 1.4 2004/07/18 04:02:23 dragonheart Exp $ Вот так делаем сертификаты openssl req -new -nodes -out req.pem -keyout key.pem Проверяем все-ли директории созданы /var/imap Далее редактируем /etc/imapd.conf configdirectory: /var/imap Авторизация через базу sasldb, механизмы авторизации LOGIN,PLAIN Если мы будем использовать обычные открытые пароли, без шифрования (например внутри организации) то изменим в /etc/imapd.conf allowanonymouslogin: yes вроде бы с настройкой cyrus покончено Теперь займемся почтовыми ящиками юзеров, для этого используем программу cyradm /etc/init.d/cyrus start Не забудьте забить в sasldb2 нового юзера: saslpasswd2 testuser Поднимаем сервисы /etc/init.d/postfix start Настраиваем почтового клиента (проверено с thunderbird 1.0 и с KMail 1.7.1, с Outlook Express тоже не должно быть проблем). Пробуем отправить письмо , если что-то не работает - смотрим логи, прежде всего проверьте права на доступ в /var/imap/socket/lmtp для пользователей postfix и cyrus, чаще всего проблемы связаны именно с этим. Также проверьте права на доступ к /etc/sasl2/sasldb2 для пользователя cyrus, который должен быть в группе mail. Желательно поставить антивирус например cmalav используем для этого связку clamav + clamsmtp хотя возможны и другие варианты например amavisd-new. Установка прекрасно описана здесь http://www.nixp.ru/articles/clamav_postfix, необходимо руководствоваться ей,естественно с адаптацией под реалии Gentoo emerge clamav Затем в файле /etc/conf.d/clamd START_CLAMD = yes (для версии старше 0.85 уже не актуально - все настройки только в clamd.conf и clamsmtpd.conf) Редактируем файлы /etc/clamd.conf и /etc/clamsmtpd.conf в соответствии с рекомендациями приведенными выше по ссылке Обратите внимание на параметры LocalSocket: /var/run/clamav/clamd.sock в /etc/clamav.conf и ClamAddress: /var/run/clamav/clamd.sock в /etc/clamsmtpd.conf - путь и имя файла должен одинаковым для обоих конфигов В файл main.cf необходимо добавить две строчки: content_filter = scan:127.0.0.1:10025 Первая говорит postfix'у о том, что необходимо пересылать всю почту через сервис (фильтр) 'scan' на 10025-ый порт, который, как раз, открыт clamsmtpd. Вторая строчка говорит о том, чтобы postfix не делал никаких манипуляций с адресами до того, как они дойдут до content_filter. Так что получается, что фильтр работает с реальными почтовыми адресами, а не с результатами перевода в виртуальные псевдонимы, маскарадингом и т.п. В файл master.cf необходимо добавить следующие строки: # AV scan filter (used by content_filter) Примечание: вокруг знака '=' пробелы не ставить. Значение 127.0.0.1:10026 открывает 10026-порт для возвращения почты обратно от clamsmtpd. rc-update add clamd default все - антивирус должен проверять всю почту проходящую через Ваш почтовик
P.S. Все вышеописанное проверялось на моей рабочей машине и на серваке небольшой конторы. Автор (или авторы) не несут ответственности за безграмотное и необдуманное применение данного руководства. Ваша безопасность в ваших руках и в голове! Данное описание не претендует на полное и развернутое и не является единственно возможным вариантом конфигурации. Также выражаю признательность разработчикам вышеописанных замечательных программ за прекрасное исполнение и хорошую документацию. Практически все вышенаписанное подчерпнуто из документации к самим пакетам, а также некоторые мысли родились из отрывочных данных, блуждающих в рунете - большое спасибо за это их авторам. PS. Некоторая путаница возникает с переадресацией почты - самый простой вариант использование файла aliases - но до его использования в отличие от sendmail, ящик который должен быть переадресован должен быть все-таки создан в системе через cyradm -user cyrus -auth login -server localhost команда cm и не забыть что etc/postfix/main.cf alias_maps = hash:/usr/local/etc/postfix/aliases |