Zimbra — это открытый программный продукт созданный для автоматизации и упрощения совместной деятельности любых рабочих групп в масштабах государственного или частного бизнеса. Сейчас Zimbra применяется в более чем 5000 компаниях, включая такие мировые бренды, как NTT Communications, Comcast, Dell, Cadbury, Investec, Rackspace, Red Hat, VMware, H&R Block и Vodafone. Всего больше 100 миллионов конечных пользователей в более чем 140 странах мира. Zimbra — третий по размеру провайдер средств коллективной работы в мире с активным сообществом разработчиков и мировой партнёрской сетью.
Сегодня я расскажу как установить и настроить у себя в локальной сети почтовый сервер Zimbra, но для начала приведу сравнительную таблицу по функционалу, на который делится Zimbra:
Zimbra Collaboration Product Edition Comparison |
Network Edition |
Open Source Edition (OSE) |
||
---|---|---|---|---|
Professional Edition | Standard Edition | OSE + Zimbra Suite Plus | OSE | |
Basic Search | ● | ● | ● | ● |
Zimlets for Simple Customizations | ● | ● | ● | ● |
Conversation Views | ● | ● | ● | ● |
Offline Web Client (Chrome & Firefox) | ● | ● | ● | ● |
Advanced Search Builder | ● | ● | ● | ● |
Attachment Search | ● | ● | ● | |
Contacts | ||||
Personal Distribution Lists | ● | ● | ● | ● |
Global Address Lists (GAL) | ● | ● | ● | ● |
MS Exchange Interoperability | ● | ● | ||
Calendar | ||||
Calendar Feature | ● | ● | ● | ● |
Group & Resource Scheduling | ● | ● | ● | ● |
MS Exchange Interoperability | ● | ● | ||
Sharing Folders and Files | ||||
File Briefcase | ● | ● | ● | ● |
Zimbra Docs | ● | ● | ||
Zimbra Drive | ● | ● | ||
Tasks | ||||
Tasks Feature | ● | ● | ● | ● |
Zimbra Connect | ||||
1-to-1 Chat | ● | ● | ||
Buddy List Management | ● | ● | ||
Emoji’s | ● | ● | ||
Chat History | ● | ● | ||
Presence Management | ● | ● | ||
Group Chat | $ | $ | ||
1-to-1 & Group Video Calls | $ | $ | ||
Screen Sharing | $ | $ | ||
File Sharing | $ | $ | ||
Message Delivery & Read Awareness | $ | $ | ||
Corporate Messaging (Spaces and Channels) | $ | $ | ||
Desktop Clients | ||||
POP and IMAP Email | ● | ● | ● | ● |
CardDAV, iCal and CalDAV Clients | ● | ● | ● | ● |
Mobile Devices | ||||
POP & IMAP Email for Smartphones | ● | ● | ● | ● |
CardDAV Contacts & CalDAV Calendar | ● | ● | ● | ● |
Server Administration | ||||
Web Administration Console | ● | ● | ● | ● |
Command Line Interface (CLI) | ● | ● | ● | ● |
Integrated Anti-Spam and Anti-Virus | ● | ● | ● | ● |
Postscreen MTA Security | ● | ● | ● | ● |
SSL SNI | ● | ● | ● | ● |
Real-time Backup and Restore | ● | ● | ● | |
Hierarchical Storage Management (HSM) | ● | ● | ● | |
Volume Compression | ● | ● | ● | |
Volume Deduplication | ● | ● | ● | |
Volume Management Tools | ● | ● | ● | |
S3 Object Storage Support | ● | ● | ● | |
VMware vSphere HA Application Monitoring | ● | ● | ||
LDAP and MS Active Directory Support | ● | ● | ||
Domain Management & Customization | ||||
Multi-Domain Support | ● | ● | ● | ● |
Domain Limitations (Users / COS / Quota) | ● | ● | ● | ● |
Delegated Administration | ● | ● | ● | |
Monthly Activity Reports | ● | ● | ● | |
Audit Log Browser | ● | ● | ● | |
Per Domain White Label Web Client Branding | ● | ● | ||
Advanced, Business-Ready Features | ||||
Custom Retention Policies | ● | |||
Litigation Hold | ● | |||
Archiving & Discovery | ● | |||
Smart Card & Common Access Card | ● | ● | ||
S/MIME Digital Signatures & Encryption | ● | ● | ||
Two-Factor Authentication | ● | ● | ||
Unified Communications Integration | ● | ● | ||
High Fidelity Document Preview | ● | ● | ||
Zimbra Mobile (ActiveSync) | ● | ● | ||
Shared Items Synchronization on Mobile | ● | ● | ||
Allow/Block/Quarantine (ABQ) | ● | ● | ||
Mobile Device Policy Management | ● | ● | ||
Outlook Sync (MAPI) | ● | |||
Outlook for Mac (EWS) | $ | $ | ||
Zimbra Support | ||||
Communities & Forums | ● | ● | ● | ● |
Email & Phone Support (8×5) | ● | ● | ||
Open Source Support | ● | $ | ||
Premier Support (24×7) | $ | $ | ||
Elite (Support package for customers requiring full services for supporting and enhancing platform) | $ | $ | ||
Elite + (Includes Elite Support and Network Edition core Source Code Support) | $ | $ | ||
Zimbra Professional Services | $ | $ |
Архитектура Zimbra достаточно обширна и включает в себя множество модулей, и обладает следующим основным функционалом:
- Доставка, хранение и отправление электронной почты.
- Индексация почты.
- Логирование почтового сервера.
- Поддержка протоколов IMAP, POP, CalDAV и CarDAV.
- Служба каталогов.
- Антиспам защита (Spam Assassin).
- Антивирусная защита (ClamAV).
- Синхронизация с мобильными платформами: Android, iOS, Windows.
В качестве стенда используем сервер Ubunty 18.04. В качестве инсталляционного диска я использовал образ mini с сайта сообщества Ubuntu (Ubuntu 18.04 “Bionic Beaver” 64MB,64-bit PC (amd64, x86_64)). Во время установки отметил базовые пакеты и ssh сервер.
Прежде чем приступить к установке почтового сервера необходимо указать статичный IP адрес для вашей машины. В Ubuntu 18.04 и новее настройка сети производится через yaml файл. Для начала нужно выяснить имена сетевых интерфейсов:
1 |
ifconfig -a |
В моем случае имя сетевого интерфейса – ens160. Открываем файл yaml в папке /etc/netplan/ универсальной командой:
1 |
sudo nano /etc/netplan/*.yaml |
Свой файл я привел к следующему виду:
1 2 3 4 5 6 7 8 9 10 11 12 |
# This file describes the network interfaces available on your system # For more information, see netplan(5). network: version: 2 renderer: networkd ethernets: ens160: dhcp4: no addresses: [192.168.0.33/22] gateway4: 192.168.0.1 nameservers: addresses: [8.8.8.8, 77.88.8.8] |
– очень важно соблюсти количество пробелов в данном файле, все разделы разделяются двумя пробелами!
После редактирования файла и его сохранения необходимо проверить и применить настройки:
1 |
sudo netplan try |
нажимаем клавишу Enter на запрос о сохранении настроек. Если у вас будут ошибки в конфигурационном файле, то система выдаст соответствующее предупреждение.
Установка dnsmasq, gnupg2 и подготовка к установке Zimbra.
Так как Ubuntu 18.04 поставляется с systemd-resolve, нам необходимо отключить systemd-resolve для освобождения 53го порта. Для этого выполним следующие команды:
1 |
sudo systemctl disable systemd-resolved |
и
1 |
sudo systemctl stop systemd-resolved |
Удалим симлинк на файл resolv.conf и сам файл:
1 2 |
ls -lh /etc/resolv.conf sudo rm /etc/resolv.conf |
Создадим новый файл resolv.conf:
1 |
echo "nameserver 8.8.8.8" > /etc/resolv.conf |
Приступаем к установке Dnsmasq:
1 |
sudo apt-get install dnsmasq |
Приводим файл /etc/dnsmasq.conf к следующему виду:
1 2 3 4 5 6 7 8 |
server=8.8.8.8 listen-address=127.0.0.1 # ваш домен domain=мойдомен.com # устанавливаем МХ запись для домена mx-host=мойдомен.com,mail.мойдомен.com,0 # указываем сопоставление IP адреса с хостом address=/mail.мойдомен.com/xxx.xxx.xxx.xxx |
И перезапускаем Dnsmasq:
1 |
sudo systemctl restart dnsmasq |
Почему-то ни в одном мануале нет упоминания об установке GnuPG2, а без него у меня установка не пошла, по этому установим необходимый пакет:
1 |
sudo apt-get install gnupg2 |
- 4 vCPU or more depending on your available resources
- 8 GB RAM or more
- 50 GB available disk space
- DNS Server
Проверяем файл /etc/hosts
1 2 3 4 5 6 7 |
127.0.0.1 localhost 192.168.0.33 mail.мойдомен.com mail # The following lines are desirable for IPv6 capable hosts ::1 localhost ip6-localhost ip6-loopback ff02::1 ip6-allnodes ff02::2 ip6-allrouters |
– если у вас сервер находится не в локальной сети, то содержимое 2й строчки должно содержать внешний IP адрес
Если у вас не установлены DNS утилиты, ставим их:
1 |
sudo apt-get install dnsutils |
Далее подготавливаем сервер для установки Zimbra выполнив следующие команды:
1 |
dig A мойдомен.com |
результатом должно быть следующее сообщение:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
; <<>> DiG 9.11.3-1ubuntu1.11-Ubuntu <<>> A мойдомен.com ;; global options: +cmd ;; Got answer: ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 21757 ;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 1 ;; OPT PSEUDOSECTION: ; EDNS: version: 0, flags:; udp: 512 ;; QUESTION SECTION: ;мойдомен.com. IN A ;; ANSWER SECTION: мойдомен.com. 3599 IN A xxx.xxx.xxx.xxx ;; Query time: 80 msec ;; SERVER: 8.8.8.8#53(8.8.8.8) ;; WHEN: Thu Dec 19 11:16:02 MSK 2019 ;; MSG SIZE rcvd: 56 |
Далее выполняем тоже самое для хоста mail.мойдомен.com:
1 |
dig A mail.мойдомен.com |
и
1 |
dig MX mail.мойдомен.com |
После этого можно приступить к установке Zimbra.
Установка Zimbra Collaboration Open Source Edition.
На момент написания статьи (декабрь 2019 г.) последней версией Zimbra является 8.8.1 5. Скачаем файл:
1 |
wget https://files.zimbra.com/downloads/8.8.15_GA/zcs-8.8.15_GA_3869.UBUNTU18_64.20190918004220.tgz |
извлечем файлы из архива:
1 |
tar xvf zcs-8.8.15_GA_3869.UBUNTU18_64.20190918004220.tgz |
переходим в каталог скрипта:
1 |
cd zcs*/ |
Запускаем скрипт установки:
1 |
sudo ./install.sh |
Скрипт инсталляции проверит установлена ли у вас Zimbra и какие модули имеются в наличии. Так как это первая установка, вы увидите множественные сообщения NOT FOUND и в самом конце вам будет предложено принять условия лицензионного соглашения:
1 2 3 4 5 6 7 8 9 |
PLEASE READ THIS AGREEMENT CAREFULLY BEFORE USING THE SOFTWARE. SYNACOR, INC. ("SYNACOR") WILL ONLY LICENSE THIS SOFTWARE TO YOU IF YOU FIRST ACCEPT THE TERMS OF THIS AGREEMENT. BY DOWNLOADING OR INSTALLING THE SOFTWARE, OR USING THE PRODUCT, YOU ARE CONSENTING TO BE BOUND BY THIS AGREEMENT. IF YOU DO NOT AGREE TO ALL OF THE TERMS OF THIS AGREEMENT, THEN DO NOT DOWNLOAD, INSTALL OR USE THE PRODUCT. License Terms for this Zimbra Collaboration Suite Software: https://www.zimbra.com/license/zimbra-public-eula-2-6.html |
Введите “Y” для того чтобы принять условия лицензионного соглашения и начать установку.
При запросе использования репозиториев Zimbra также ответьте утвердительно: “Y”.
Дальнейшая установка очень проста, скрипт запрашивает какие необходимо установить модули, проверяет A и MX записи вашего почтового сервера:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 |
Use Zimbra's package repository [Y] Y Warning: apt-key output should not be parsed (stdout is not a terminal) Importing Zimbra GPG key Configuring package repository Checking for installable packages Found zimbra-core (local) Found zimbra-ldap (local) Found zimbra-logger (local) Found zimbra-mta (local) Found zimbra-dnscache (local) Found zimbra-snmp (local) Found zimbra-store (local) Found zimbra-apache (local) Found zimbra-spell (local) Found zimbra-memcached (repo) Found zimbra-proxy (local) Found zimbra-drive (repo) Found zimbra-imapd (local) Found zimbra-patch (repo) Found zimbra-mta-patch (repo) Found zimbra-proxy-patch (repo) |
Выберите необходимые модули для установки. По умолчанию предлагается установить такие модули как zimbra-chat и zimbra-drive, которые не будут работать в Zimbra Collaboration Open Source Edition, поэтому я при установке ответил отрицательно:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
Install zimbra-ldap [Y] Install zimbra-logger [Y] Install zimbra-mta [Y] Install zimbra-dnscache [Y] Install zimbra-snmp [Y] Install zimbra-store [Y] Install zimbra-apache [Y] Install zimbra-spell [Y] Install zimbra-memcached [Y] Install zimbra-proxy [Y] Install zimbra-drive [N] Install zimbra-imapd (BETA - for evaluation only) [N] Install zimbra-chat [N] Checking required space for zimbra-core Checking space for zimbra-store Checking required packages for zimbra-store zimbra-store package check complete. |
В следующем шаге скрипт установки выдаст запрос на модификацию системы, необходимо ответить утвердительно: “Y”
1 |
The system will be modified. Continue? [N] Y |
И начинается процесс загрузки и установки выбранных пакетов Zimbra
Перед началом установки скрипт найдет A и MX записи вашего домена (что мы указывали выше) и проверит их доступность. Если вы уверены, что всё указали верно ответьте “NO” на запрос скрипта.
После успешной установки пакетов необходимо будет задать пароль администратора. Для этого нужно перейти в меню отмеченное знаком звездочка * (в нашем варианте это пункт 6 и подпункт 4)
Нажимаем цифру 6 и в следующем меню цифру 4:
система автоматом предложит новый пароль администратора, но вы можете ввести свой (минимум шестизначный). После установки жмем Enter далее возврат в предыдущее (основное меню) букву “r” и соглашаемся с внесением изменений в конфигуратор выбрав “Yes”
После завершения установки в консоли необходимо ввести команду:
1 |
su - zimbra -c "zmcontrol status" |
в результате которой получим состояние работы компонентов нашей системы Zimbra:
Поздравляю, установка Zimbra Open Source Edition (OSE) завершена!
Теперь вам необходимо перейти по IP адресу или полному имени хоста по протоколу https чтобы попасть в админку:
1 |
https://mail.мойдомен.com:7071 |
Вводим логин admin и пароль который вы указали ранее.
25,80,110,143,443,465,587,993,995,5222,5223,9071 и 7071 на сервере для нормальной работы Zimbra.
Входим под администратором,
и как видим всё работает