26.02.2026

Настройка 1С:Сервера взаимодействия с медиасервером Janus - для 8.5.1

Установка и первичная настройка серверных компонентов

Важно. Данный документ содержит тестовые учётные данные. Перед вводом системы в промышленную эксплуатацию замените все логины и пароли на безопасные значения.

Общие сведения

Состав разворачиваемых компонентов

В ходе установки разворачиваются следующие программные компоненты:

Компонент Назначение
Java 11 (AxiomJDK) Среда выполнения Java-компонентов
Hazelcast Распределённый кэш и координация
Elasticsearch Полнотекстовый поиск
Ring / CS Основной сервер взаимодействия
PostgreSQL 15 Реляционная СУБД
MinIO (S3) Объектное хранилище файлов
Janus Медиасервер видеоконференций

Используемые сетевые порты

Убедитесь, что указанные порты открыты в межсетевом экране.

Компонент

Порт

Протокол / Назначение

Hazelcast

5701

TCP / Кластерное взаимодействие

Elasticsearch

9200, 9300

TCP / REST API, транспорт

CS (WebSocket)

8086

TCP / Подключения клиентов

CS (Admin REST)

8087

TCP / Административный API

CS (HTTPS)

8443, 8444

TCP / Защищённое подключение

PostgreSQL

5432

TCP / СУБД

MinIO

9000

TCP / S3 API

Janus (HTTP API)

8188

TCP / Управление медиасервером

Janus (локальный)

7188

TCP / Внутренний API

Требования безопасности

Внимание. Для безопасной эксплуатации системы необходимо:

1. Установка Java 11 (AxiomJDK)

Установка среды выполнения Java 11 необходима для работы Java-компонентов Системы взаимодействия (Hazelcast, Elasticsearch, CS).

Порядок выполнения

Шаг 1. Установите пакет AxiomJDK:

Копировать в буфер обмена

rpm -i axiomjdk-jre-pro11.0.28+12-linux-amd64.rpm

Шаг 2. Определите путь к установленной Java:

Копировать в буфер обмена

readlink $(readlink $(which java))

Ожидаемый результат:

Копировать в буфер обмена

/usr/lib/jvm/axiomjdk-java11-pro-runtime.x86_64/bin/java

Шаг 3. Создайте профиль окружения для переменной JAVA_HOME:

Копировать в буфер обмена

tee /etc/profile.d/java.sh << 'EOF' export JAVA_HOME=/usr/lib/jvm/axiomjdk-java11-pro-runtime.x86_64 export PATH=$JAVA_HOME/bin:$PATH EOF chmod +x /etc/profile.d/java.sh source /etc/profile.d/java.sh

Шаг 4. Перезагрузите сервер:

Копировать в буфер обмена

reboot

Результат: Java 11 установлена. Переменная JAVA_HOME доступна во всех сессиях ОС.

2. Установка ECS (компоненты Системы взаимодействия)

На данном этапе устанавливается дистрибутив ECS, включающий утилиту ring и базовые компоненты: Hazelcast, Elasticsearch, CS.

Порядок выполнения

Шаг 1. Распакуйте архив дистрибутива:

Копировать в буфер обмена

tar -xzf 1c-cs-30.0.32-linux-x86_64.tar.gz

Шаг 2. Перейдите в каталог дистрибутива и запустите установку:

Копировать в буфер обмена

./1ce-installer-cli install --ignore-signature-warnings

Ожидаемое сообщение:

Копировать в буфер обмена

Установка продукта завершена успешно.

Внимание: SELinux. Текущая версия инсталлятора не поддерживает SELinux в режиме enforcing. Переведите SELinux в режим permissive: Копировать в буфер обмена

sed -i 's/^SELINUX=.*/SELINUX=permissive/' /etc/selinux/config reboot

Результат: Компоненты ECS установлены. ОС подготовлена для запуска сервисов.

3. Установка PostgreSQL 15

PostgreSQL используется для хранения данных Системы взаимодействия.

Примечание. Если PostgreSQL 15 уже установлен и запущен, перейдите к разделу 4.4.

Порядок выполнения

Шаг 1. Получите серверные пакеты для установки. Сборку PostgreSQL с патчем от 1С можно получить с ресурса https://releases.1c.ru/project/AddCompPostgre

Шаг 2. Установите серверные пакеты:

Копировать в буфер обмена

yum update -y yum install -y bzip2 mkdir -p "/tmp/postgresql-distrib-1c" tar --extract --directory "/tmp/postgresql-distrib-1c" --file ./postgresql-15.15-1-centos-7-x86_64-package.tar.bz2 yum install -y \ /tmp/postgresql-distrib-1c/postgresql15-15.15-1.1C.x86_64.rpm \ /tmp/postgresql-distrib-1c/postgresql15-contrib-15.15-1.1C.x86_64.rpm \ /tmp/postgresql-distrib-1c/postgresql15-libs-15.15-1.1C.x86_64.rpm \ /tmp/postgresql-distrib-1c/postgresql15-server-15.15-1.1C.x86_64.rpm

Команды для установки в вашей ОС опубликованы в файле «Поддерживаемые операционные системы и команды для установки дистрибутива».

Шаг 3. Инициализируйте кластер:

Копировать в буфер обмена

postgresql-15-setup initdb

Шаг 4. Включите автозапуск и запустите сервис:

Копировать в буфер обмена

systemctl enable postgresql-15.service --now

Шаг 5. Убедитесь, что PostgreSQL принимает подключения на порту 5432:

Копировать в буфер обмена

lsof -iTCP -sTCP:LISTEN -P | grep postgres

Ожидаемый результат:

Копировать в буфер обмена

postmaste 6572 postgres 6u IPv6 50128 0t0 TCP localhost:5432 (LISTEN) postmaste 6572 postgres 7u IPv4 50129 0t0 TCP localhost:5432 (LISTEN)

Результат: PostgreSQL 15 установлен и запущен.

4. Базовая конфигурация компонентов 1С:Сервера системы взаимодействия (ECS)

На данном этапе создаются экземпляры компонентов, настраивается подключение к PostgreSQL и параметры WebSocket.

4.1. Создание экземпляра Hazelcast

Порядок выполнения

Шаг 1. Создайте пользователя и каталог:

Копировать в буфер обмена

useradd hc_user mkdir -p /var/cs/hc_instance chown hc_user:hc_user /var/cs/hc_instance

Шаг 2. Создайте экземпляр:

Копировать в буфер обмена

ring hazelcast instance create \ --dir /var/cs/hc_instance \ --owner hc_user

Шаг 3. Создайте systemd-сервис:

Копировать в буфер обмена

ring hazelcast --instance hc_instance service create \ --username hc_user \ --java-home $JAVA_HOME \ --stopped

Результат: Экземпляр Hazelcast и systemd-сервис созданы.

4.2. Создание экземпляра Elasticsearch

Порядок выполнения

Шаг 1. Создайте пользователя и каталог:

Копировать в буфер обмена

useradd es_user mkdir -p /var/cs/es_instance chown es_user:es_user /var/cs/es_instance

Шаг 2. Создайте экземпляр:

Копировать в буфер обмена

ring elasticsearch instance create \ --dir /var/cs/es_instance \ --owner es_user

Шаг 3. Создайте сервис:

Копировать в буфер обмена

ring elasticsearch --instance es_instance service create \ --username es_user \ --java-home $JAVA_HOME \ --stopped

Результат: Экземпляр Elasticsearch и сервис управления созданы.

4.3. Создание экземпляра CS

Порядок выполнения

Шаг 1. Создайте пользователя и каталог:

Копировать в буфер обмена

useradd cs_user mkdir -p /var/cs/cs_instance chown cs_user:cs_user /var/cs/cs_instance

Шаг 2. Создайте экземпляр CS:

Копировать в буфер обмена

ring cs instance create \ --dir /var/cs/cs_instance \ --owner cs_user

Шаг 3. Создайте сервис:

Копировать в буфер обмена

ring cs --instance cs_instance service create \ --username cs_user \ --java-home $JAVA_HOME \ --stopped

Результат: Экземпляр CS и сервис управления созданы.

4.4. Подготовка базы данных PostgreSQL

Порядок выполнения

Шаг 1. Перейдите в сессию postgres и запустите psql:

Копировать в буфер обмена

su - postgres psql

Шаг 2. Создайте пользователя, базу данных и расширение:

Копировать в буфер обмена

CREATE USER db_user WITH PASSWORD 'db_user_pwd' CREATEDB; CREATE DATABASE cs_db OWNER db_user; \c cs_db; CREATE EXTENSION IF NOT EXISTS "uuid-ossp";

Шаг 3. Завершите работу:

Копировать в буфер обмена

\q exit

Результат: Пользователь db_user и база данных cs_db созданы. Расширение uuid-ossp установлено.

4.5. Привязка CS к PostgreSQL (JDBC-пулы)

Порядок выполнения

Настройте параметры пула common:

Копировать в буфер обмена

ring cs --instance cs_instance jdbc pools --name common set-params \ --url "jdbc:postgresql://localhost:5432/cs_db?currentSchema=public" ring cs --instance cs_instance jdbc pools --name common set-params --username db_user ring cs --instance cs_instance jdbc pools --name common set-params --password db_user_pwd

Настройте параметры пула privileged:

Копировать в буфер обмена

ring cs --instance cs_instance jdbc pools --name privileged set-params \ --url "jdbc:postgresql://localhost:5432/cs_db?currentSchema=public" ring cs --instance cs_instance jdbc pools --name privileged set-params --username db_user ring cs --instance cs_instance jdbc pools --name privileged set-params --password db_user_pwd

Результат: CS настроен на работу с PostgreSQL через JDBC-пулы common и privileged.

4.6. Параметры WebSocket CS

Порядок выполнения

Копировать в буфер обмена

ring cs --instance cs_instance websocket set-params --hostname 0.0.0.0 ring cs --instance cs_instance websocket set-params --port 8086

Результат: WebSocket endpoint CS настроен на прослушивание 0.0.0.0:8086.

5. Запуск сервисов и проверка

После создания экземпляров необходимо запустить все сервисы и проверить доступность портов.

5.1. Запуск Hazelcast

Копировать в буфер обмена

ring hazelcast --instance hc_instance service start

Проверка:

Копировать в буфер обмена

lsof -iTCP -sTCP:LISTEN -P | grep hc_user

Ожидаемый результат (порт 5701):

Копировать в буфер обмена

launcher 867 hc_user 17u IPv6 23694 0t0 TCP *:5701 (LISTEN)

5.2. Запуск Elasticsearch

Копировать в буфер обмена

ring elasticsearch --instance es_instance service start

Проверка:

Копировать в буфер обмена

lsof -iTCP -sTCP:LISTEN -P | grep es_user

Ожидаемый результат (порты 9200, 9300):

Копировать в буфер обмена

launcher 866 es_user 162u IPv6 27828 0t0 TCP localhost:9200 (LISTEN) launcher 866 es_user 135u IPv6 24300 0t0 TCP localhost:9300 (LISTEN)

5.3. Запуск CS

Копировать в буфер обмена

ring cs --instance cs_instance service start

Проверка:

Копировать в буфер обмена

lsof -iTCP -sTCP:LISTEN -P | grep cs_user

Ожидаемый результат (порты 8086, 8443, 8444):

Копировать в буфер обмена

launcher 2915 cs_user 482u IPv6 38441 0t0 TCP *:8086 (LISTEN) launcher 2915 cs_user 370u IPv6 38348 0t0 TCP *:8443 (LISTEN) launcher 2915 cs_user 375u IPv6 38352 0t0 TCP localhost:8444 (LISTEN)

Результат: Все основные сервисы запущены и прослушивают назначенные порты.

6. Инициализация базы данных (REST API)

Регистрация основной базы данных в сервере взаимодействия выполняется через административный REST API.

Порядок выполнения

Копировать в буфер обмена

curl -Sf -X POST -H "Content-Type: application/json" \ -d '{ "url": "jdbc:postgresql://localhost:5432/cs_db", "username": "db_user", "password": "db_user_pwd", "enabled": true }' \ -u admin:admin http://localhost:8087/admin/bucket_server

Ожидаемый результат — JSON-ответ с параметрами зарегистрированной БД:

Копировать в буфер обмена

{"id":"1d17a146-...","url":"jdbc:postgresql://localhost:5432/cs_db", "username":"db_user","enabled":true,"deleted":false}

Результат: База данных зарегистрирована в сервере взаимодействия.

7. Настройка TURN/STUN сервера

ICE-сервер (TURN/STUN) необходим для обеспечения медиасоединений через NAT и межсетевые экраны.

Вариант Описание
Собственный coturn Рекомендуется для промышленной эксплуатации. См. https://github.com/coturn/coturn
Тестовый сервер 1С Для целей отладки и тестирования.

Пример регистрации тестового сервера 1С

Копировать в буфер обмена

curl -Sf -X POST -H "Content-Type: application/json" \ -d '{ "url": "turn:stun-test.1cdialog.com:3478", "username": "video_module", "password": "SamplePassword", "enabled": true }' \ -u admin:admin http://localhost:8087/admin/bucket_server

Результат: TURN/STUN сервер зарегистрирован.

8. Проверка общей работоспособности

Для проверки состояния всех компонентов используется эндпоинт /rs/health.

Копировать в буфер обмена

curl http://localhost:8087/rs/health

Пример ответа (до регистрации медиасервера):

Копировать в буфер обмена

{ "status": "UP", "mainDbOk": true, "allShardsOk": true, "hazelcast": {"available": true, "members": ["127.0.0.1:5701"]}, "elasticsearchOk": true, "mediaClusterOk": false, "pushOk": false }

Параметр Ожидаемое значение Описание
status UP Общий статус системы
mainDbOk true Подключение к основной БД
allShardsOk true Все шарды БД доступны
hazelcast.available true Кластер Hazelcast активен
elasticsearchOk true Elasticsearch доступен
mediaClusterOk false / true Медиасервер (до / после раздела 10)
Результат: Состояние сервера взаимодействия проверено.

9. Объектное хранилище S3 (MinIO)

MinIO обеспечивает S3-совместимое хранилище для файлов Системы взаимодействия.

9.1. Установка MinIO

Порядок выполнения

Шаг 1. Создайте пользователя и каталоги:

Копировать в буфер обмена

useradd minio_user mkdir -p /opt/minio /var/minio chown -R minio_user:minio_user /opt/minio /var/minio

Шаг 2. Скачайте и установите MinIO:

Копировать в буфер обмена

cd /opt/minio wget https://dl.min.io/server/minio/release/linux-amd64/minio chmod +x minio

Шаг 3. Создайте файл параметров окружения:

Копировать в буфер обмена

tee /etc/default/minio << 'EOF' MINIO_VOLUMES="/var/minio/" MINIO_ROOT_USER=minio MINIO_ROOT_PASSWORD=minio123 EOF

Шаг 4. Создайте systemd unit-файл:

Копировать в буфер обмена

tee /etc/systemd/system/minio.service << 'EOF' [Unit] Description=MinIO Documentation=https://docs.min.io Wants=network-online.target After=network-online.target AssertFileIsExecutable=/opt/minio/minio [Service] WorkingDirectory=/usr/local/ User=minio_user Group=minio_user EnvironmentFile=/etc/default/minio ExecStartPre=/bin/bash -c "if [ -z \"${MINIO_VOLUMES}\" ]; then echo \"Variable MINIO_VOLUMES not set\"; exit 1; fi" ExecStart=/opt/minio/minio server $MINIO_OPTS $MINIO_VOLUMES Restart=always LimitNOFILE=65536 TimeoutStopSec=infinity SendSIGKILL=no [Install] WantedBy=multi-user.target EOF

Шаг 5. Запустите сервис:

Копировать в буфер обмена

systemctl enable minio.service systemctl start minio.service journalctl -efu minio

Результат: MinIO установлен и запущен.

9.2. Создание бакетов в MinIO

Порядок выполнения

Шаг 1. Откройте веб-интерфейс MinIO по адресу из журнала.

Шаг 2. Выполните вход (логин/пароль из /etc/default/minio).

Шаг 3. Создайте бакет с именем cs-bucket.

Результат: Бакет cs-bucket создан.

9.3. Регистрация хранилища в ECS

Внимание. В параметрах baseUrl и containerUrl нельзя использовать localhost, если клиенты подключаются извне. Укажите внешний IP-адрес или доменное имя хоста MinIO.

Замените 10.70.129.16 на внешний адрес вашего сервера MinIO:

Копировать в буфер обмена

curl -Sf -X POST -H 'Content-Type: application/json' \ -d '{ "apiType": "AMAZON", "storageType": "DEFAULT", "baseUrl": "http://10.70.129.16:9000", "containerUrl": "http://10.70.129.16:9000/cs-bucket", "containerName": "cs-bucket", "region": "eu-west-1", "accessKeyId": "minio", "secretKey": "minio123", "signatureVersion": "V2", "uploadLimit": 1073741824, "downloadLimit": 1073741824, "fileSizeLimit": 1073741824, "bytesToKeep": 0, "daysToKeep": 31, "pathStyleAccessEnabled": true }' \ -u admin:admin http://localhost:8087/admin/storage_server

Результат: S3-хранилище зарегистрировано в сервере взаимодействия.

9.4. Регистрация в информационной базе 1С:Предприятие

Для связи сервера взаимодействия с информационной базой используется обработка CollaborationSystemRegister.epf.

Порядок выполнения

Шаг 1. Скачайте обработку CollaborationSystemRegister.epf (версия 10.0.47 и выше).

Шаг 2. В клиенте 1С:Предприятие: Файл ? Открыть ? CollaborationSystemRegister.epf.

Шаг 3. Заполните поля формы:

Поле Значение
Адрес сервера взаимодействия ws://<внешний-IP>:8086
Адрес электронной почты абонента <произвольный>
Имя информационной базы <произвольное>

Шаг 4. Нажмите кнопку Зарегистрировать.

Примечание. В случае ошибки проверьте: Результат: Информационная база зарегистрирована на сервере взаимодействия.

10. Медиасервер Janus

Janus обеспечивает работу видеоконференций в Системе взаимодействия.

10.1. Установка Janus

Порядок выполнения

Шаг 1. Распакуйте дистрибутив janus-amd64-1.0.4.25.

Шаг 2. Ознакомьтесь с README.md.

Шаг 3. Запустите установку:

Копировать в буфер обмена

./install.sh

Примечание. По умолчанию Janus запускается под пользователем 1c_media. Под этим же пользователем работают сервисы videoutils (1ce_audiomixer, 1ce_videomixer, 1ce_recordsmonitor). Janus и 1ce_recordsmonitor используют общий каталог /var/records.

Проверьте порты:

Копировать в буфер обмена

lsof -iTCP -sTCP:LISTEN -P | grep janus

Ожидаемый результат:

Копировать в буфер обмена

janus 11064 root 8u IPv4 122113 0t0 TCP *:8188 (LISTEN) janus 11064 root 11u IPv4 122115 0t0 TCP localhost:7188 (LISTEN)

Результат: Janus установлен и прослушивает порт HTTP API (8188).

10.2. Регистрация Janus в ECS

Порядок выполнения

Замените 10.70.129.16 на адрес узла Janus (если ECS и Janus на одном хосте — допустимо 127.0.0.1):

Копировать в буфер обмена

curl -Sf -X POST -H 'Content-Type: application/json' \ -d '{ "url": "http://10.70.129.16:8188/janus/", "name": "Janus 1", "confereeLimit": 1000, "enabled": true }' \ -u admin:admin http://localhost:8087/admin/media_server

Проверьте через health-эндпоинт:

Копировать в буфер обмена

curl http://localhost:8087/rs/health

В ответе ожидается:

Копировать в буфер обмена

"mediaClusterOk": true "mediaServers": {"f2d9...": true}

Результат: Медиасервер Janus зарегистрирован и доступен.

10.3. Настройка параметров видеоконференций

Порядок выполнения

Шаг 1. Создайте конфигурационный файл video.yml:

Копировать в буфер обмена

tee /var/cs/cs_instance/config/video.yml << 'EOF' video: enabled: true conference-server-based-member-limit: 34 conference-server-based-threshold: 3 max-bandwidth: 2000 max-reference-width: 1280 max-reference-height: 720 max-reference-fps: 30 EOF

Описание параметров:

Параметр Значение Описание
enabled true Включить видеоконференции
conference-server-based-threshold 3 Порог участников для переключения с P2P на медиасервер
conference-server-based-member-limit 34 Макс. участников через медиасервер
max-bandwidth 2000 Макс. битрейт (кбит/с)
max-reference-width / height 1280 / 720 Макс. разрешение видео
max-reference-fps 30 Макс. частота кадров

Шаг 2. Перезапустите CS:

Копировать в буфер обмена

ring cs --instance cs_instance service stop ring cs --instance cs_instance service start

Результат: Настройки видеоконференций применены.

10.4. Проверка соединений Janus

Порядок выполнения

Инициируйте видеозвонок с 3+ участниками и проверьте соединения:

Копировать в буфер обмена

netstat -antp | grep -i janus

Ожидаемый результат — наличие ESTABLISHED-соединений:

Копировать в буфер обмена

tcp 0 0 0.0.0.0:8188 0.0.0.0:* LISTEN 11064/./janus tcp 0 0 127.0.0.1:7188 0.0.0.0:* LISTEN 11064/./janus tcp 0 0 10.70.129.16:8188 10.70.129.16:59788 ESTABLISHED 11064/./janus

Результат: Активность соединений с медиасервером Janus подтверждена. Установка и настройка Системы взаимодействия завершена.

11. Подключение к установленному серверу взаимодействия

В том случае, если прикладное решение использует для своей работы сервер взаимодействия, развёрнутый самостоятельно (не сервис «1С:Диалог»), то для регистрации информационной базы в сервисе следует использовать не стандартную функцию Управление системой взаимодействия, а внешнюю обработку CollaborationSystemRegister.epf, которая поставляется вместе с сервером системы взаимодействия.

Значение поля Адрес сервера взаимодействия состоит из трёх частей:

Получить настройки конкретного экземпляра сервера взаимодействия (включая параметры подключения) можно с помощью команды:

Копировать в буфер обмена

ring cs --instance <cs_instance> websocket list-params

В данном примере:

Также параметры подключения можно получить в конфигурационном файле websocket.yml:

Конфигурационный файл сервера взаимодействия расположен:

ОС Путь
Windows %ProgramData%\1C\1CE\instances\<cs_instance>\config\
Linux /var/cs/<cs_instance>/config/
Примечание. Если для экземпляра сервера взаимодействия не изменялись настройки по умолчанию — конфигурационный файл может отсутствовать.

12. Подключение использования внешних пользователей

Система взаимодействия позволяет использовать внешних пользователей в своих обсуждениях. Для того чтобы включить эту возможность, к серверу взаимодействия необходимо подключить специальный сайт. Внешние пользователи будут использовать сайт как клиент системы взаимодействия. Сайт для внешних пользователей устанавливается с помощью стандартной программы установки соответствующей версии сервера системы взаимодействия.

После установки администратор должен выполнить определённые настройки, чтобы включить возможность использования внешних пользователей.

Порядок выполнения

Шаг 1. После установки сайта перейдите в каталог сайта и внесите изменения в файл config.json. В этом файле необходимо указать адрес сервера взаимодействия, с которым будет взаимодействовать сайт для работы внешних пользователей. Адрес указывается в свойстве serverURL:

Копировать в буфер обмена

{ "serverURL": "wss://cs.host.com" }

В данном примере указан сервер взаимодействия, доступный по протоколу wss://cs.host.com с использованием стандартного сетевого порта.

Шаг 2. Настройте веб-сервер, с помощью которого будет осуществляться доступ к сайту. После настройки веб-сервера станет понятен адрес сайта для работы внешних пользователей. Допустим, адрес этого сайта https://host.com.

Шаг 3. Подключите сайт к системе взаимодействия, выполнив следующую команду:

Копировать в буфер обмена

ring cs --instance cs site set-params --public-url https://host.com

В данном примере выполняется подключение экземпляра сервера взаимодействия к ранее развёрнутому сайту для работы внешних пользователей. Указанный в команде адрес сайта будет использоваться в электронном письме, которое отправляется внешнему пользователю.

Результат: После всех выполненных действий сервер взаимодействия станет поддерживать использование внешних пользователей. После перезапуска клиентского приложения, подключённого к данному серверу взаимодействия, в клиентском приложении появится команда Пригласить внешнего участника в неконтекстных обсуждениях системы взаимодействия.