Настройка сервера · 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/vmail
Share: X/Twitter LinkedIn

Get new posts in your inbox

No spam. Unsubscribe anytime.