Почтовый сервер · 3 min read · Jan 03, 2026

Настройка почтового сервера с Exim, MySQL, Cyrus-Imapd, Horde Webmail на Centos 5.1

Настройка почтового сервера с Exim, MySQL, Cyrus-Imapd, Horde Webmail на Centos 5.1

Версия 1.1
Автор: Эндрю Колин Кисса

Введение

Этот гид описывает установку и настройку почтовой системы на Centos 5.1 с включенным selinux для повышения безопасности. Эта система сможет обслуживать HTTP, HTTPS, SMTP, TLS, SMTP-AUTH, IMAP, POP3 клиенты и поддерживает виртуальные домены, позволяя обслуживать более одного домена с системы.

Веб-клиент webmail imp предоставит функциональный интерфейс с компонентом веб-почты, адресной книгой, календарем и возможностью сброса паролей, все это с высоко настраиваемой системой предпочтений, позволяющей пользователям изменять внешний вид и работу интерфейса.

Система IMAP/POP3 основана на высокопроизводительной системе cyrus-imapd, которая работает как закрытый модуль (почтовые пользователи не являются системными пользователями) и использует высокопроизводительный бэкенд для хранения почты. Другие функции cyrus-imapd включают индексацию почты для быстрого поиска с использованием squat, демон уведомлений, который можно настроить для уведомления по sms или электронной почте, систему фильтрации sieve (автоответ, фильтрация почты, уведомления, архивирование) и встроенную систему квот. Эта система будет использовать pam_mysql через механизм SASL (saslauthd) для аутентификации пользователей по отношению к базе данных Mysql, используемой всеми компонентами.

Система exim будет настроена для того, чтобы пользователи могли пересылать почту с использованием TLS защищенного SMTP-AUTH, используя ту же базу данных, которая используется всеми компонентами. Проверка адресов будет происходить с использованием SQL-запросов к mysql бэкенду перед тем, как любая почта будет принята для доставки в хранилище cyrus-imapd. Антивирусные проверки интегрированы в эту систему с использованием clamav через сокет Unix. Проверки спама также выполняются во время smtp через соединение сокета с системой spamd spamassasin, сообщения, получающие более 6 баллов, автоматически отклоняются без помещения в очередь на систему.

База данных mysql будет хранить информацию об аутентификации пользователей, зашифрованную с использованием md5-hex, а также другую информацию для других компонентов веб-почты.

Эта система разработана для высокой производительности и безопасности, сокращая количество открытых портов и предпочитая использовать сокеты Unix и запускать selinux в режиме принуждения.

Управление учетными записями пользователей осуществляется через веб-интерфейс horde, позволяя администратору легко добавлять и удалять учетные записи или управлять паролями, также возможно взаимодействие напрямую с таблицей базы данных и внесение изменений там.

Примечания по установке ОС

С целью сохранения точности этого руководства я не буду проводить вас через фактическую установку системы Centos 5.1, я предполагаю, что у вас есть минимальная установка, стартовый скрипт для помощи в получении минимальной установки можно скачать здесь.

Для этого учебника я буду использовать статический IP-адрес 192.168.1.4 и имя хоста mail.home.topdog-software.com с доменом home.topdog-software.com, пожалуйста, не стесняйтесь вносить изменения в соответствии с вашей средой. Рабочий каталог будет /usr/local/src, все пакеты, которые необходимо загрузить, должны быть загружены и извлечены там.

Установка программного обеспечения

Установка предварительных условий

  • Обновите систему. yum update
  • Настройте репозиторий rpmforge rpm -Uhv http://apt.sw.be/redhat/el5/en/i386/rpmforge/RPMS/rpmforge-release-0.3.6-1.el5.rf.i386.rpm
  • Отключите репозиторий (чтобы базовые пакеты не были перезаписаны), отредактируйте /etc/yum.d/rpmforge.repo и установите следующую опцию enabled = 0

Установка Apache

yum install httpd php php-mysql php-xml php-imap php-mbstring php-mcrypt \
php-pecl-Fileinfo php-pear-DB php-pear-File php-pear-Log php-pear-Mail-Mime \
php-pear-Auth-SASL php-pear-Date php-pear-HTTP-Request php-pear-Mail php-pear-Net-Sieve \
php-pear-Net-Socket php-pear-Net-SMTP openssl mod_ssl -y

Установка Exim

yum install exim system-switch-mail -y

Установка Mysql

yum install mysql mysql-server -y

Установка Horde

yum install horde imp-h3 ingo-h3 turba-h3 kronolith-h3 -y
wget ftp://ftp.horde.org/pub/passwd/passwd-h3-3.0.1.tar.gz
tar xzvf passwd-h3-3.0.1.tar.gz -C /usr/share/horde
mv /usr/share/horde/passwd-h3-3.0.1 /usr/share/horde/passwd

Установка cyrus-imapd

Я буду использовать исходный rpm Invoca systems, так как он более актуален и поддерживает многие функции, которые сборка Centos не предоставляет.

yum install db4-utils -y
rpm -Uvh http://www.topdog-software.com/oss/cyrus-imapd/cyrus-imapd-perl-2.3.11-3.i386.rpm
rpm -Uvh http://www.topdog-software.com/oss/cyrus-imapd/cyrus-imapd-utils-2.3.11-3.i386.rpm
rpm -Uvh http://www.topdog-software.com/oss/cyrus-imapd/cyrus-imapd-2.3.11-3.i386.rpm

Установка Pam_mysql

rpm -Uvh http://www.topdog-software.com/oss/pam_mysql/pam_mysql-0.7RC1-1.i386.rpm

Установка ClamAV

yum --enablerepo=rpmforge install clamav clamav-db clamd -y

Установка Spamassassin

yum install spamassassin -y
Share: X/Twitter LinkedIn

Get new posts in your inbox

No spam. Unsubscribe anytime.