Почтовый сервер · 2 min read · Oct 05, 2025

Полное решение почтового сервера с виртуальными доменами и пользователями (Debian Etch, Postfix, Mysql, Dovecot, DSpam, ClamAV, Postgrey, RBL) - Страница 2

III. Установка и настройка MySQL сервера (+схема PostFixAdmin)

Сначала нам нужно установить сервер MySQL на sql-1.internal.example.com. Чтобы упростить задачу, мы также установим клиент командной строки MySQL. Это можно сделать, введя следующее в командной строке:

# apt-get install mysql-server mysql-client

После того как apt-get выполнит установку, вам нужно будет заблокировать доступ root к базе данных mysql. Это делается с помощью инструмента mysqladmin.

# mysqladmin -u root password "mypassword"

ПРИМЕЧАНИЕ: Измените mypassword на ваш собственный надежный пароль!!!

Теперь мы создадим базу данных и пользователей для виртуальных пользователей и доменов. Важно отметить, что Postfix (и Dovecot) требуют только доступа SELECT к этой базе данных. PostfixAdmin потребует SELECT, UPDATE и INSERT.

# mysql -uroot -p   
Enter password:   
mysql> CREATE DATABASE virtual_mail;   
mysql> GRANT SELECT ON virtual_mail.* TO 'vmail_user'@'mx-1.example.com' IDENTIFIED BY 'vmail_user_password';   
mysql> GRANT SELECT,UPDATE,INSERT ON virtual_mail.* TO 'vmail_admin'@'mx-1.example.com' IDENTIFIED BY 'vmail_admin_password';   
mysql> GRANT SELECT ON virtual_mail.* TO 'vmail_user'@'mx-2.example.com' IDENTIFIED BY 'vmail_user_password';   
mysql> GRANT SELECT,UPDATE,INSERT ON virtual_mail.* TO 'vmail_admin'@'mx-2.example.com' IDENTIFIED BY 'vmail_admin_password';   
mysql> quit

ПРИМЕЧАНИЕ: Измените vmail_user_password и vmail_admin_password на ваши собственные надежные пароли!!!

Теперь нам нужно скачать Postfix Admin. Хотя этот инструмент не является обязательным для нашей конфигурации, он очень полезен, и схема, которую он использует, хорошо продумана. После того как вы скачали дистрибутив Postfix Admin, распакуйте его следующим образом:

# tar xfvz postfixadmin-2.1.0.tgz

Внутри полученной директории откройте postfixadmin-2.1.0/DATABASE_MYSQL.TXT в вашем любимом текстовом редакторе. Удалите все строки в разделе “Postfix / MySQL”. Эти строки создают начальную базу данных, которую мы уже создали. Для Postfix Admin 2.1.0 это строки 26-39.

Когда закончите, загрузите файл в вашу существующую таблицу MySQL с помощью следующей команды:

# mysql -uroot -p virtual_mail < postfixadmin-2.1.0/DATABASE_MYSQL.TXT

ПРИМЕЧАНИЕ: Если вы получите ошибку “Доступ запрещен для пользователя ‘mail’@’localhost’ к базе данных ‘mysql’”, значит, вы неправильно закомментировали строки. Если после ввода пароля вы не получите сообщение, значит, все прошло хорошо.

IV. Сервер общего доступа к файлам NFS

Многим серверам потребуется доступ к папкам Maildir наших пользователей, поэтому, чтобы упростить задачу, мы установим их на NFS-том. Одним из преимуществ Maildir является то, что он совместим с NFS. Формат почтового ящика, с другой стороны, не будет хорошим. К счастью, настройка NFS в Debian так же проста, как и настройка любой другой службы.

Начнем с установки службы на files-1.internal.example.com:

# apt-get install nfs-kernel-server nfs-common portmap

Экспорт NFS (общие ресурсы) контролируется файлом /etc/exports. Каждая строка начинается с абсолютного локального пути к директории, которая будет экспортирована, за которым следует список разрешенных клиентов, разделенный пробелами. NFS может быть чрезвычайно мощным, но я не буду вдаваться в полные детали здесь. Для наших целей подойдет следующее:

/etc/exports:

/vmail mx-1.internal.example.com(ro, insecure) mx-2.internal.example.com(ro, insecure) postman.internal.example.com(rw, no_root_squash) secure-mail.internal.example.com(rw, no_root_squash)

Если вы внесете изменения в /etc/exports на работающем NFS-сервере, вы можете сделать изменения эффективными, выполнив команду:

# exportfs -a

Нам понадобится реальный пользователь для обработки всех виртуальных сопоставлений в нашей настройке. Для этого решения мы будем использовать идентификатор пользователя 150. Этот идентификатор пользователя предназначен для специально созданного пользователя “Виртуальная почта”. Он использует стандартную группу “mail” с идентификатором группы по умолчанию (Debian) 8. Вы можете создать пользователя и директорию следующим образом:

# useradd -r -u 150 -g mail -d /var/vmail -s /sbin/nologin -c "Виртуальный почтовый ящик" vmail  
# mkdir /vmail  
# chmod 770 /vmail/   
# chown vmail:mail /vmail/ 

ПРИМЕЧАНИЕ: Этот пользователь должен быть создан на всех серверах, которые будут получать доступ к этой общей папке (mx-1, mx-2, postman, files-1, secure-mail). Если пользователь не существует, вы можете получить ошибки доступа к файлам. Хотя NIS можно использовать для создания одного хоста для этого пользователя, это выходит за рамки данного документа.

Share: X/Twitter LinkedIn

Get new posts in your inbox

No spam. Unsubscribe anytime.