В связи с тем, что в конце 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