Почтовый сервер на CentOS 7. Установка Dovecot + Exim + Roundcube
В данной статье мы установим и настроим почтовый сервер с использованием Exim и Dovecot на CentOS 7.5 VPS с использованием веб интерфейса Roundcube.
Для этого мы используем VPS на базе CentOS; с предварительно установленной с минимальной CentOS 7.5
Что такое Exim?
Exim - это агент пересылки почты (MTA), который обычно используется в Unix-подобных операционных системах. Exim - это бесплатное программное обеспечение, которое распространяется в соответствии с условиями GNU (General Public License), является универсальным и гибким почтовым средством с обширными возможностями для проверки входящей электронной почты.
Что такое Dovecot?
Dovecot - это почтовый сервер с открытым исходным кодом IMAP и POP3 для Linux / UNIX-подобных систем. Безопасность стала краеугольным камнем в создании данного продукта нацеленного на гибкость и быстродействие.
Dovecot - это прекрасный выбор как для небольших, так и для крупных почтовых систем.
Что такое Roundcube?
Roundcube — веб-интерфейс для работы с электронной почтой, предоставляет возможность работать с вашими почтовыми ящиками используя IMAP и SMTP. Приложение обладает мощным функционалом и по возможностям сравнимо с настольными почтовыми клиентами, такими как Outlook Express или Mozilla Thunderbird
Подготовка и настройка
Подключим дополнительный репозиторий EPEL.
Для чего выполним:
# yum install <a class="external free" href="https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm">https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm</a>
# yum update
Чтобы проверить что вновь добавленный репозиторий EPEL подключился к нашей системе введем:
# yum repolist
После чего установим некоторые полезные инструменты:
# yum install file perl-Mail-SPF.noarch openssl nano
Exim установка и настройка
# yum install exim
Теперь мы откроем файл /etc/exim/exim.conf, используя ваш любимый редактор,предварительно создав его резервную копию и приведем его к следующему виду:
# cp /etc/exim/exim.conf{,.original}
# nano /etc/exim/exim.conf
primary_hostname = mail.mypostdomain.com
domainlist local_domains = @ : mypostdomain.com
tls_advertise_hosts = *
tls_certificate = /etc/ssl/mail.mypostdomain.com.crt
tls_privatekey = /etc/ssl/mail.mypostdomain.com.key
auth_advertise_hosts = *
Обратим внимание на строки tls_certificate и tls_privatekey, мы будем использовать Сертификат, Вы можете заказать его на нашем сайте и найти необходимые файлы в Личном кабинете - SSL
Далее перейдем к разделу транспорт и приведем к виду:
local_delivery:
driver = appendfile
directory = $home/Maildir
maildir_format
maildir_use_size_file
delivery_date_add
envelope_to_add
return_path_add
Далее в разделе аутентификации добавим несколько строк:
dovecot_login:
driver = dovecot
public_name = LOGIN
server_socket = /var/run/dovecot/auth-client
server_set_id = $auth1
dovecot_plain:
driver = dovecot
public_name = PLAIN
server_socket = /var/run/dovecot/auth-client
server_set_id = $auth1
Запустим exim, и добавим его в автозагрузку системы используя systemctl:
# systemctl start exim
# systemctl status exim
# systemctl enable exim
Настройка Dovecot
# yum install dovecot
После установки отредактируем файлы конфигурации:
# nano /etc/dovecot/conf.d/10-ssl.conf
ssl = yes
ssl_cert = /etc/ssl/mail.mypostdomain.com.crt
ssl_key = /etc/ssl/mail.mypostdomain.com.key
# nano /etc/dovecot/conf.d/10-auth.conf
disable_plaintext_auth = no
auth_mechanisms = plain login
# nano /etc/dovecot/conf.d/10-mail.conf
mail_location = maildir:~/Maildir
# vim /etc/dovecot/conf.d/10-master.conf
service auth {
...
unix_listener auth-client {
mode = 0660
user = exim
}
}
Запустим dovecot, и добавим его в автозагрузку системы используя systemctl.
# systemctl start dovecot
# systemctl status dovecot
# systemctl enable dovecot
Roudcube
LAMP
# yum install roundcubemail
# nano /etc/httpd/conf.d/roundcube.conf
#
# Round Cube Webmail is a browser-based multilingual IMAP client
#
Alias /roundcube /usr/share/roundcubemail
Alias /webmail /usr/share/roundcubemail
Options none
AllowOverride Limit
Require all granted
Options none
AllowOverride Limit
Require all granted
# Those directories should not be viewed by Web clients.
Order Allow,Deny
Deny from all
Order Allow,Deny
Deny from all
# service httpd restart
# mysql -u root -p
mysql> CREATE DATABASE dbroundcube;
mysql> CREATE USER userroundcube@localhost IDENTIFIED BY 'password';
mysql> GRANT ALL PRIVILEGES on dbroundcube.* to userroundcube@localhost ;
mysql> FLUSH PRIVILEGES;
mysql> quit
http://mail.mypostdomain.com/roundcube/installer
POP3: 110
IMAP: 143
SMTP: 25