+7 495 230 03 03 8 800 222 50 03
DevOps

Установка и настройка Zimbra на CentOS 7

Zimbra — это один из самых известных в мире почтовых серверов с открытым исходным кодом от компании VMware. Данный продукт, включающий в себя множество функций и возможностей, отлично подойдет как для крупных компаний, так и для небольших коммерческих фирм. В предлагаемой статье мы рассмотрим алгоритм установки и настройки почтового сервера Zimbra, используя бесплатную лицензию продукта (Open

Нужна помощь? Настройки Zimbra и обслуживание почтовых серверов мы осуществляем в рамках услуги ИТ-аутсорсинг. Также возможны разовые проектные работы или аренда почтового сервера Microsoft Exchange.

Настраиваем CentOS

Прежде чем устанавливать Zimbra, настроим сам сервер под управлением CentOS. Подготовка включает в себя следующие этапы:

  1. Отключаем Selinux. Selinux в активном режиме не позволит корректно произвести установку Zimbra, поэтому его следует отключить. Для этого воспользуемся следующей командой:
    # sed -i "s/SELINUX=enforcing/SELINUX=disabled/" /etc/selinux/config
    После этого перезагружаем сервер командой:
    # shutdown -r now
  2. Настраиваем порты. 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
  3. Указываем имя сервера. Во избежание ошибки, которая может возникнуть в процессе установки Zimbra, очень важным пунктом становится внесение записи о сервере в локальный файл hosts. Для этого выполним следующее:
    1. Зададим FQDN-имя сервера:
    # hostnamectl set-hostname zimbra.mydomain.ru
    2. Пропишем ip-адрес а файле hosts:
    # vi /etc/hosts
    После подготовки сервера можем перейти к следующим этапам установки и настройки почтового сервера Zimbra.

Настраиваем DNS

Важной частью при настройке домена является указание DNS записей. Без их внесения корректный обмен почтой невозможен. Для Zimbra требуются следующие типы записей:

  1. MX. Данный тип записи, используя протокол SMTP, позволяет маршрутизацию электронной почты, определяет почтовый сервер для домена.
    @ MX 10 mail 3600
  2. A. Указывает на соответствие ip-адреса сервера и доменного имени. В нашем примере это сервер zimbra.mydomain.ru, который доступен по внешнему ip-адресу в сеть интернет.
    @ A (ip-адрес) 3600
    mail A (ip-адрес) 3600
    www A (ip-адрес) 3600
    
  3. PTR. Данная запись разрешает обратное преобразование ip-адреса в доменное имя. Она необходима для подтверждения отправителя почты.
    (ip-адрес) PTR zimbra.mydomain.ru
  4. SPF. Запись содержит в себе список доверенных серверов, которым разрешена отправка почты с данного доменного имени. Также здесь хранятся сведения о механизме обработки писем, которые отправляются с других серверов. Корректно настроенная SPF запись гарантирует снижение риска отправки спама третьими лицами от вашего домена.
    @ TXT v=spf1 ip4:(ip-адрес) -all
  5. DKIM. Еще один стандарт записи для защиты электронной почты, используемый для подтверждения владельца доменного имени. Сущность метода заключается в расшифровке кода письма специальной последовательностью, которая хранится в TXT-записи на DNS.
  6. DMARC. Запись формата TXT в зоне доменного имени, которая определяет политику обработки исходящих писем. Запись необходима для сохранности репутации домена.

Загрузка дистрибутива Zimbra и установка

  1. На странице загрузки официального сайта Zimbra копируем ссылку дистрибутива. Скопированной ссылкой загружаем дистрибутив:
    # wget https://files.zimbra.com/downloads/8.8.15_GA/zcs-NETWORK-8.8.15_GA_3869.UBUNTU18_64.20190918004220.tgz
  2. После загрузки распаковываем архив с файлами для установки:
    # tar -xzvf zcs-*.tgz
  3. Далее перейдем в директорию куда распаковали наш архив:
    # cd zcs-*/
  4. Следующей командой запускаем процесс установки:
    # ./install.sh
  5. Принимаем отображенное лицензионное соглашение:
    Do you agree with the terms of the software license agreement? [N] Y
    
  6. Подтверждаем использование репозитория от Zimbra:
    Use Zimbra's package repository [Y] Y
  7. Отмечаем необходимые компоненты:
    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
    
  8. Подтверждаем модификацию:
    The system will be modified.  Continue? [N] Y
  9. Ждем окончания процесса. В случае отсутствия записи MX для домена, появится предупреждение:
    It is suggested that the domain name have an MX record configured in DNS
  10. Даем отрицательный ответ на требование установщика изменить домен:
    Change domain name? [Yes] No
  11. Далее на экране отобразится меню с настройкой 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
    
  12. Теперь настроим обязательные настройки, отмеченные звездочками в пункте «7». В нашем случае это только задать пароль администратора, так как собираемся использовать бесплатную версию продукта. Вводим номер пункта для настройки – «7».
    Address unconfigured (**) items  (? - help) 7
  13. Задаем пароль. Затем покидаем меню:
    Select, or 'r' for previous menu [r] 4
    Select, or 'r' for previous menu [r] r
  14. Подтверждаем применение настроек:
    Select from menu, or press 'a' to apply config (? - help) a
  15. Даем согласие на сохранение конфигурационного файла:
    Save configuration data to a file? [Yes] Y
  16. Подтверждаем процесс модификации:
    The system will be modified - continue? [No] Y
  17. В течение некоторого времени установка будет завершена. Система направит запрос на отправку уведомлений. В данном случае можно отказаться:
    Notify Zimbra of your installation? [Yes] N
  18. Готово! Сервер установлен, но есть нюанс, необходимо заново задать пароль для пользователя root, так как установщик почтового сервера Zimbra изменит его в процессе выполнения установки. Задаем пароль:
    passwd root

Настраиваем Zimbra

Для начала использования почтового сервера, необходимо внести в него основные настройки. Для этого в браузере переходим по адресу https://<IP-адрес сервера>:7071. Откроется страница с уведомлением об ошибке, подтверждаем открытие страницы. Отобразится форма для ввода данных в административную панель Zimbra. Входим в панель введя соответствующие данные, заданный при установке. В случае, если при установке сервера, рабочий домен не был изменен, то он будет соответствовать имени сервера. Далее опишем действия для смены имени домена:

  • Переходим в Настройки – Домены. Кликаем по значку шестеренки и выбираем пункт Создать.
  • В поле указываем имя домена.
  • Нажимаем Далее. Выбираем почтовый сервер. Готово.
  • Для изменения домена по умолчанию, перейдем по следующему пути: Настройка – Глобальные настройки. В поле «Домен по умолчанию» прописываем нужный нам домен. Сохраняем.
  • Создадим почтовый ящик. В панели администрирования переходим в Управление – Учетные записи. Кликаем по шестеренки – Создать.
  • Вводим данные: имя и фамилию пользователя.
  • Вводим данные: имя и фамилию пользователя. Вводим пароль пользователя. Если необходимо создать административную учетную запись, отмечаем это проставив галочку Глобальный администратор. Готово.

Установка SSL сертификата

В данном разделе рассмотрим пример установки бесплатного SSL сертификата от Let`s Encrypt. Процедура установки разбита на несколько этапов:

Этап 1 – получаем сертификат.

  1. Сперва перейдем в каталог /opt:
    # cd /opt
  2. Для получения сертификата загрузим утилиту, введя следующую команду:
    git clone https://github.com/letsencrypt/letsencrypt
  3. Запускаем проверку подлинности домена:
    # /opt/letsencrypt/letsencrypt-auto certonly --standalone
    Установятся несколько пакетов, потребуется ввести адрес почты, принять лицензионное соглашение и подписаться на рассылки Let`s Encrypt:
    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
    
  4. Далее утилита запросит ввести имя сервера для получения сертификата. Вводим имя нашего сервера:
    Please enter in your domain name(s) (comma and/or space separated)  (Enter 'c'
    to cancel): zimbra.mydomain.ru
  5. После проверки – получаем подобный ответ:
    ...
     - Congratulations! Your certificate and chain have been saved at:
       /etc/letsencrypt/live/zimbra.mydomain.ru/fullchain.pem
       Your key file has been saved at:
       ...
    
    Таким образом мы получили сертификат, все файлы которого теперь находятся в каталоге: /etc/letsencrypt/live/zimbra.mydomain.ru/.

Этап 2 – устанавливаем сертификат

  1. Полученный сертификат копируем в каталог Zimbra:
    # cp /etc/letsencrypt/live/zimbra.mydomain.ru/* /opt/zimbra/ssl/zimbra/commercial/
  2. Для скопированных файлов назначим нового владельца:
    # chown zimbra /opt/zimbra/ssl/zimbra/commercial/*
  3. Особенностью установки 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 
  4. Далее логинемся в системе под пользователем Zimbra и перейдем в следующий каталог:
    # su - zimbra
    $ cd /opt/zimbra/ssl/zimbra/commercial
    
  5. Осуществляем проверку:
    $ zmcertmgr verifycrt comm privkey.pem cert.pem chain.pem
  6. Получаем ответ:
    ** 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
  7. Меняем имя ключа и установим сертификат:
    $ mv privkey.pem commercial.key
    $ zmcertmgr deploycrt comm cert.pem chain.pem
    
  8. Для применения параметров перезагружаем Zimbra:
    $ zmcontrol restart
  9. Завершаем работу пользователя Zimbra, выходим:
    $ exit

Проверка

Для проверки работоспособности почтового сервера воспользуемся сервисом MXtoolbox. В разделе MX введем адрес нашего почтового сервера. В результате, если указаны все необходимые записи, система выдаст результат проверки.

Перейдя в раздел Email Health, также можно провести более подробную проверку сервера. Система выдаст информацию в виде сгруппированного списка. Таким образом очень удобно и быстро можно проверить состояние почтового сервера.

В данной статье мы рассмотрели установку и настройку почтового сервера Zimbra. Рассмотрели подготовку сервера под управлением CentOS 7, пошагово продемонстрировали этапы загрузки, установки и настройки Zimbra. Также в статье привели пример установки бесплатного сертификата от Let`s Encrypt и осуществили проверку DNS записей. Есть вопросы? Задавайте!

Дата публикации: 1 декабря 2021
Не нашли ответа на свой вопрос?

Смотрите также

Обсуждение материала

Содержание

Заказать звонок

Оставьте свои данные для того, чтобы специалист с вами связался.

*нажимая на кнопку, Вы даете согласие на обработку персональных данных
Быстрое внедрение включает:
На сервере установлено следующее ПО (доступно при подключении по протоколу RDP):
Также настроено:
Перед внедрением клиент предоставляет информацию о пользователях (логины и пароли). После завершения работ, клиенту высылается инструкция и ярлык для подключения.
Индивидуальное внедрение по ТЗ клиента обсуждается отдельно.