Ранее мы рассказывали о том, как настраивать различные почтовые политики во встроенном в Carbonio модуле CBPolicyD за счет правки таблиц в базе данных SQLite3. Такие политики позволяют настроить различные ограничения для пользователей, запретив им получать или отправлять больше заданного администратором количества писем, ограничить круг отправителей, способных отправлять письма получателям на сервере и так далее. В данной статье мы расскажем о том, как настроить веб-интерфейс CBPolicyD, чтобы сделать процесс настройки более простым и наглядным.

Для включения веб-интерфейса CBPolicyD включите соответствующие службы в Carbonio
su - zextras
zmprov ms $(zmhostname) +zimbraServiceInstalled cbpolicyd +zimbraServiceEnabled cbpolicyd
zmcontrol restart
Откройте файл /opt/zextras/common/share/webui/includes/config.php и укажите в нем адрес базы данных $DB_DSN="sqlite:/opt/zextras/data/cbpolicyd/db/cbpolicyd.sqlitedb"; приведя файл к следующему виду:

Установите Apache2 и набор необходимых библиотек
apt install apache2 libapache2-mod-php php-sqlite3
Откройте файл /etc/apache2/ports.conf и в параметре Listen укажите любой четырехзначный порт (например 7780 или, в нашем случае, 1080)

Добавьте файлы веб-интерфейса CBPolicyD в созданный нами веб-сервер Apache
ln -s /opt/zextras/common/share/webui /var/www/html/
Измените права доступа на файлы базы данных
cd /opt/zextras/data/cbpolicyd
chmod -R 777 db/
И перезапустите веб-сервер Apache
systemctl restart apache2
После всех этих действий веб-интерфейс CBPolicyD будет доступен по незашифрованному соединению на заданном в /etc/apache2/ports.conf порте.
В нашем случае это http://email.carbonio.loc:1080/webui/

В настоящий момент вход в веб-интерфейс CBPolicyD открыт для всех желающих. Ограничить его можно как файрволом, ограничив число сетей, из которых вход на соответствующий порт будет доступен, так и паролем.
Для установки пароля создайте файл /opt/zextras/common/share/webui/.htaccess и впишите в него следующие настройки
AuthUserFile /opt/zextras/common/share/webui/.htpasswd
AuthName "User and Password"
AuthType Basic
require valid-user

Добавьте пару пользователь-пароль
cd /opt/zextras/common/share/webui/
htpasswd -cb .htpasswd admin qwerty123
Если есть потребность в предоставлении доступа нескольким пользователям, можно создать дополнительные пары пользователь-пароль, дописав их в соответствующий файл
htpasswd -nb admin2 qwerty456 >> /opt/zextras/common/share/webui/.htpasswd
Для включения аутентификации откройте файл /etc/apache2/apache2.conf и замените значение параметра AllowOverride на AuthConfig

Перезагрузите службу Apache2
systemctl restart apache2
После этого при входе в веб-интерфейс CBPolicyD будет запрашиваться имя пользователя и пароль

Отметим, что в случае, если в вашей инфраструктуре несколько узлов MTA с установленными на них CBPolicyD, подобные действия потребуется произвести на каждом из них в силу того, что в рассматриваемой нами конфигурации CBPolicyD использует локальную базу данных для работы. Соответственно, и политики настроенные на одном MTA при такой конфигурации также следует вручную дублировать на других узлах MTA.
По вопросам тестирования, приобретения, предоставления лицензии и консультаций обращаться на почту sales@svzcloud.ru к эксклюзивному партнеру Zextras.
Получить информацию и обменяться информацией о Carbonio CE вы можете в группах в Telegram CarbonioMail и Carbonio CE Unofficial.
Автор: Zextras