The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]



Индекс форумов
Составление сообщения

Исходное сообщение
"Раздел полезных советов: Настройка почтового сервера на базе..."
Отправлено auto_tips, 10-Июл-09 11:55 
Задача: необходимо установить и настроить почтовый сервер для нескольких почтовых доменов.
В качестве МТА я выбрал Exim. Список доменов, пользователей и т.д. будут хранится в MySQL.
Итак, что мы имеем: ОС FreeBSD, на сервере 8 ip-адресов, MySQL сервер уже установлен.

Приступаем к установке:

1. Добавляем в  /etc/make.conf опции для сборки exim (так же у меня указана версия MySQL,
c которой собираются порты и в которых используется MySQL):

      DEFAULT_MYSQL_VER=51
      .if ${.CURDIR:N*/usr/ports/mail/exim} == ""
      WITH_MYSQL=yes
      WITH_SPF=yes
      WITH_SRS=yes
      WITHOUT_IPV6=yes
      WITHOUT_MAILSTORE=yes
      WITHOUT_MBX=yes
      WITHOUT_PASSWD=yes
      WITHOUT_PAM=yes
      WITHOUT_AUTH_SPA=yes
      WITHOUT_NIS=yes
      .endif

2. Устанавливаем exim с поддержкой MySQL из портов:

      cd /usr/ports/mail/exim ; make install clean ; echo 'exim_enable="YES"' >> /etc/rc.conf

3. Заменяем sendmail в /etc/mail/mailer.conf на exim:

      sendmail        /usr/local/sbin/exim
      send-mail       /usr/local/sbin/exim
      mailq           /usr/local/sbin/exim -bp
      newaliases      /usr/local/sbin/exim -bi
      hoststat        /usr/local/sbin/exim
      purgestat       /usr/local/sbin/exim

4. Создаём директорию, в которую exim будет складывать почту (у меня это /home/mail/domains)

      mkdir -p /home/mail/domains ; chown -R mailnull:mail /home/mail

5. Создаём БД для exim:

      mysqladmin -u root -p create exim_db

6. Создаём пользователя MySQL и выделяем ему права на БД:

      echo "GRANT SELECT, INSERT, UPDATE, LOCK TABLES, CREATE, DROP, DELETE, INDEX ON exim_db.*
      TO exim@localhost IDENTIFIED BY 'Mta_MaileR'" | mysql -u root -p mysql

7. Создаём структуру таблиц (описание таблиц и полей в конце статьи):

      fetch -v http://www.sysadminpages.com/files/exim/exim_db.sql
      mysql -u exim -p exim_db < exim_db.sql

8. Подключаемся к БД и добавляем записи для 1-го почтового домена
(Для примера взял вымешленые имя домена и ip-адрес. Для рабочего почтового сервера необходимо
заменить значения на реальные):

      mysql -u exim -p exim_db
      mysql>INSERT INTO domains VALUES('example.local','mail.example.local','10.1.10.1');
      mysql>INSERT INTO accounts (login, password, maildir, uid, gid, mailquota)
      VALUES ('admin@example.local', 'Pass4Admin', '/home/mail/domains/example.local/admin/Maildir', 26, 26, 2000);

9. Конфигурируем exim. Конфиг длинный, и поэтому его описание я опускаю.
Рабочий конфиг можно взять по адресу: https://www.opennet.ru/soft/exim.config

10. Запускаем exim

      /usr/local/etc/rc.d/exim start

11. Для проверки работоспособности отправляем тестовое письмо

      mail -s 'test message' admin@example.local
      test message
      .

Смотрим лог exim:

      tail /var/log/exim/mainlog

Если всё правильно настроено, то в логе будут записи примерно следующего содержания:

      2009-07-06 08:26:54 1MNnHZ-000CJx-U5 <= root@srv.example.local U=root P=local S=363
      2009-07-06 08:26:54 1MNnHZ-000CJx-U5 => admin <admin@example.local> R=localuser T=local_delivery
      2009-07-06 08:26:54 1MNnHZ-000CJx-U5 Completed

12. Устанавливаем dovecot

      cd /usr/ports/mail/dovecot
      make WITH_SSL=yes WITHOUT_IPV6=yes WITH_MYSQL=yes install clean
      echo 'dovecot_enable="YES"' >> /etc/rc.conf

13. Конфигурируем dovecot

      mv /usr/local/etc/dovecot.conf /usr/local/etc/dovecot.conf.orig
      cd /usr/local/etc/
      fetch -v https://www.opennet.ru/soft/dovecot.conf
      fetch -v https://www.opennet.ru/soft/dovecot-sql.conf

14. Запускаем dovecot

      /usr/local/etc/rc.d/dovecot start

15. Настраиваем почтовый клиент на получение-отправку почты. В качестве логина используем e-mail адрес.

Описание таблиц БД exim_db:

Таблица accounts - учётные записи пользователей
Таблица aliases - алиасы для почтовых адресов
Таблица domains - имена почтовых доменов, адреса МХ-ов и их ip-адресов
Таблица spam_domains - список "чёрных" доменов
Таблица spam_emails - список "чёрных" почтовых адресов
Таблица spam_ip_senders - список "чёрных" ip-адресов
Таблица white_domains - список "белых" доменов
Таблица white_emails - список "белых" почтовых адресов
Таблица white_ip_senders - список "белых" ip-адресов


URL: http://sysadminpages.com/2009/07/freebsd-exim-dovecot-mysql/
Обсуждается: https://www.opennet.ru/tips/info/2124.shtml

 

Ваше сообщение
Имя*:
EMail:
Для отправки ответов на email укажите знак ! перед адресом, например, !user@host.ru (!! - не показывать email).
Более тонкая настройка отправки ответов производится в профиле зарегистрированного участника форума.
Заголовок*:
Сообщение*:
 
При общении не допускается: неуважительное отношение к собеседнику, хамство, унизительное обращение, ненормативная лексика, переход на личности, агрессивное поведение, обесценивание собеседника, провоцирование флейма голословными и заведомо ложными заявлениями. Не отвечайте на сообщения, явно нарушающие правила - удаляются не только сами нарушения, но и все ответы на них. Лог модерирования.



Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру