Нужно поставить корпоративный jabber сервер на виртуалку.
В качестве сервера будем ставить ejabberd.
Сначала установим Debian 11 в минимальной комплектации, только sshd.
Устанавливаем дополнительные пакеты: mc, p7zip-full, nfs-kernel-server, erlang-p1-mysql, mariadb-server.
Чтобы провести начальную конфигурацию mariadb вызываем mysql_secure_installation, задаю пароль рута и отмечаем нужные опции. Далее ходим под рутом и создаем базу и её пользователя:
mtsql -uroot -p
>create database ejabberd;
>grant all on ejabberd.* to «ejabberd_user»@»localhost» identified by «password»;
>flush privileges;
>exit;
Теперь нужно залить схему базы данных. Нужный файл берём с сайта проекта:
https://github.com/processone/ejabberd/tree/master/sql/
Заливаем в mysql:
mysql -u ejabberd_user -p ejabberd < mysql_new.sql
Ставим пакет сервера:
apt install ejabberd
После установки сервер запущен и можно работать. По умолчанию ejabberd использует встроенную БД. Но сами разработчики советуют изпользовать mariadb или postgres.
Т.к. мы будем использовать mariadb, то нужно отредактировать конфигурационный файл. Он находится по пути:
/etc/ejabberd/ejabberd.yml
Сначала меняем
hosts:
— localhost
на
— ejabberd.ваш_домен.ru
Добавляем пользователя admin:
acl:
admin:
user:
— «admin»
Добавляем работу с mysql:
auth_method: sql
auth_password_format: scram
sql_type: mysql
sql_server: «localhost»
sql_database: «ejabberd»
sql_username: «ejabberd_user»
sql_password: «password»
sql_pool_size: 10
new_sql_schema: true
default_db: sql
Перестартуем сервис:
systemctl restart ejabberd
Добавляем первого пользователя, который по-совместительству будет админом:
ejabberdctl register admin ejabberd.ваш_домен.ru adminpasswd
Далее в браузере заходим по https://jabberd.ваш_домен.ru:5280/admin
В качестве логина нужно вводить полное имя admin@jabberd.ваш_домен.ru и пароль adminpasswd.
В веб-морде можно заводить пользователей, смотреть статистику и т.д. Хотя пользователей можно заводить и из командной строки, как мы завели админа.
В вебморде нужно зайти в свой виртульный хост ejabberd.ваш_домен.ru. Это наша аминка, здесь заводим пользователей, стотрим статистику и т.д.
Переходим на страницу Shared Roster Groups и задаем:
Name: название группы
Label: название группы, которое будет отображаться в клиенте
Description: описание
Members: список членов группы или @all@ для всех заводимых, или @online@
Displayed: название группы чтобы члены группы видели её.