Настройка почты · 2 min read · Nov 26, 2025

Виртуальные пользователи и домены с Postfix, Courier, MySQL и SquirrelMail (Fedora 13 x86_64) - Страница 3

9 Настройка Saslauthd

Отредактируйте /usr/lib64/sasl2/smtpd.conf ( /usr/lib/sasl2/smtpd.conf, если вы на системе i386). Он должен выглядеть так:

vi /usr/lib64/sasl2/smtpd.conf

| pwcheck_method: authdaemond log_level: 3 mech_list: PLAIN LOGIN authdaemond_path:/var/spool/authdaemon/socket |

Затем отключите Sendmail и запустите Postfix, saslauthd и courier-authlib:

chmod 755 /var/spool/authdaemon  
chkconfig --levels 235 courier-authlib on  
/etc/init.d/courier-authlib start
chkconfig --levels 235 sendmail off  
chkconfig --levels 235 postfix on  
chkconfig --levels 235 saslauthd on  
/etc/init.d/sendmail stop  
/etc/init.d/postfix start  
/etc/init.d/saslauthd start

10 Настройка Courier

Теперь мы должны сказать Courier, что он должен аутентифицироваться против нашей базы данных MySQL. Сначала отредактируйте /etc/authlib/authdaemonrc и измените значение authmodulelist, чтобы оно выглядело так:

vi /etc/authlib/authdaemonrc

| [...] authmodulelist="authmysql" #authmodulelist="authuserdb authpam authpgsql authldap authmysql authcustom authpipe" [...] |

Затем отредактируйте /etc/authlib/authmysqlrc. Он должен выглядеть точно так же (опять же, убедитесь, что вы заполнили правильные данные базы данных):

cp /etc/authlib/authmysqlrc /etc/authlib/authmysqlrc_orig  
cat /dev/null > /etc/authlib/authmysqlrc  
vi /etc/authlib/authmysqlrc

| MYSQL_SERVER localhost MYSQL_USERNAME mail_admin MYSQL_PASSWORD mail_admin_password MYSQL_PORT 0 MYSQL_DATABASE mail MYSQL_USER_TABLE users MYSQL_CRYPT_PWFIELD password #MYSQL_CLEAR_PWFIELD password MYSQL_UID_FIELD 5000 MYSQL_GID_FIELD 5000 MYSQL_LOGIN_FIELD email MYSQL_HOME_FIELD "/home/vmail" MYSQL_MAILDIR_FIELD CONCAT(SUBSTRING_INDEX(email,'@',-1),'/',SUBSTRING_INDEX(email,'@',1),'/') #MYSQL_NAME_FIELD MYSQL_QUOTA_FIELD quota |

Затем перезапустите Courier:

chkconfig --levels 235 courier-imap on  
/etc/init.d/courier-authlib restart  
/etc/init.d/courier-imap restart

Когда courier-imap запускается в первый раз, он автоматически создает файлы сертификатов /usr/lib/courier-imap/share/imapd.pem и /usr/lib/courier-imap/share/pop3d.pem из файлов /usr/lib/courier-imap/etc/imapd.cnf и /usr/lib/courier-imap/etc/pop3d.cnf. Поскольку файлы .cnf содержат строку CN=localhost, но наш сервер называется server1.example.com, сертификаты могут вызвать проблемы, когда вы используете TLS-соединения. Чтобы решить эту проблему, мы удаляем оба сертификата…

cd /usr/lib/courier-imap/share  
rm -f imapd.pem  
rm -f pop3d.pem

… и заменяем строки CN=localhost в /usr/lib/courier-imap/etc/imapd.cnf и /usr/lib/courier-imap/etc/pop3d.cnf на CN=server1.example.com:

vi /usr/lib/courier-imap/etc/imapd.cnf

| [...] CN=server1.example.com [...] |

vi /usr/lib/courier-imap/etc/pop3d.cnf

| [...] CN=server1.example.com [...] |

Затем мы воссоздаем оба сертификата…

./mkimapdcert  
./mkpop3dcert

… и перезапускаем courier-authlib и courier-imap:

/etc/init.d/courier-authlib restart  
/etc/init.d/courier-imap restart

Запустив

telnet localhost pop3

вы можете увидеть, работает ли ваш POP3 сервер правильно. Он должен вернуть +OK Hello there . (введите quit, чтобы вернуться в оболочку Linux):

[root@server1 share]# telnet localhost pop3  
Trying ::1...  
Connected to localhost.  
Escape character is '^]'.  
+OK Hello there.  
quit  
+OK Better luck next time.  
Connection closed by foreign host.  
[root@server1 share]#

11 Измените /etc/aliases

Теперь мы должны открыть /etc/aliases. Убедитесь, что postmaster указывает на root, а root на ваше собственное имя пользователя или адрес электронной почты, например, так:

vi /etc/aliases

| [...] postmaster: root root: [email protected] [...] |

или так (если администратор — это ваше собственное имя пользователя):

| [...] postmaster: root root: administrator [...] |

Каждый раз, когда вы изменяете /etc/aliases, вы должны запустить

newaliases

после этого и перезапустить Postfix:

/etc/init.d/postfix restart
Share: X/Twitter LinkedIn

Get new posts in your inbox

No spam. Unsubscribe anytime.