Включение веб-интерфейса CBPolicyD в Carbonio

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

f4b4c8700505f23d47c00a79692e7bc7.png

Для включения веб-интерфейса 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»; приведя файл к следующему виду:

e24c4909e9bf43225243ce2944bb9f7d.png

Установите Apache2 и набор необходимых библиотек

apt install apache2 libapache2-mod-php php-sqlite3

Откройте файл /etc/apache2/ports.conf и в параметре Listen укажите любой четырехзначный порт (например 7780 или, в нашем случае, 1080)

0699cfe1c51f0793fe1859f3da4e96b3.png

Добавьте файлы веб-интерфейса 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/

6dd51d9ffe6e6e095fe980cc529aae37.png

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

Для установки пароля создайте файл /opt/zextras/common/share/webui/.htaccess и впишите в него следующие настройки

AuthUserFile /opt/zextras/common/share/webui/.htpasswd

AuthName «User and Password»

AuthType Basic

require valid-user

4c458cf6fbd0d2cea5803db7f15b234e.png

Добавьте пару пользователь-пароль

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

10bfc090f6e36e479329eede5c62d166.png

Перезагрузите службу Apache2 

systemctl restart apache2

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

997f09b6a2d23b653a0d2a6579ae01da.png

Отметим, что в случае, если в вашей инфраструктуре несколько узлов MTA с установленными на них CBPolicyD, подобные действия потребуется произвести на каждом из них в силу того, что в рассматриваемой нами конфигурации CBPolicyD использует локальную базу данных для работы. Соответственно, и политики настроенные на одном MTA при такой конфигурации также следует вручную дублировать на других узлах MTA.

По вопросам тестирования, приобретения, предоставления лицензии и консультаций обращаться на почту sales@svzcloud.ru к эксклюзивному партнеру Zextras.

Получить информацию и обменяться информацией о Carbonio CE вы можете в группах в Telegram CarbonioMail и Carbonio CE Unofficial.

© Habrahabr.ru