При установке и использовании Carbonio CE администраторы могут столкнуться с неожиданными проблемами, которые могут сказаться на корректной работе и удобстве использования почтового сервера, но при этом практически никак не зависят от разработчиков Carbonio. В данной статье мы собрали несколько советов о том, как решить большую часть подобных проблем. Также мы расскажем о том, как корректно установить и настроить новый сервис Carbonio Files, позволяющий пользователям хранить файлы на сервере Carbonio CE.
1. Недостоверный сертификат
При установке Carbonio CE автоматически создается самоподписанный SSL-сертификат, который необходим для установки зашифрованного https-соединения с сервером и обеспечения конфиденциальной работы с календарями и электронной почтой. В результате, при попытке входа в веб-клиент Carbonio CE во всех современных браузерах появляется предупреждение о ненадежности используемого SSL-сертификата. И хотя это предупреждение можно обойти, но оно все равно будет появляться раз в сутки и раздражать пользователей.
Избавиться от данного предупреждения можно двумя путями - установив коммерческий доверенный сертификат, либо добавив уже выпущенный самоподписанный в хранилище доверенных.
A. Для выпуска коммерческого сертификата вам потребуется создать CSR с информацией о вашей компании и сервере с помощью команды вида:
/opt/zextras/bin/zmcertmgr createcsr comm -new -subject "/C=RU/ST=Tverskaya/L=Tver/O='My Company Inc'/CN=mail.example.ru"
и с его помощью выпустите коммерческий сертификат.
Также CSR можно создать и в консоли администратора
После получения файлов сертификата выполните следующие команды:
cat TrustedRoot.crt DigiCertCA.crt > /tmp/commercial_ca.crt
cp mail.example.ru.crt /tmp/commercial.crt
/opt/zextras/bin/zmcertmgr verifycrt comm opt/zextras/ssl/carbonio/commercial/commercial.key /tmp/commercial.crt /tmp/commercial_ca.crt
/opt/zextras/bin/zmcertmgr deploycrt comm /tmp/commercial.crt /tmp/commercial_ca.crt
С помощью этих команд мы объединяем информацию о центрах сертификации в единый файл; добавляем к ним сертификат домена; верифицируем файлы сертификатов, которые собираемся установить и после успешно пройденной проверки устанавливаем их.
B. Для того, чтобы добавить самоподписанный сертификат в хранилище доверенных нужно на сервере с Carbonio CE выполнить следующие команды:
sudo su
cd /opt/zimbra/ssl/zimbra/ca
openssl x509 -in ca.pem -outform DER -out /tmp/carbonio.cer
После выполнения этих команд в папке /tmp/ появится файл SSL-сертификата carbonio.cer, который можно, обладая правами администратора установить в «Доверенные корневые центры сертификации» Windows как вручную, так и через групповые политики. После этого предупреждение о потенциальной угрозе пропадет на компьютерах, где был добавлен самоподписанный сертификат Carbonio CE.
2. Мобильное приложение не подключается к серверу
У Carbonio CE есть мобильное приложение Carbonio Mail, которое позволяет работать с почтой и календарями на мобильном устройстве. Однако при попытке войти в учетную запись на Android оно может отобразить ошибку со следующим содержанием:
java.security.cert.CertPathValidatorExecption: Trust anchor for certification path not found.
На iOS приложение может просто сообщить об ошибке аутентификации.
Причиной таких ошибок также является использование самоподписанного SSL-сертификата. В отличие от Windows, мобильные устройства как правило не поддерживают добавление самоподписанных сертификатов в доверенные хранилища, поэтому решить эту проблему можно только установкой валидного коммерческого сертификата.
3. Carbonio CE не запускается и нет возможности сменить пароль пользователя
При установке Carbonio CE на сервер с доменным именем mail.example.ru автоматически создается почтовый домен example.ru и пользователь zextras@example.ru с правами глобального администратора. При этом пароль учетной записи zextras@example.ru генерируется автоматически и узнать его невозможно. Для того, чтобы осуществить вход с использованием этой учетной записи необходимо сменить пароль. Для этого используются команды
sudo su - zextras
zmprov setPassword zextras@example.ru P@$$w0rD
При вводе первой команды осуществляется вход от лица системного пользователя zextras, который создается во время установки Carbonio CE, а при вводе второй команды для пользователя zextras@example.ru устанавливается пароль P@$$w0rD.
Однако у ряда пользователей возникает проблема, при которой в ответ на команду о смене пароля они получают сообщение об ошибке: ERROR: zclient.IO_ERROR (invoke Connection refused, server: localhost) (cause: java.net.ConnectException Connection refused). Также при попытке перезапуска Carbonio CE возникает следующее сообщение об ошибке:
$ zmcontrol startHost localhostConnect: Unable to determine enabled services from ldap.Unable to determine enabled services. Cache is out of date or doesn't exist.
Такое поведение встречается в случаях, когда пользователь пытается начать пользоваться Carbonio CE сразу после установки, не выполнив необходимую для первоначальной настройки команду sudo carbonio-bootstrap. После ее выполнения сервер начинает работать в штатном режиме.
4. Ошибка при установке Carbonio Files
В февральском обновлении появилась поддержка Carbonio Files - частного хранилища файлов, тесно интегрированного с Carbonio CE. Оно позволяет пользователям хранить необходимые файлы на сервере Carbonio CE, получать доступ к ним с помощью веб-клиента и мобильного приложения. Также Carbonio Files позволяет предоставлять безопасно доступ к файлам своим коллегам и даже внешним пользователям.
Процесс установки модуля Carbonio Files делится на три этапа
A. Установка и настройка Carbonio Mesh
Carbonio Mesh - это платформа, которая позволяет обеспечить безопасное взаимодействие между сервером Carbonio CE и различными модулями. Для его установки и настройки выполните команду sudo service-discover setup-wizard. В ходе ее выполнения вам потребуется указать IP-адрес, на котором будет работать Carbonio Mesh и пароль учетных данных кластера.
При выполнении настройки Carbonio Mesh может возникнуть ошибка service-discover: error: hostname 'mail.example.ru' is resolving with loopback address, should resolve with LAN address. Эта ошибка свидетельствует о том, что в вашем файле /etc/hosts помимо добавленной записи о доменном имени вида 10.0.1.78 mail.example.ru mail также присутствует запись 127.0.1.1 mail.example.ru mail. Такое бывает, когда вы задаете доменное имя сервера прямо во время установки Ubuntu 20.04. Чтобы это исправить, сделайте бэкап cp /etc/hosts /etc/hosts.backup, удалите строку 127.0.1.1 mail.example.ru mail и сохраните файл.
После этого процесс настройки Carbonio Mesh пройдет успешно. Отметим, что пароль учетных данных кластера впоследствии невозможно будет посмотреть, поэтому рекомендуем сохранить его в надежном месте, чтобы не забыть.
B. Установка и настройка PostreSQL
sudo apt-get update && apt-get upgrade
sudo apt-get install postgresql
sudo -u postgres psql
>CREATE ROLE "carbonio-files-adm" WITH LOGIN SUPERUSER encrypted password 'P@$$w0rD';CREATE DATABASE "carbonio-files-adm" owner "carbonio-files-adm";
>\q
С помощью приведенных выше команд осуществляется установка PostgreSQL, создание базы данных для Carbonio Files и суперпользователя, который является ее владельцем.
C. Установка Carbonio Files
Для установки Carbonio Files используйте следующую команду:
sudo apt-get install carbonio-storages-ce carbonio-files-ce carbonio-files-db carbonio-user-management carbonio-files-ui
По окончании установки, в соответствии с текстом предупреждения, выполните команду sudo pending-setups для настройки Carbonio Files.
После этого свяжите Carbonio Files с соответствующей базой данных в PostgreSQL при помощи команды PGPASSWORD=P@$$w0rD carbonio-files-db-bootstrap carbonio-files-adm 127.0.0.1, где P@$$w0rD - это пароль учетной записи суперпользователя PostgreSQL, который мы указывали ранее.
После этого в веб-клиенте Carbonio CE появится новый раздел Files, в который можно загружать файлы.
5. Миграция файлов из OneDrive и Google Drive в Carbonio Files.
Миграция данных из облачных хранилищ в Carbonio Files на данный момент возможна только в ручном режиме. В ходе такой миграции будут перенесены только файлы, хранящиеся в OneDrive и Google Drive; структура папок и метаданные файлов. Настройки общего доступа и история изменений файлов перенесена не будет.
В случае с Google Drive для миграции будет использоваться сервис Google Takeout. Он позволяет экспортировать файлы из Google Drive в виде zip-архива.
После того как экспорт будет завершен, файлы можно будет перенести в Carbonio Files простым drag-n-drop. Отметим, что при этом не копируются вложенные папки и файлы из них. Поэтому для сохранения структуры папок необходимо будет воссоздать ее вручную и в каждую папку перенести файлы из соответствующего каталога.
В случае с OneDrive для миграции будет использоваться приложение OneDrive для Windows. Отметим, что для этой цели подойдет только классическое приложение OneDrive, приложение OneDrive из Microsoft Store не подойдет.
После входа в приложение OneDrive вам будет предложено выбрать папку, в которую будут синхронизироваться файлы из OneDrive. Перейдите в эту папку на компьютере, в ней находятся готовые для переноса в Carbonio Files файлы.
Как и в случае с Google Drive, вы можете просто перетащить файлы на страничку с открытым Carbonio Files. Вложенные папки и файлы таким образом не копируются.
По всем вопросам, связанным c Zextras Suite и коммерческой версией Carbonio, вы можете обратиться к Представителю компании «Zextras» Екатерине Триандафилиди по электронной почте ekaterina.triandafilidi@zextras.com.