Пошаговое руководство по установке Exim+MySQL+Dovecot+SSL на FreeBSD
IP-адрес сервера: 192.168.36.1
DNS имя: mail.sentec.ru
Что требуется?
Поднять SMTP, POP3, POP3S, IMAP, IMAPS-сервисы на примере домена sentec.ru с поддержкой защищенного протокола и почтовой базы данных на MySQL.
Завести начальный почтовый ящик — info@sentec.ru.
# cd /usr/ports/security/openssl # make install clean
3. Ставим exim (на момент написания статьи 4.72).
# cd /usr/ports/mail/exim
# make install clean
[ ] | ALT_CONFIG_PREFIX | Allow alternate configuration files |
[X] | AUTH_CRAM_MD5 | Enable CRAM-MD5 authentication mechanisms |
[X] | AUTH_DOVECOT | Enable Dovecot authentication mechanisms |
[X] | AUTH_PLAINTEXT | Enalbe plaintext authentication |
[ ] | AUTH_RADIUS | Enable radius (RFC 2865) authentication |
[ ] | AUTH_SASL | Enable use of Cyrus SASL auth library |
[ ] | AUTH_SPA | Enable Secure Password Authentication |
[X] | CDB | Enable CDB-style lookups |
[ ] | CONTENT_SCAN | Enable exiscan email content scanner |
[X] | DAEMON | Install scripts to run as a daemon |
[ ] | DCC | Enable DCC at ACL support via dccifd |
[ ] | DEBUG | Build with debugging symbols |
[X] | DNSDB | Enable DNS-style lookups |
[X] | DSEARCH | Enable directory-list lookups |
[X] | EMBEDDED_PERL | Enable embedded Perl interpreter |
[ ] | EXIMON | Build eximon monitor (require XFree86!) |
[X] | ICONV | Enable header charset conversion |
[ ] | IPV6 | Enable IPv6 support |
[ ] | KAS | Build with Kaspersky AntiSpam local scan |
[X] | LMTP | RFC2033 SMTP over command pipe transport |
[X] | LSEARCH | Enable wildcarded-file lookups |
[X] | MAILDIR | Enable Maildir mailbox format |
[ ] | MAILSTORE | Enable Mailstore mailbox format |
[ ] | MBX | Enable MBX mailbox format |
[X] | MYSQL | Link against libmysqlclient library |
[ ] | NIS | Enable NIS-style lookups |
[X] | OLD_DEMIME | Enable old, deprecated demime ACL |
[ ] | OPENLDAP | Link against libldap |
[ ] | PAM | Enable PAM authentication mechanisms |
[ ] | PASSWD | Enable /etc/passwd lookups |
[ ] | PGSQL | Link against libpq |
[ ] | READLINE | Enable readline(3) library |
[ ] | SASLAUTHD | Enable use of Cyrus SASL auth daemon |
[ ] | SA_EXIM | SA-Exim support |
[ ] | SO_1024 | Build with Spamoborona-1024 local scan |
[X] | SPF | Enable Sender Policy Framework checking |
[ ] | SQLITE | Enable SQLite lookups |
[X] | SRS | Enable Sender Rewriting Scheme |
[ ] | SRS_ALT | Enable alternative SRS library |
[X] | SUID | Install the exim binary suid root |
[ ] | TCP_WRAPPERS | Enable /etc/hosts.allow access control |
[X] | TLS | Link against OpenSSL |
[ ] | WISHLIST | Include the unsupported patches |
[ ] | XCLIENT | Enable XCLIENT command in exim |
sendmail /usr/local/sbin/exim
send-mail /usr/local/sbin/exim
mailq /usr/local/sbin/exim -bp
newaliases /usr/local/sbin/exim -bi
hoststat /usr/local/sbin/exim
purgestat /usr/local/sbin/exim
5. Создаем рабочие папки для домена (или доменов) и почтового ящика.
# mkdir -p /data/mail/sentec.ru/info
# chown -R mailnull:mail /data/mail
# mysql -u root -p
mysql> create database exim;
mysql> grant all privileges on exim.* to ‘exim’@’localhost’ identified by ‘exim_pass’;
mysql>exit
# fetch http://www.cool-movies.ru/lib/files/sql/exim.sql
# mysql -u root -p exim < exim.sql
Назначение таблиц БД exim логично вытекает из их названия.
- domains — имена почтовых доменов, адреса МХ-серверов и их IP-адресов
- accounts — учётные записи пользователей
- aliases — псевдонимы почтовых адресов
- spam_domains — список запрещенных доменов
- spam_emails — список запрещенных почтовых адресов
- spam_ip_senders — список запрещенных ip-адресов
- white_domains — список разрешенных доменов
- white_emails — список разрешенных почтовых адресов
- white_ip_senders — список разрешенных ip-адресов
# fetch http://www.cool-movies.ru/lib/files/conf/configure.exim
# mv /usr/local/etc/exim/configure /usr/local/etc/exim/configure.1st
# mv configure.exim /usr/local/etc/exim/configure
# chown root:wheel /usr/local/etc/exim/configure
# echo ‘sendmail_enable=»NO»‘ >> /etc/rc.conf
# echo ‘sendmail_submit_enable=»NO»‘ >> /etc/rc.conf
# echo ‘sendmail_outbound_enable=»NO»‘ >> /etc/rc.conf
# echo ‘sendmail_msp_queue_enable=»NO»‘ >> /etc/rc.conf
# echo ‘spamd_enable=»YES»‘ >> /etc/rc.conf
# echo ‘exim_enable=»YES»‘ >> /etc/rc.conf
# echo ‘dovecot_enable=»YES»‘ >> /etc/rc.conf
# /usr/local/etc/rc.d/exim start
# telnet localhost smtp
Trying 127.0.0.1…
Connected to localhost.
Escape character is ‘^]’.
220 mail.sentec.ru ESMTP Sendmail 8.14.3/8.14.3; Tue, 26 Oct 2010 20:53:28 +0300
quit
Connection closed by foreign host.
#
11. Отправим тестовое письмо.
# mail -s ‘First letter for sentec mail server’ info@sentec.ru
This is test message!
.
EOT
#
# tail /var/log/exim/mainlog
2010-10-26 21:34:24 1PAnPk-0005al-AG <= root@mail.sentec.ru U=root P=local S=323 2010-10-26 21:34:24 1PAnPk-0005al-AG => info <info@sentec.ru> R=localuser T=local_delivery
2010-10-26 21:34:24 1PAnPk-0005al-AG Completed
Для этого ставим проверенный и надежный POP/IMAP-сервер Dovecot (голубятня :)).
# cd /usr/ports/mail/dovecot
# make && make install && make clean
# fetch http://www.cool-movies.ru/lib/files/conf/dovecot_conf.tgz
# mkdir -p /etc/ssl/certs
# mkdir -p /etc/ssl/private
# /usr/local/share/examples/dovecot/mkcert.sh
# ls -l /etc/ssl/certs && ls -l /etc/ssl/private
# /usr/local/etc/rc.d/dovecot start
На этом — все.
Один отзыв на «Пошаговое руководство по установке Exim+MySQL+Dovecot+SSL на FreeBSD»
-
Магнитный замок agb polaris батуты INTEX Замок rfmlocks.ru
Но пока заткнулся в самом конце, когда делаю
/usr/local/share/examples/dovecot/mkcert.sh
/usr/local/share/examples/dovecot/mkcert.sh
error on line -1 of dovecot-openssl.cnf
47960:error:02001002:system library:fopen:No such file or directory:/usr/src/secure/lib/libcrypto/../../../crypto/openssl/crypto/bio/bss_file.c:126:fopen(‘dovecot-openssl.cnf’,’rb’)
47960:error:2006D080:BIO routines:BIO_new_file:no such file:/usr/src/secure/lib/libcrypto/../../../crypto/openssl/crypto/bio/bss_file.c:129:
47960:error:0E078072:configuration file routines:DEF_LOAD:no such file:/usr/src/secure/lib/libcrypto/../../../crypto/openssl/crypto/conf/conf_def.c:197:
но должно быть chown root:wheel /usr/local/etc/exim/configure