11.03.2026
Важно. Данный документ содержит тестовые учётные данные. Перед вводом системы в промышленную эксплуатацию замените все логины и пароли на безопасные значения.
В ходе установки разворачиваются следующие программные компоненты:
| Компонент | Назначение |
|---|---|
| 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 |
Установка среды выполнения 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 доступна во всех сессиях ОС.На данном этапе устанавливается дистрибутив 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 установлены. ОС подготовлена для запуска сервисов.
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 установлен и запущен.
На данном этапе создаются экземпляры компонентов, настраивается подключение к PostgreSQL и параметры WebSocket.
Шаг 1. Создайте пользователя и каталог:
Копировать в буфер обменаuseradd hc_user mkdir -p /var/cs/hc_instance chown hc_user:hc_user /var/cs/hc_instance
Шаг 2. Создайте экземпляр:
Копировать в буфер обменаring hazelcast --instance hc_instance service create \ --username hc_user \ --java-home $JAVA_HOME \ --stopped
Шаг 3. Создайте systemd-сервис:
Копировать в буфер обменаring hazelcast --instance hc_instance service create \
--username hc_user \
--java-home $JAVA_HOME \
--stopped
Шаг 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
Шаг 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
Шаг 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
Настройте параметры пула 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
ring cs --instance cs_instance websocket set-params --hostname 0.0.0.0
ring cs --instance cs_instance websocket set-params --port 8086
После создания экземпляров необходимо запустить все сервисы и проверить доступность портов.
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)
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)
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)
Примечание (SELinux). При запуске сервисов командой ring … service start в режиме SELinux permissive через несколько секунд могут появляться уведомления от SELinux (например, типа open, read, unlink). Эти сообщения носят информационный характер, на работу сервисов не влияют и могут быть проигнорированы.
Регистрация основной базы данных в сервере взаимодействия выполняется через административный 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}
ICE-сервер (TURN/STUN) необходим для обеспечения медиасоединений через NAT и межсетевые экраны.
| Вариант | Описание |
|---|---|
| Собственный coturn | Рекомендуется для промышленной эксплуатации. См. https://github.com/coturn/coturn |
| Тестовый сервер 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
Для проверки состояния всех компонентов используется эндпоинт /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) |
MinIO обеспечивает S3-совместимое хранилище для файлов Системы взаимодействия.
Шаг 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
Важно. Параметр LimitNOFILE=65536 необходим для корректной работы звонков с большим числом участников. Если его не указать, такие звонки будут аварийно завершаться.
Шаг 5. Запустите сервис:
Копировать в буфер обменаsystemctl enable minio.service
systemctl start minio.service
journalctl -efu minio
Шаг 1. Откройте веб-интерфейс MinIO по адресу из журнала.
Шаг 2. Выполните вход (логин/пароль из /etc/default/minio).
Шаг 3. Создайте бакет с именем cs-bucket.
Результат: Бакет cs-bucket создан.Замените 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
Для связи сервера взаимодействия с информационной базой используется обработка CollaborationSystemRegister.epf.
Шаг 1. Найдите обработку CollaborationSystemRegister.epf в составе дистрибутива сервера взаимодействия (поставляется вместе с установщиком).
Шаг 2. В клиенте 1С:Предприятие: Файл ? Открыть ? CollaborationSystemRegister.epf.
Шаг 3. Заполните поля формы:
| Поле | Значение |
|---|---|
| Адрес сервера взаимодействия | ws://<внешний-IP>:8086 |
| Адрес электронной почты абонента | <произвольный> |
| Имя информационной базы | <произвольное> |
Шаг 4. Нажмите кнопку Зарегистрировать.
Примечание. В случае ошибки проверьте: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)
Замените 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}
Шаг 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
Для проверки видеозвонков в информационной базе, зарегистрированной на сервере взаимодействия (п. 9.4), должны быть созданы пользователи информационной базы. Инициируйте видеозвонок с 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
В том случае, если прикладное решение использует для своей работы сервер взаимодействия, развёрнутый самостоятельно (не сервис «1С:Диалог»), то для регистрации информационной базы в сервисе следует использовать не стандартную функцию Управление системой взаимодействия, а внешнюю обработку CollaborationSystemRegister.epf, которая поставляется вместе с сервером системы взаимодействия.
Значение поля Адрес сервера взаимодействия состоит из трёх частей:
Получить настройки конкретного экземпляра сервера взаимодействия (включая параметры подключения) можно с помощью команды:
Копировать в буфер обменаring cs --instance <cs_instance> websocket list-params
В данном примере:
<cs_instance> — название экземпляра сервера взаимодействия. Также параметры подключения можно получить в конфигурационном файле websocket.yml:
wss. Если этот параметр установлен в значение true — значит используется протокол WSS, в противном случае — протокол WS.
hostname.
port. Конфигурационный файл сервера взаимодействия расположен:
| ОС | Путь |
|---|---|
| Windows | %ProgramData%\1C\1CE\instances\<cs_instance>\config\ |
| Linux | /var/cs/<cs_instance>/config/ |
Система взаимодействия позволяет использовать внешних пользователей в своих обсуждениях. Для того чтобы включить эту возможность, к серверу взаимодействия необходимо подключить специальный сайт. Внешние пользователи будут использовать сайт как клиент системы взаимодействия. Сайт для внешних пользователей устанавливается с помощью стандартной программы установки соответствующей версии сервера системы взаимодействия.
После установки администратор должен выполнить определённые настройки, чтобы включить возможность использования внешних пользователей.
Шаг 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
В данном примере выполняется подключение экземпляра сервера взаимодействия к ранее развёрнутому сайту для работы внешних пользователей. Указанный в команде адрес сайта будет использоваться в электронном письме, которое отправляется внешнему пользователю.
Результат: После всех выполненных действий сервер взаимодействия станет поддерживать использование внешних пользователей. После перезапуска клиентского приложения, подключённого к данному серверу взаимодействия, в клиентском приложении появится команда Пригласить внешнего участника в неконтекстных обсуждениях системы взаимодействия.