Настройка сервера · 2 min read · Dec 31, 2025
Сервер группового ПО с Group-Office, Postfix, Dovecot и SpamAssassin на Debian Lenny (5.0) - Страница 3
Настройка SpamAssassin
# groupadd -g 5001 spamd
# useradd -u 5001 -g spamd -s /sbin/nologin -d /var/lib/spamassassin spamd
# mkdir /var/lib/spamassassin
# chown spamd:spamd /var/lib/spamassassinЧтобы запустить сервер, в /etc/default/spamassassin установите:
ENABLED=1Вы можете настроить SpamAssassin самостоятельно в /etc/spamassassin/local.cf.
Настройка отпуска
Скрипт отпуска — это Perl-скрипт, который будет обрабатывать автоматические ответы, когда пользователь отсутствует в офисе.
Скопируйте scripts/vacation.pl в /var/spool/vacation/vacation.pl и отредактируйте свойства подключения к базе данных.
# mkdir /var/spool/vacation
# useradd -r -d /var/spool/vmail -s /sbin/nologin -c "Виртуальный отпуск" vacation
# chown -R vacation:vacation /var/spool/vacation/
# chmod 700 /var/spool/vacation/
# chmod 750 /var/spool/vacation/vacation.pl
# touch /var/log/vacation.log /var/log/vacation-debug.log
# chown vacation:vacation /var/log/vacation*Создайте /etc/postfix/transport. Убедитесь, что домен соответствует postfixadmin_autoreply_domain, который вы настроили в файле Group-Office config.php ранее.
autoreply.example.com vacation:Настройка Dovecot
Dovecot — это быстрый демон IMAP, который также может проверять квоты пользователей и фильтровать спам в папку спама. Измените / добавьте эти значения в /etc/dovecot.conf:
#Включить IMAP и IMAPS
protocols = imap imaps
#Слушать на всех IP-адресах
listen = *
#настроить расположение наших виртуальных почтовых ящиков
mail_location = maildir:/vmail/%d/%u
# Группа, которую нужно временно включить для привилегированных операций. В настоящее время это
# используется только для создания файлов блокировки mbox, когда создание не удается для INBOX.
# Обычно это устанавливается на "mail", чтобы предоставить доступ к /var/mail.
#mail_privileged_group =
mail_privileged_group = mail
# Предоставить доступ к этим дополнительным группам для почтовых процессов. Обычно
# они используются для настройки доступа к общим почтовым ящикам. Обратите внимание, что это может быть
# опасно, если пользователи могут создавать символические ссылки (например, если здесь установлена группа "mail",
# ln -s /var/mail ~/mail/var может позволить пользователю удалить чужие
# почтовые ящики, или ln -s /secret/shared/box ~/mail/mybox позволит их читать).
mail_access_groups = mail
# Допустимый диапазон UID для пользователей, по умолчанию 500 и выше. Это в основном
# для того, чтобы убедиться, что пользователи не могут входить как демоны или другие системные пользователи.
# Обратите внимание, что запрет входа root жестко закодирован в двоичном файле dovecot и не может
# быть выполнен, даже если first_valid_uid установлен на 0.
first_valid_uid = 150
last_valid_uid = 150
Внутри секции protocol imap { } измените:
mail_plugins = quota imap_quota
Внутри секции protocol lda { } измените:
postmaster_address = [email protected]
mail_plugin_dir = /usr/lib/dovecot/modules/lda
mail_plugins = cmusieve quota
#скрипт globalsieverc будет фильтровать спам-сообщения в папку Спам
global_script_path = /var/vmail/globalsieverc
Внутри секции auth default { } измените:
auth default {
mechanisms = plain
passdb sql {
args = /etc/dovecot/dovecot-sql.conf
}
userdb sql {
args = /etc/dovecot/dovecot-sql.conf
}
user = nobody
socket listen {
master {
path = /var/run/dovecot/auth-master
mode = 0660
user = vmail
group = mail
}
client {
path = /var/spool/postfix/private/auth
mode = 0660
user = postfix
group = postfix
}
}
plugin {
quota = maildir:storage=512000
}
Также закомментируйте секцию passdb pam, иначе вы получите очень медленное соединение Dovecot!
/etc/postfix/dovecot-sql.conf:
driver = mysql
connect = host=localhost dbname=groupoffice user=vmail_user password=vmail_user_pass
default_pass_scheme = PLAIN-MD5
user_query = SELECT '/vmail/%d/%n' AS home, 'maildir:/vmail/%d/%n' AS mail, 150 AS uid, 8 AS gid, CONCAT('maildir:storage=', quota) AS quota FROM pa_mailboxes WHERE username = '%u' AND active = '1'
password_query = SELECT username AS user, password, '/vmail/%d/%n' AS userdb_home, 'maildir:/vmail/%d/%n' AS userdb_mail, 150 AS userdb_uid, 8 AS userdb_gid FROM pa_mailboxes WHERE username = '%u' AND active = '1'
Создайте скрипт globalsieverc:
# mkdir /var/vmail/Отредактируйте /var/vmail/globalsieverc:
require "fileinto";
if exists "X-Spam-Flag" {
fileinto "Spam";
}
Установите правильные разрешения:
# chown vmail:mail -R /var/vmailGet new posts in your inbox
No spam. Unsubscribe anytime.