В связи с тем, что в конце 23 года Synacor прекращает поддержку Zimbra OSE 8.6 и не планирует далее поддерживать ее Community редакцию встала острая необходимость пересадить некоторое количество клиентов на более другой продукт. Компания Zextras, ранее неодрократно замеченая в связях с Synacor, выпустила на рынок свой собственный, аналогичный Zimbra продукт под названием Carbonio. И у Carbonio есть открытая версия. По крайней мере пока.
Я устанавливал первый экземпляр для себя. Обслуживать он будет мой собственный почтовый домен it-manager.pro Для установки Carbonio я сконфигурировал виртуальную машину на домашнем сервере и установил туда Ubuntu Server 20.04. Сетевому адаптеру был назначен статический адрес во внутренней сети.
Сначала обновляем систему
apt update && apt upgrade
Далее в систему нужно добавить репозиторий Zextras, для этого вы должны заполнить регистрационную форму на сайте Zextras и вам придет письмо со ссылками на скрипты, один для установки текущего репозитория для Ubuntu 20.04, другой для RHEL8. Скачиваем скрипт для Ubuntu на сервер и запускаем
wget https://repo.zextras.io/inst_repo_ubuntu.sh
./inst_repo_ubuntu.sh
Если вылетит ошибка, меняем права на скрипт и повторяем запуск
chmod+x inst_repo_ubuntu.sh
Carbonio требует правильного FQDN в качестве имени хоста. Так же потребуется добавить запись в файл /etc/hosts.
!!! mail.it-manager.pro следует заменить на FQDN вашего сервера, а WWW.XXX.YYY.ZZZ заменить на его адрес.
hostnamectl set-hostname mail.it-manager.pro
echo "WWW.XXX.YYY.ZZZ mail.example.com mail" >> /etc/host
еще раз запускаем обновление системы и устанавливаем компоненты Carbonio Community edition
apt update && apt upgrade
apt install service-discover-server \
carbonio-directory-server \
carbonio-proxy \
carbonio-webui carbonio-files-ui \
carbonio-mta \
carbonio-appserver \
carbonio-user-management \
carbonio-files-ce carbonio-files-db \
carbonio-storages-ce \
carbonio-preview-ce \
carbonio-docs-connector-ce carbonio-docs-editor \
carbonio-prometheus
После завершения установки проверьте запущены ли службы Carbonio CE.
systemctl status carbonio-*
Если какие-то сервисы не запущены попробуйте их перезапустить
systemctl restart carbonio-prometheus-nginx-exporter.service
Далее перейдем к настройке установленного почтового сервера. Если в вашей системе включен Firewall надо открыть на нем следующие порты:
Внешние соединения
Роль MTA
| Порт | Протокол | Услуга | 
|---|---|---|
| 25 | TCP | Постфикс входящей почты | 
| 465 | TCP | Реле аутентификации SMTP | 
| 587 | TCP | Порт для ретрансляции с аутентификацией SMTP, требуется STARTTLS (или оппортунистический SSL/TLS) | 
Роль Proxy
| Порт | Протокол | |
|---|---|---|
| 80 | TCP | незащищенное соединение с веб-клиентом Carbonio | 
| 110 | TCP | внешние POP3-сервисы | 
| 143 | TCP | внешние службы IMAP | 
| 443 | TCP | безопасное соединение с веб-клиентом Carbonio | 
| 993 | TCP | внешний безопасный доступ IMAP | 
| 995 | TCP | внешний безопасный доступ POP3 | 
| 6071 | TCP | безопасный доступ к панели администратора | 
Порты IMAP, POP3 и 6071 следует открывать только в том случае, если это действительно необходимо, и желательно, чтобы они были доступны только из VPN-туннеля, если это возможно, чтобы уменьшить поверхность атаки.
Внутренние соединения
На всех узлах должны быть открыты порты
| Порт | Протокол | |
|---|---|---|
| 22 | TCP | SSH-доступ | 
| 8301 | TCP и UDP | управление протоколом Gossip в локальной сети | 
| 9100 | TCP | Экспортер узла мониторинга Carbonio | 
| 9256 | TCP | Экспортер процессов мониторинга Carbonio | 
Роль Postgress
| Порт | Протокол | Услуга | 
|---|---|---|
| 5432 | TCP | Доступ к Postgres | 
| 9187 | TCP | Экспорт данных Postgres в Carbonio Monitoring | 
Роль Directory Server
| Порт | Протокол | Услуга | 
|---|---|---|
| 389 | TCP | незащищенное соединение LDAP | 
| 636 | TCP | безопасное соединение LDAP | 
| 9330 | TCP | Экспорт данных LDAP в Carbonio Monitoring | 
Роль MTA
| Порт | Протокол | Услуга | 
|---|---|---|
| 25 | TCP | Постфикс входящей почты | 
| 465 | TCP | Релей аутентификации SMTP | 
| 587 | TCP | Порт для ретрансляции с аутентификацией SMTP, требуется STARTTLS (или SSL/TLS) | 
| 7026 | TCP | привязать адрес сервиса Milter | 
Роль AppServer
| Порт | Протокол | Услуга | 
|---|---|---|
| 7025 | TCP | локальный обмен почтой по протоколу LMTP | 
| 7071 | TCP | Порт для связи с сервисами SOAP | 
| 7072 | TCP | Обнаружение и аутентификация NGINX | 
| 7073 | TCP | Обнаружение и аутентификация SASL | 
| 7110 | TCP | внутренние службы POP3 | 
| 7143 | TCP | внутренние службы IMAP | 
| 7993 | TCP | внутренний безопасный доступ IMAP | 
| 7995 | TCP | внутренний защищенный доступ POP3 | 
| 8080 | TCP | доступ к внутренним HTTP-сервисам | 
| 8443 | TCP | внутренние службы HTTPS | 
| 8735 | TCP | Связь с внутренним почтовым ящиком | 
| 8742 | TCP | внутренние HTTP-сервисы, расширенный модуль | 
| 8743 | TCP | внутренние службы HTTPS, расширенный модуль | 
Роль Carbonio Videoserver
| Порт | Протокол | Услуга | 
|---|---|---|
| 8188 | TCP | Внутреннее соединение | 
| 8090 | TCP | Связь с сервлетами | 
Роль Proxy
| Порт | Протокол | Услуга | 
|---|---|---|
| 9113 | TCP | экспорт данных nginx в Carbonio Monitoring | 
| 11211 | TCP | доступ к memcached | 
Роль Carbonio Mesh
| Порт | Протокол | Услуга | 
|---|---|---|
| 8300 | TCP | управление входящими запросами от других агентов | 
| 8302 | TCP и UDP | управление протоколом Gossip в глобальной сети | 
| 9107 | TCP | Экспорт данных Carbonio Mesh в Carbonio Monitoring | 
Далее запускаем настройку сервера
carbonio-bootstrap
Проверяем все настройки

И продолжаем установку нажав МАЛЕНЬКУЮ «y»

Далее надо настроить Carbonio MESH, он используется для связи компонентов Carbonio CE. В процессе выполнения команд нужно будет ввести IP адрес первого инстанса service-discovery — вводим IP адрес сервера. Так же устанавливаем пароль на кластер Carbonio CE, он потребуется для завершения установки.
service-discover setup-wizard

Завершаем установку Carbonio Mesh. Нужно будет ввести пароль на кластер Carbonio Mesh
pending-setups -a
Следующим шагом установим и настроим сервер баз данных Postgress и базу данных Carbonio CE.
Устанавливаем PostgreSQL
apt install postgresql-12
systemctl start postgresql
systemctl enable postgresql
Установим пароль администратора PostgreSQL. Вместо 123456 надо бы поставить пароль поинтереснее.
su - postgres -c "psql --command=\"CREATE ROLE carbonio_adm WITH LOGIN SUPERUSER encrypted password '123456';\""
Создаем PostgreSQL базу данных PostgreSQL для Carbonio CE
su - postgres -c "psql --command=\"CREATE DATABASE carbonio_adm owner carbonio_adm;\""
Подготавливаем базу данных Carbonio Files
PGPASSWORD=123456 carbonio-files-db-bootstrap carbonio_adm 127.0.0.1
Установка завершёна. Перезапускаем службы Carbonio CE
su - zextras
zmcontrol restart
Устанавливаем пароль администратора Carbonio CE.
carbonio prov sp zextras@it-manager.pro 123456
Далее можно открывать браузер и заходить в административный веб-интерфейс для донастройки сервера и заведения пользователей. Админка сидит на порту 6071