Zimbra — это один из самых известных в мире почтовых серверов с открытым исходным кодом от компании VMware. Данный продукт, включающий в себя множество функций и возможностей, отлично подойдет как для крупных компаний, так и для небольших коммерческих фирм. В предлагаемой статье мы рассмотрим алгоритм установки и настройки почтового сервера Zimbra, используя бесплатную лицензию продукта (Open
Нужна помощь? Настройки Zimbra и обслуживание почтовых серверов мы осуществляем в рамках услуги ИТ-аутсорсинг. Также возможны разовые проектные работы или аренда почтового сервера Microsoft Exchange.
Настраиваем CentOS
Прежде чем устанавливать Zimbra, настроим сам сервер под управлением CentOS. Подготовка включает в себя следующие этапы:
- Отключаем Selinux. Selinux в активном режиме не позволит корректно произвести установку Zimbra, поэтому его следует отключить. Для этого воспользуемся следующей командой:
После этого перезагружаем сервер командой:
# sed -i "s/SELINUX=enforcing/SELINUX=disabled/" /etc/selinux/config
# shutdown -r now
- Настраиваем порты. Zimbra – это почтовый сервер поэтому для его корректной работы необходимо открыть ряд стандартных портов, используемых для отправки, загрузки, защиты и т.д. Помимо этого Zimbra, как панели управления требуется открыть ряд других, специфических портов для работы через веб-интерфейс.
# firewall-cmd --permanent --add-port={25,80,110,143,443,465,587,993,995,5222,5223,9071,7071,8443,7143,7993,7110,7995}/tcp
- Указываем имя сервера. Во избежание ошибки, которая может возникнуть в процессе установки Zimbra, очень важным пунктом становится внесение записи о сервере в локальный файл hosts. Для этого выполним следующее:
1. Зададим FQDN-имя сервера:2. Пропишем ip-адрес а файле hosts:# hostnamectl set-hostname zimbra.mydomain.ru
После подготовки сервера можем перейти к следующим этапам установки и настройки почтового сервера Zimbra.# vi /etc/hosts
Настраиваем DNS
Важной частью при настройке домена является указание DNS записей. Без их внесения корректный обмен почтой невозможен. Для Zimbra требуются следующие типы записей:
- MX. Данный тип записи, используя протокол SMTP, позволяет маршрутизацию электронной почты, определяет почтовый сервер для домена.
@ MX 10 mail 3600
- A. Указывает на соответствие ip-адреса сервера и доменного имени. В нашем примере это сервер zimbra.mydomain.ru, который доступен по внешнему ip-адресу в сеть интернет.
@ A (ip-адрес) 3600 mail A (ip-адрес) 3600 www A (ip-адрес) 3600
- PTR. Данная запись разрешает обратное преобразование ip-адреса в доменное имя. Она необходима для подтверждения отправителя почты.
(ip-адрес) PTR zimbra.mydomain.ru
- SPF. Запись содержит в себе список доверенных серверов, которым разрешена отправка почты с данного доменного имени. Также здесь хранятся сведения о механизме обработки писем, которые отправляются с других серверов. Корректно настроенная SPF запись гарантирует снижение риска отправки спама третьими лицами от вашего домена.
@ TXT v=spf1 ip4:(ip-адрес) -all
- DKIM. Еще один стандарт записи для защиты электронной почты, используемый для подтверждения владельца доменного имени. Сущность метода заключается в расшифровке кода письма специальной последовательностью, которая хранится в TXT-записи на DNS.
- DMARC. Запись формата TXT в зоне доменного имени, которая определяет политику обработки исходящих писем. Запись необходима для сохранности репутации домена.
Загрузка дистрибутива Zimbra и установка
- На странице загрузки официального сайта Zimbra копируем ссылку дистрибутива. Скопированной ссылкой загружаем дистрибутив:
# wget https://files.zimbra.com/downloads/8.8.15_GA/zcs-NETWORK-8.8.15_GA_3869.UBUNTU18_64.20190918004220.tgz
- После загрузки распаковываем архив с файлами для установки:
# tar -xzvf zcs-*.tgz
- Далее перейдем в директорию куда распаковали наш архив:
# cd zcs-*/
- Следующей командой запускаем процесс установки:
# ./install.sh
- Принимаем отображенное лицензионное соглашение:
Do you agree with the terms of the software license agreement? [N] Y
- Подтверждаем использование репозитория от Zimbra:
Use Zimbra's package repository [Y] Y
- Отмечаем необходимые компоненты:
Install zimbra-ldap [Y] Y Install zimbra-logger [Y] Y Install zimbra-mta [Y] Y Install zimbra-dnscache [Y] Y Install zimbra-snmp [Y] Y Install zimbra-store [Y] Y Install zimbra-apache [Y] Y Install zimbra-spell [Y] Y Install zimbra-convertd [Y] Y Install zimbra-memcached [Y] Y Install zimbra-proxy [Y] Y Install zimbra-archiving [N] Y Install zimbra-drive [Y] Y Install zimbra-imapd (BETA - for evaluation only) [N] N Install zimbra-network-modules-ng [Y] Y Install zimbra-talk [Y] Y
- Подтверждаем модификацию:
The system will be modified. Continue? [N] Y
- Ждем окончания процесса. В случае отсутствия записи MX для домена, появится предупреждение:
It is suggested that the domain name have an MX record configured in DNS
- Даем отрицательный ответ на требование установщика изменить домен:
Change domain name? [Yes] No
- Далее на экране отобразится меню с настройкой Zimbra:
Main menu 1) Common Configuration: 2) zimbra-ldap: Enabled 3) zimbra-logger: Enabled 4) zimbra-mta: Enabled 5) zimbra-dnscache: Enabled 6) zimbra-snmp: Enabled 7) zimbra-store: Enabled +Create Admin User: yes +Admin user to create: [email protected] ******* +Admin Password UNSET +Anti-virus quarantine user: [email protected] +Enable automated spam training: yes +Spam training user: [email protected] +Non-spam(Ham) training user: [email protected] +SMTP host: zimbra.mydomain.ru +Web server HTTP port: 8080 +Web server HTTPS port: 8443 +Web server mode: https +IMAP server port: 7143 +IMAP server SSL port: 7993 +POP server port: 7110 +POP server SSL port: 7995 +Use spell check server: yes +Spell server URL: http://zimbra.mydomain.ru:7780/aspell.php +Enable version update checks: TRUE +Enable version update notifications: TRUE +Version update notification email: [email protected] +Version update source email: [email protected] +Install mailstore (service webapp): yes +Install UI (zimbra,zimbraAdmin webapps): yes ******* +License filename: UNSET 8) zimbra-spell: Enabled 9) zimbra-convertd: Enabled 10) zimbra-proxy: Enabled 11) Default Class of Service Configuration: 12) Enable default backup schedule: yes s) Save config to file x) Expand menu q) Quit
- Теперь настроим обязательные настройки, отмеченные звездочками в пункте «7». В нашем случае это только задать пароль администратора, так как собираемся использовать бесплатную версию продукта. Вводим номер пункта для настройки – «7».
Address unconfigured (**) items (? - help) 7
- Задаем пароль. Затем покидаем меню:
Select, or 'r' for previous menu [r] 4
Select, or 'r' for previous menu [r] r
- Подтверждаем применение настроек:
Select from menu, or press 'a' to apply config (? - help) a
- Даем согласие на сохранение конфигурационного файла:
Save configuration data to a file? [Yes] Y
- Подтверждаем процесс модификации:
The system will be modified - continue? [No] Y
- В течение некоторого времени установка будет завершена. Система направит запрос на отправку уведомлений. В данном случае можно отказаться:
Notify Zimbra of your installation? [Yes] N
- Готово! Сервер установлен, но есть нюанс, необходимо заново задать пароль для пользователя root, так как установщик почтового сервера Zimbra изменит его в процессе выполнения установки. Задаем пароль:
passwd root
Настраиваем Zimbra
Для начала использования почтового сервера, необходимо внести в него основные настройки. Для этого в браузере переходим по адресу https://<IP-адрес сервера>:7071. Откроется страница с уведомлением об ошибке, подтверждаем открытие страницы. Отобразится форма для ввода данных в административную панель Zimbra. Входим в панель введя соответствующие данные, заданный при установке. В случае, если при установке сервера, рабочий домен не был изменен, то он будет соответствовать имени сервера. Далее опишем действия для смены имени домена:
- Переходим в Настройки – Домены. Кликаем по значку шестеренки и выбираем пункт Создать.
- В поле указываем имя домена.
- Нажимаем Далее. Выбираем почтовый сервер. Готово.
- Для изменения домена по умолчанию, перейдем по следующему пути: Настройка – Глобальные настройки. В поле «Домен по умолчанию» прописываем нужный нам домен. Сохраняем.
- Создадим почтовый ящик. В панели администрирования переходим в Управление – Учетные записи. Кликаем по шестеренки – Создать.
- Вводим данные: имя и фамилию пользователя.
- Вводим данные: имя и фамилию пользователя. Вводим пароль пользователя. Если необходимо создать административную учетную запись, отмечаем это проставив галочку Глобальный администратор. Готово.
Установка SSL сертификата
В данном разделе рассмотрим пример установки бесплатного SSL сертификата от Let`s Encrypt. Процедура установки разбита на несколько этапов:
Этап 1 – получаем сертификат.
- Сперва перейдем в каталог /opt:
# cd /opt
- Для получения сертификата загрузим утилиту, введя следующую команду:
git clone https://github.com/letsencrypt/letsencrypt
- Запускаем проверку подлинности домена:
Установятся несколько пакетов, потребуется ввести адрес почты, принять лицензионное соглашение и подписаться на рассылки Let`s Encrypt:
# /opt/letsencrypt/letsencrypt-auto certonly --standalone
Enter email address (used for urgent renewal and security notices) (Enter 'c' to cancel): [email protected] - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Please read the Terms of Service at https://letsencrypt.org/documents/LE-SA-v1.2-November-15-2017.pdf. You must agree in order to register with the ACME server at https://acme-v02.api.letsencrypt.org/directory - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - (A)gree/(C)ancel: A - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Would you be willing to share your email address with the Electronic Frontier Foundation, a founding partner of the Let's Encrypt project and the non-profit organization that develops Certbot? We'd like to send you email about our work encrypting the web, EFF news, campaigns, and ways to support digital freedom. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - (Y)es/(N)o: Y
- Далее утилита запросит ввести имя сервера для получения сертификата. Вводим имя нашего сервера:
Please enter in your domain name(s) (comma and/or space separated) (Enter 'c' to cancel): zimbra.mydomain.ru
- После проверки – получаем подобный ответ:
Таким образом мы получили сертификат, все файлы которого теперь находятся в каталоге: /etc/letsencrypt/live/zimbra.mydomain.ru/.
... - Congratulations! Your certificate and chain have been saved at: /etc/letsencrypt/live/zimbra.mydomain.ru/fullchain.pem Your key file has been saved at: ...
Этап 2 – устанавливаем сертификат
- Полученный сертификат копируем в каталог Zimbra:
# cp /etc/letsencrypt/live/zimbra.mydomain.ru/* /opt/zimbra/ssl/zimbra/commercial/
- Для скопированных файлов назначим нового владельца:
# chown zimbra /opt/zimbra/ssl/zimbra/commercial/*
- Особенностью установки SSL для Zimbra является то, цепочка сертификатов не будет применена, если отсутствуют корневые от Let`s Encrypt, которые можно получить по следующим ссылкам:
https://letsencrypt.org/certs/isrgrootx1.pem.txt
https://letsencrypt.org/certs/letsencryptauthorityx3.pem.txt
Теперь полученную последовательность необходимо прописать в файл chain.pem:# vi /opt/zimbra/ssl/zimbra/commercial/chain.pem
- Далее логинемся в системе под пользователем Zimbra и перейдем в следующий каталог:
# su - zimbra $ cd /opt/zimbra/ssl/zimbra/commercial
- Осуществляем проверку:
$ zmcertmgr verifycrt comm privkey.pem cert.pem chain.pem
- Получаем ответ:
** Verifying 'cert.pem' against 'privkey.key' Certificate 'cert.pem' and private key 'privkey.key' match. ** Verifying 'cert.pem' against 'chain.pem' Valid certificate chain: cert.pem: OK
- Меняем имя ключа и установим сертификат:
$ mv privkey.pem commercial.key $ zmcertmgr deploycrt comm cert.pem chain.pem
- Для применения параметров перезагружаем Zimbra:
$ zmcontrol restart
- Завершаем работу пользователя Zimbra, выходим:
$ exit
Проверка
Для проверки работоспособности почтового сервера воспользуемся сервисом MXtoolbox. В разделе MX введем адрес нашего почтового сервера. В результате, если указаны все необходимые записи, система выдаст результат проверки.
Перейдя в раздел Email Health, также можно провести более подробную проверку сервера. Система выдаст информацию в виде сгруппированного списка. Таким образом очень удобно и быстро можно проверить состояние почтового сервера.
В данной статье мы рассмотрели установку и настройку почтового сервера Zimbra. Рассмотрели подготовку сервера под управлением CentOS 7, пошагово продемонстрировали этапы загрузки, установки и настройки Zimbra. Также в статье привели пример установки бесплатного сертификата от Let`s Encrypt и осуществили проверку DNS записей. Есть вопросы? Задавайте!