Установка 1С Сервера взаимодействия на Linux

10.02.21

База данных - Инструменты администратора БД

В статье описан пошаговый процесс установки Сервера взаимодействия 1C на Linux CentOS 7.6.

Данная инструкция не претендует на истину в последней инстанции, а скорее всего предназначена для тех кто не хочет вдаваться в подробности.

Прошёлся по всем пунктам и получил работающий сервер.

 

Что будем использовать и устанавливать.

CentOS Linux release 7.6.1810 x64

СУБД PostgreSQL (9.5)

Java 8 (64-разрядная) (1.8) (https://www.java.com/ru/download/manual.jsp

Linux x64 RPM jre-8u221-linux-x64.rpm)

Сервер взаимодействия версии 5.0.37

В составе

Сам сервер взаимодействия 1ce_cs_server_5.0.37_1.x86_64.rpm

Распределенное хранилище Hazelcast. В нем хранятся сессии пользователей, подписки на с события, очереди. 1ce_cs_hazelcast_3.9.3_6.x86_64.rpm

Поисковый кластер Elasticsearch. Используется для подбора пользователей и полнотекстового поиска. 1ce_cs_elasticsearch_2.3.5_47.x86_64.rpm

Утилита ring 1c_enterprise_ring_0.8.2_1.x86_64.rpm

Обработка для регистрации информационной базы на Сервере взаимодействия CollaborationSystemRegister.epf

Скачиваем всё что нужно.

 

Все rpm я просто сложил в одну из папок на Linux машине.

 

Меняем некоторые настройки системы.

Отключаем ipv6.

Добавляем в файл  /etc/sysctl.conf    две строки

 

net.ipv6.conf.all.disable_ipv6 = 1
net.ipv6.conf.default.disable_ipv6 = 1

Мне он не нужен, если Вам нужен обратите внимание на какой протокол

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

 

Настраиваем файрвол.

В системе по умолчанию установлен файрвол firewalld

Проверяем работает или нет

systemctl status firewalld

Можно просто выключить

systemctl stop firewalld
systemctl disable firewalld

Но лучше настроить, это не долго.

Сначала посмотрим, что разрешено постоянно

firewall-cmd --permanent --list-all

Так как мы отключили ipv6, можно убрать правило

firewall-cmd --permanent --zone=public --remove-service=dhcpv6-client

И открываем порт 8181 (его будем используем для настройки WebSocket и впоследствии для подключения к серверу , можете выбрать другой порт, какой Вам нравится)

 

firewall-cmd --permanent --zone=public —add-port=8181/tcp

Перегружаем и проверяем

firewall-cmd —reload
firewall-cmd --permanent —list-all

 

Устанавливаем JAVA и 1C RING.

yum localinstall jre-8u221-linux-x64.rpm
yum localinstall 1c_enterprise_ring_0.8.2_1.x86_64.rpm

После установки

Необходимо задать переменную окружения JAVA_HOME так, чтобы она указывала на установленную версию Java

И добавить каталог с установленной утилитой ring в переменную окружения PATH.

 

В конце файла /etc/profile добавляем две строки (соответственно если у Вас другие пути указывайте свои)

export JAVA_HOME=/usr/java/default
export PATH=$PATH:/opt/1C/1CE/x86_64/ring

 

Можно приступить к установке и настройке PostgreSQL

В этой версии CentOS в репозитории PostgreSQL 9.2 нам нужен минимум PostgreSQL 9.5

Добавляем репозиторий PostgreSQL.

 

yum install https://download.postgresql.org/pub/repos/yum/9.5/redhat/rhel-7.6-x86_64/pgdg-centos95-9.5-3.noarch.rpm

И устанавливаем PostgreSQL 9.5.

(Вы можете добавить репозиторий, а затем установить и 10 и 11 я ставил 9.5)

yum install postgresql95-server

Также нам понадобится расширение uuid-ossp

что бы его потом подключить ставим postgresql95-contrib.x86_64

yum install postgresql95-contrib.x86_64 

Настраиваем PostgreSQL.

Инициализируем базу.

/usr/pgsql-9.5/bin/postgresql95-setup initdb

Добавляем в автостарт и запускаем сервис

systemctl enable postgresql-9.5
systemctl start postgresql-9.5

Задаем пароль для пользователя postgres:

passwd postgres

Заходим в систему под данной учетной записью:

su - postgres

Подключаемся к сервису:

psql

Создаём пользователя (cs_user) для Сервера взаимодействия

CREATE USER cs_user WITH PASSWORD  'myPassword';

и создаём базу (cs) для Сервера взаимодействия,

делаем ранее созданного пользователя её владельцем

 

CREATE DATABASE cs OWNER cs_user;

Подключаемся к созданной базе

\c cs

Подключаем расширение uuid-ossp

CREATE EXTENSION IF NOT EXISTS "uuid-ossp";

Выходим из оболочки psql и отключаемся от системы пользователем postgres:

\q
exit

Для работы Сервера взаимодействия, сервер PostgreSQL должен поддерживать аутентификацию по паролю.

Настраиваем. Найдём где находятся файлы конфигурации PostgreSQL

ps aux | grep postgres | grep -- -D

Открываем файл /var/lib/pgsql/9.5/data/pg_hba.conf

и добавляем в него две строки, где cs имя базы , cs_user имя пользователя.

local   cs              cs_user                                 password
host    cs              cs_user         127.0.0.1/32            password

Перегружаем PostgreSQL

systemctl restart postgresql-9.5

Проверяем

psql -Ucs_user cs

Система должна спросить пароль ( вводим тот что указали при создании пользователя cs_user)

и пустить в оболочку

Выходим из оболочки psql

\q

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

В данном месте систему лучше перегрузить.

После перезагрузки проверяем переменные окружения

export

Должно присутствовать среди прочего.

Переменная окружения JAVA_HOME

В переменной окружения PATH каталог с установленной утилитой ring.

 

 

Устанавливаем компоненты сервера взаимодействий

yum localinstall  1ce_cs_server_5.0.37_1.x86_64.rpm
yum localinstall  1ce_cs_hazelcast_3.9.3_6.x86_64.rpm
yum localinstall  1ce_cs_elasticsearch_2.3.5_47.x86_64.rpm

Дальше инициализация компонентов всё как в учебнике ИТС.

Сервер взаимодействия

Для начальной инициализации сервера взаимодействия необходимо выполнить следующие действия:

sudo useradd <cs_user>
sudo mkdir -p /var/cs/<cs_instance>
sudo chown <cs_user>:<cs_user> /var/cs/<cs_instance> 
ring cs instance create --dir /var/cs/<cs_instance> --owner <cs_user>
ring cs --instance <cs_instance> service create --username <cs_user> --java-home $JAVA_HOME --stopped

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

<cs_instance> – название экземпляра сервера взаимодействия.

<cs_user> – имя пользователя, от имени которого будет функционировать сервер взаимодействия.

Hazelcast

Для начальной инициализации сервера Hazelcast необходимо выполнить следующие действия:

sudo useradd <hc_user>
sudo mkdir -p /var/cs/<hc_instance>
sudo chown <hc_user>:<hc_user> /var/cs/<hc_instance>
ring hazelcast instance create --dir /var/cs/<hc_instance> --owner <hc_user>
ring hazelcast --instance <hc_instance> service create --username <hc_user> --java-home $JAVA_HOME --stopped

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

 <hc_instance> – название экземпляра Hazelcast.

 <hc_user> – имя пользователя, от имени которого будет функционировать сервер Hazelcast.

Elastisearch

Для начальной инициализации сервера Elasticsearch необходимо выполнить следующие действия:

sudo useradd <elastic_user>
sudo mkdir -p /var/cs/<elastic_instance>
sudo chown <elastic_user>:<elastic_user> /var/cs/<elastic_instance> 
ring elasticsearch instance create --dir /var/cs/<elastic_instance> --owner <elastic_user>
ring elasticsearch --instance <elastic_instance> service create --username <elastic_user> --java-home $JAVA_HOME --stopped

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

 <elastic_instance> – название экземпляра Elasticsearch.

 <elastic_user> – имя пользователя, от имени которого будет функционировать сервер Elasticsearch.

 

Необходимо выполнить настройку параметров JDBC-драйверов PostgreSQL:

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

И настроить WebSocket

Для взаимодействия сервера взаимодействия и клиентского приложения используется протокол WebSocket. Для настройки работы этого протокола следует выполнить следующие действия:

ring cs --instance <cs_instance> websocket set-params --hostname <cs_host>
ring cs --instance <cs_instance> websocket set-params --port <cs_port>

 <cs_host> – имя или IP-адрес компьютера, на котором установлен сервер взаимодействия и к которому будет подключаться клиентское приложение системы взаимодействия (система «1С:Предприятие»).

 <cs_port> – IP-порт, который будет использован для подключения к серверу взаимодействия клиентского приложения системы взаимодействия (системы «1С:Предприятие»).  Здесь нужно указать тот порт который открывали в фаэрволе. В моём примере 8181.

Запускаем сервисы

ring hazelcast --instance <hc_instance> service start
ring elasticsearch --instance <elastic_instance> service start
ring cs --instance <cs_instance> service start

 

По ИТС проверить работоспособность сервера взаимодействия можно с помощью обращения по адресу http://localhost:8087/rs/health

Но у нас на сервере только консоль , а порт 8087 слушается только с localhost.

Что можно посмотреть 

netstat -tpln

 

(если в системе нет netstat установите yum install net-tools)

 

Есть консольные браузеры но мы пойдём другим путём.

Можно проверить используя возможности PuTTY.

Здесь всё понятно

Дальше Connection-SSH-Tunnels

И жмём кнопку Add

 

Возвращаемся на Session и жмём Save

Подключаемся к серверу используя PuTTY через настроенное соединение. (на картинках это 1C-CS)

PuTTY в таком режиме слушает локальный порт 8087 и транслирует

всё в него приходящее на порт 8087 удалённой машины.

 

Дальше в любом браузере получаем вот такой ответ

 

Работает.

 

Последний штрих

Для выполнения завершающих настроек необходимо использовать утилиту curl.

Опять всё по ИТС

 

Команда инициализации выглядит следующим образом:

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

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

cs_db – имя базы данных сервера взаимодействия,

db_user – имя пользователя, от имени которого сервер взаимодействия подключается к СУБД.

db_user_pwd – пароль этого пользователя.

 

Всё

Можно пробовать подключатся к серверу используя обработку ( CollaborationSystemRegister.epf)  для регистрации информационной базы на Сервере взаимодействия

 

Получилось много букв и картинок, но зато подробно.

 

PS

Небольшое дополнение для тех кто захочет перенести СерверВзаимодействия с одного сервера на другой.

1. Версии Postgres и СервераВзаимодействия  должны быть одинаковы. 

2. Я переносил с Windows на Linux некоторые тонкости. (у меня были PSQL 11, СВ 7.0.25)

Строка создания бекапа на Windows (имя базы 1ce-cs)

pg_dump -h localhost -U postgres --encoding=utf8 -F p  -c --if-exists -f C:\BackUp\CS\1ce-cs.bakup 1ce-cs

"--encoding=utf8"  Это перекодирует базу.

Бекап в текстовом виде "-F p"

 

Строка восстановления бекапа на Linux

 

psql -Ucs 1ce-cs < /home/1ce-cs.backup

 

И ещё тонкость. Имя базы , учётка доступа в postgres и её пароль должны совпадать на новом и старом сервере,

эти данные хранятся в базе. Если у Вас они будут разные не заработает.

 

Порядок действия такой

1. Отключаем обработкой базу 1C от сервера Взаимодействия

2. Белаем бекап базы и восстановление его на новом сервере.

3. Подключаем базу 1C к новому серверу.

 

У меня вся переписка при этом сохранилась.

 

И Спасибо "B3avi5" за строку подключения "?transport=websocket&version=6"

Насколько я понял её можно применять когда платформа 1С не совсем совместима с версией СервераВзаимодействия.

С помощью этой строки я подключил 18 платформу к  северу взаимодействия 7.0.25 иначе ругалось на версию

протокола.

 

Сервер Взаимодействия 1C Linux

См. также

Инструменты администратора БД Роли и права Системный администратор Программист Пользователь 8.3.14 1С:Розница 2 1С:Управление нашей фирмой 1.6 1С:Документооборот 1С:Зарплата и кадры государственного учреждения 3 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х 1С:Зарплата и Управление Персоналом 3.x 1С:Управление нашей фирмой 3.0 1С:Розница 3.0 Платные (руб)

Роли… Вы тратите много времени и сил на подбор ролей среди около 2400 в ERP или 1500 в Рознице 2, пытаясь понять какими правами они обладают? Вы все время смотрите права в конфигураторе или отчетах чтоб создать нормальные профили доступа? Вы хотите наглядно видеть какие права дает профиль и редактировать все в простом виде? А может хотите просто указать подсистему и дать права на просмотр и добавление на объекты и не лезть в дебри прав и чтоб обработка сама подобрала нужные роли? Все это теперь стало возможно! Обновление от 15.12.2023, версия 1.1.

14400 руб.

06.12.2023    5201    22    1    

50

Инструменты администратора БД Инструментарий разработчика Роли и права Программист Платформа 1С v8.3 Конфигурации 1cv8 Россия Платные (руб)

Расширение позволяет без изменения кода конфигурации выполнять проверки при вводе данных, скрывать от пользователя недоступные ему данные, выполнять код в обработчиках. Не изменяет данные конфигурации, легко устанавливается практически на любую конфигурацию на управляемых формах.

10000 руб.

10.11.2023    6741    19    2    

44

Инструментарий разработчика Инструменты администратора БД Системный администратор Программист Платформа 1С v8.3 Управляемые формы Конфигурации 1cv8 Россия Платные (руб)

Универсальный инструмент программиста для администрирования конфигураций. Сборник наиболее часто используемых обработок под единым интерфейсом.

3600 руб.

14.01.2013    180985    1102    0    

874

Закрытие периода Инструменты администратора БД Корректировка данных Бухгалтер Пользователь Бухгалтерский учет 1С:Бухгалтерия 3.0 Россия Бухгалтерский учет Платные (руб)

Расширение «Оперативное проведение» в 4 раза уменьшает время проведения документов и закрытия месяца. Является комплексным решением проблем 62 и 60 счетов. Оптимизирует проведение при включенной функциональной опции «Раздельный учет НДС». Используется в более 10 организациях уже 2 года. Совместимо с конфигурацией Бухгалтерия 3.0 (+КОРП).

14400 руб.

29.04.2020    29592    87    151    

63

Мониторинг Инструменты администратора БД Системный администратор Платформа 1С v8.3 Россия Платные (руб)

Конфигурация Session Monitor предназначена для мониторинга сервера 1С с целью отслеживания чрезмерной нагрузки от конкретных сеансов и скорости реакции рабочих процессов.

1500 руб.

01.12.2020    14912    37    0    

54

Архивирование (backup) Инструменты администратора БД Платформа 1С v8.3 Управляемые формы Конфигурации 1cv8 Платные (руб)

Данная разработка позволит решить вопрос с резервным копированием Ваших баз в автоматическом режиме, расположенных на сервере 1С. Система умеет ставить блокировки на вход, блокировать фоновые задания, принудительно отключать сеансы пользователей. И все это система делает в автоматически при создании бэкапа (или через команду). Выгрузка происходит в родной формат 1С - .dt. Так же система умеет архивировать данные выгрузки с установкой пароля. Умеет менять расширение файла zip или dt на любое указанное вами, что позволит сохранить выгрузки от шифровальщика. Может удалять старые копии выгрузок, оставляя указанное количество резервных копий, начиная с самой поздней.

6000 руб.

06.11.2012    71025    622    44    

81

Инструменты администратора БД Системный администратор Платформа 1С v8.3 1С:Комплексная автоматизация 1.х 1С:Управление производственным предприятием Платные (руб)

Конфигурация Комплексная автоматизация 1.1 (и УПП 1.3 тоже) хранит файлы и изображения в справочнике Хранилище дополнительной информации в реквизите Хранилище типа ХранилищеЗначений. Та же история с ВложениямиЭлектроннойПочты. Но при этом присоединенные файлы в Электронном документообороте хранит в томах на диске. Эта доработка позволяет использовать стандартный механизм хранения файлов, изображений и вложений электронных писем в томах на диске. При этом можно разделить тома хранения по объектам конфигурации.

4200 руб.

10.11.2015    61981    90    59    

75

HighLoad оптимизация Инструменты администратора БД Системный администратор Программист Платформа 1С v8.3 Конфигурации 1cv8 Абонемент ($m)

Обработка для простого и удобного анализа настроек, нагрузки и проблем с SQL сервером с упором на использование оного для 1С. Анализ текущих запросов на sql, ожиданий, конвертация запроса в 1С и рекомендации, где может тормозить.

1 стартмани

15.02.2024    9681    195    ZAOSTG    74    

105
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. sytkosa 119 08.09.19 19:27 Сейчас в теме
(0) А как лицензировать данную установку ?
AndreevAE87; user948199; asg.aleks; +3 Ответить
2. sytkosa 119 17.09.19 21:14 Сейчас в теме
(0) одно уточнение
и добавляем в него две строки в начало файла, где cs имя базы , cs_user имя пользователя.
local   cs              cs_user                       password
host    cs              cs_user          127.0.0.1/32 password
иначе авторизация будет не проходить.
3. B3avi5 18.09.19 10:35 Сейчас в теме
curl -Sf -X POST -H "Content-Type: application/json" -d "{ \"url\" : \"jdbc:postgresql://localhost:5432/cs\", \"username\" : \"cs_user\", \"password\" : \"cs_user_pwd\", \"enabled\" : true }" -u admin:admin http://localhost:8087/admin/bucket_server
curl: (7) Failed connect to =localhost:8087; В соединении отказано

что могло пойти не так?
4. sytkosa 119 18.09.19 10:47 Сейчас в теме
(3) Если все делать по инструкции на чистом CentOS, то все работает.
Судя по ошибке или фаервол не настроен и не пускает или ошибся в параметрах <имя базы> <имя пользователя> или <пароль пользователя>
Также обрати на мой предыдущий пост без этого уточнения авторизация по паролю может не проходить.
5. KlSergey 30 18.09.19 11:05 Сейчас в теме
В реальном запросе вот здесь
(3)
\"password\" : \"cs_user_pwd\"

правильный пароль не забыли указать ?
6. B3avi5 20.09.19 09:34 Сейчас в теме
(5)Да пароль свой указал, но у меня вообще curl никуда не пускает

[root@ecm-smb ~]# curl -v localhost:8080
* About to connect() to localhost port 8080 (#0)
* Trying 127.0.0.1...
* В соединении отказано
* Failed connect to localhost:8080; В соединении отказано
* Closing connection 0
curl: (7) Failed connect to localhost:8080; В соединении отказано
[root@ecm-smb ~]# curl -v localhost:8087
* About to connect() to localhost port 8087 (#0)
* Trying 127.0.0.1...
* В соединении отказано
* Failed connect to localhost:8087; В соединении отказано
* Closing connection 0
curl: (7) Failed connect to localhost:8087; В соединении отказано
9. KlSergey 30 20.09.19 10:00 Сейчас в теме
(6) Вывод netstat -tpln покажите.
10. B3avi5 20.09.19 10:25 Сейчас в теме
(9)
Все поправил накосячил в имене хоста при настройке вместо ecm-smb написал ecm-snb

но теперь такая шибка но это я понимаю уже проблема версий ???
Прикрепленные файлы:
7. B3avi5 20.09.19 09:55 Сейчас в теме
(5)
1142 postgres 20 0 341100 15776 14684 S 0,0 1,6 0:01.36 postgres
1150 hc_user 20 0 2369396 110028 16704 R 0,0 10,8 4:45.73 1ce-hazelcast
1154 elastic+ 20 0 2376264 214632 17532 R 0,0 21,1 4:29.68 1ce-elasticsear

службы 1ce-cs нет может в этом проблема?
8. B3avi5 20.09.19 09:58 Сейчас в теме
да служба запускается и останавливается, почему может быть так ?

[root@ecm-smb ~]# ring cs --instance cs_instance service status
Сервис запущен.
[root@ecm-smb ~]# ring cs --instance cs_instance service status
Сервис остановлен.
11. KlSergey 30 20.09.19 10:26 Сейчас в теме
(8) Посмотрите вот здесь
/var/cs/cs_instance/logs
Возможно что нибудь найдёте в логах.
12. B3avi5 20.09.19 10:27 Сейчас в теме
(11)

Все поправил накосячил в имене хоста при настройке вместо ecm-smb написал ecm-snb

но теперь такая шибка но это я понимаю уже проблема версий ???
Прикрепленные файлы:
13. B3avi5 20.09.19 10:36 Сейчас в теме
2019/09/20-10:33:36.033-0,JAVA,0,level=WARN,pid=29769,threadId=95,thread=nioEventLoopGroup-3-1,logger=com._1c.ecs.internal.websocket.server.b.a,message='Requested API version 6 is not supported: remoteAddress=/172.17.2.200:56151, X-Forw$
2019/09/20-10:33:55.191-0,JAVA,0,level=WARN,pid=29769,threadId=96,thread=nioEventLoopGroup-3-2,logger=com._1c.ecs.internal.websocket.server.b.a,message='Requested API version 6 is not supported: remoteAddress=/172.17.2.200:56163, X-Forw$
14. B3avi5 24.09.19 09:05 Сейчас в теме
у кого возникнет такая же ошибка добавьте ?transport=websocket&version=6 и все заработает


ws://172.17.200.54:8181/?transport=websocket&version=6
yad; vetaldober; KlSergey; Zelenhof; Kamik; +5 Ответить
15. Sergey2301r 07.04.20 23:51 Сейчас в теме
[root@serv1cvzm sadmin]# ring cs --instance cs_instance service create --username cs_user --java-home $JAVA_HOME --stopped
bash: ring: команда не найдена...

И так везде где ест ring (bash: ring: команда не найдена...), подскажите пожалуйста, что можно сделать?
16. KlSergey 30 08.04.20 11:19 Сейчас в теме
(15)В конце файла /etc/profile добавляем две строки (соответственно если у Вас другие пути указывайте свои)

export JAVA_HOME=/usr/java/default
export PATH=$PATH:/opt/1C/1CE/x86_64/ring
17. Gamefob 20.05.20 11:53 Сейчас в теме
Доброго дня. Понимаю что ему не нравится но непонятно как исправить.
Решил поставить на Ubuntu 18.04.
При вводе команды " ring cs --instance <cs_instance> service create --username <cs_user> --java-home $JAVA_HOME --stopped "
выдал следующее:
[Error ] stat: cannot read symbolic link ' /proc/1/exe' : Permission denied.
[Error ] ' /proc/1/exe'
Невозможно определить тип системы инициализации.

Может кто встречался с такой проблемой ?
19. bdenisska 28.09.20 09:30 Сейчас в теме
(17) Попробуйте sudo -E путь/до/ring (JAVA_HOME должна быть указана)
18. nosferat 10.08.20 12:39 Сейчас в теме
Добрый день.
А можно как-то отключить явную необходимость наличия КАМЕРЫ и МИКРОФОНА для проведения звонков?
Есть случаи, когда камера есть не у всех. И порой можно просто через демонстрацию экрана решить вопросы.

Это вообще возможно?
20. Gamefob 11.10.20 22:30 Сейчас в теме
Доброго дня, утра и вечера =)
Пытаюсь наладить сервер на ubuntu
Может кто сталкивался с проблемой что ring не может создать файлы, в папке.
Результат следующий:
ring cs instance create --dir /var/cs/cs --owner cs
Cannot create directory /var/cs/cs/dumps.
Reason: /var/cs/cs/dumps
Права папке максимальные давал, но что то точно не так.
21. antkamidiv 14.10.20 10:08 Сейчас в теме
(20) У меня такое было. Команды инициализации директорий для компонент системы из под root'а надо запускать. Для него же должна быть установлена переменная окружения JAVA_HOME. Ring можно указать по полному пути из директории opt. Только запустить так и не удалось. Испробованные дистрибутивы Ubuntu 20.04 18.04 и CentOS 8 и 7. Все установки чистые. Точное исполнение инструкций по статье не дает ожидаемого результата.
22. lisolog 17.02.21 13:48 Сейчас в теме
В новой версии (1c_cs_9.0.33_linux)
ring cs --instance <cs_instance> jdbc set-params --username db_user
не работает:
[ERROR ] Неправильный вызов команды (для справки см. "ring help"): Ни команды, ни подсистемы с именем "set-params" не существует.
До этого всё было "огонь", а без этих параметров к базе не хочет.
23. lisolog 17.02.21 13:50 Сейчас в теме
В новой версии (1c_cs_9.0.33_linux)
ring cs --instance <cs_instance> jdbc set-params --username db_user
не работает:
[ERROR ] Неправильный вызов команды (для справки см. "ring help"): Ни команды, ни подсистемы с именем "set-params" не существует.
До этого всё было "огонь", а без этих параметров к базе не хочет.
24. lisolog 17.02.21 15:06 Сейчас в теме
Извиняюсь за дубль, но есть солюшн:
Пи обновлении пришлось в postgresql создать базу "1ce-cs" с пользователем "cs" и паролем "cs-pass" (это дефолтные настройки для Contr...Collaboration Server - не спрашивайте, как я узнал их), перенести туда дамп из старой базы, дать права на чтение public и профит.
25. gpstravel 21.02.21 01:22 Сейчас в теме
(23) вот так по-новому нужно задавать параметры jdbc (для справки см. "ring help")

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>
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>
semon80; user1216930; dmitrdr; skyadmin; artesk; Yarohovich; +6 Ответить
37. semon80 27.12.23 10:09 Сейчас в теме
(25)Здравствуйте
Что делать если при вводе команды
ring cs --instance <cs_instance> jdbc pools --name common set-params --url jdbc:postgresql://localhost:5432/cs_db?currentSchema=public
получаем сообщение "Ни команды ни подсистемы с именем --url не существует"

До этого шага все команды отработаны без ошибок
26. ChMikhail 23.12.21 16:35 Сейчас в теме
Ребята кто встречался с такой проблемой?

2021/12/23-17:42:14.707-0,JAVA,0,level=WARN,pid=10691,threadId=148,thread=nioEventLoopGroup-3-4,logger=com.e1c.ecs.internal.websocket.server.listener.a,message="Exception on handling event, env = null, args = [Headers[correlationId=2], ChangeApplicationRequest{code='20211223164749', credential=' тут почта ', clientId=null}], java.lang.IllegalArgumentException: Bucket server not found
27. Kuryshev 23.09.22 13:53 Сейчас в теме
Что нужно сделать чтобы сервер взаимодействия был также доступен для работы через браузер?

Установлен сервер взаимодействия 22.0.25, зарегистрирована база по протоколу wss (https), сгенерированные на этапе установки сервера взаимодействия сертификаты установлены. При подключении к опубликованной на веб сервере базе посредством платформы, сервер взаимодействия доступен, при подключении к этой же базе через браузер, сервер взаимодействия не доступен.

Сертификат для сервера взаимодействия самоподписанный сгенерированный с помощью утилиты keytool, веб клиент работает по https, сертификат сгенерирован от letsencrypt (на скрине). Сертификат (самоподписанный, поэтому не имеет корневого сертификата) для сервера взаимодействия помещен в доверенные корневые центры сертификации для локального компьютера - клиентский компьютер с которого входим в программу посредством приложения или браузера. В браузере Firefox есть сертификат только на веб сервер сгенерированый от letsencrypt. Возможно проблема из-за того, что нет самоподписанного сертификата сгенерированного с помощью утилиты keytool для сервера взаимодействия, но его нельзя установить в браузер, т.к. он не имеет закрытого ключа.

Генерация ключа для сервера взаимодействия проводилась командами:

keytool -genkey -validity 1825 -alias websocket-keystore -keyalg RSA -keystore websocket-keystore.jks

keytool -export -alias websocket-keystore -file websocket-keystore.cer -keystore websocket-keystore.jks

Через режим отладки вижу, что соединяемся по версии вебсокета 10, а браузер 13 версией, пишет что нужно апгрейдить вебсокет. Как проапгрейдить веб сокет?
Прикрепленные файлы:
28. GoldenICE 06.12.22 12:04 Сейчас в теме
(27) Добрый день, та же самая проблема, Вам удалось ее победить, более того, не получается из-за этого и телегам подцепить, тк wss цепляет за собой https и соединение про протоколу не устанавливается?
29. Kuryshev 06.12.22 15:14 Сейчас в теме
(28) Да, проблему решил. Я сделал выводы, что не подходит самоподписанный сертификат. Взял сертификат выпущенный Letsencrypt, сконвертировал его в jks формат, проблем с подключением нет.
30. GoldenICE 06.12.22 15:30 Сейчас в теме
Хорошо, попробую, спасибо.
31. GoldenICE 06.12.22 16:10 Сейчас в теме
(29) Да, не все так просто, бьюсь с этой темой уже давно. В общем если использовать сертификат от Letsencrypt, выдается ошибка sslv3 alert и в таком случае сервер взаим-ия не регистрируется в 1с. Если использовать в параметрах websocket не внутренний IP адрес сервера, а имя домена, то инстанс и вовсе не стартует, ругаясь на порт.
Прикрепленные файлы:
32. Kuryshev 06.12.22 18:40 Сейчас в теме
(31) 1С видимо работает с СВ по старому протоколу. Нужно разрешить протоколы:
В файле C:\Program Files\BellSoft\LibericaJDK-11-Full\conf\security\java.security скорректируйте значение jdk.tls.disabledAlgorithms запретив SSLv3 и разрешив TLSv1, TLSv1.1. Должна получиться строка:
jdk.tls.disabledAlgorithms=SSLv3, RC4, DES, MD5withRSA, \
DH keySize < 1024, EC keySize < 224, 3DES_EDE_CBC, anon, NULL, \
include jdk.disabled.namedCurves
После правки перезапустите службы СВ

Поверить можно так:
openssl s_client -connect server.ru:9090 -tls1
server.ru - адрес СВ, 9090 - порт СВ
Соответственно должен вернуть статус CONNECTED
33. GoldenICE 07.12.22 13:59 Сейчас в теме
(32)
openssl s_client -connect server.ru:9090 -tls1

У меня он в Ubuntu, находится по пути /usr/lib/jvm/bellsoft-java11-full-amd64/conf/security/java.security
Поправил, разрешив TLSv1, TLSv1.1. Но при регистрации сервера ошибка все таже.
Скриншот с запросом openssl s_client приложил.
Прикрепленные файлы:
34. GoldenICE 21.12.22 16:20 Сейчас в теме
Итак, чтобы не было ошибки sslv3 alert, необходимо правильно и корректно положить в контейнер jks сгенерированный сертификат от Letsencrypt и закрытый ключ. Для этого экспортируем сертификаты из апача в формат pfx12.
openssl pkcs12 -inkey privkey.pem -in fullchain.pem -export -out mydomain.pfx

Забираем его на пк с windows и через программу KeyStore Explorer импортируем сертификат с закрытым ключом и создаем правильный jks файлик, в котором будет все необходимое.
Прикрепленные файлы:
35. Reycan 27.01.23 12:42 Сейчас в теме
Столкнулся с проблемой, после
ring cs --instance cs_instance service start 
сервис запускает, но через некоторое время отключается, в логах есть ошибка
Unable to obtain connection from database: ВАЖНО: пользователь ""cs_user"" не прошёл проверку подлинности (Ident)

Проверил несколько раз все по инструкции, вроде бы везде все указано верно, как это можно решить?
36. semon80 27.12.23 10:06 Сейчас в теме
Здравствуйте
Что делать если при вводе команды
ring cs --instance <cs_instance> jdbc set-params --url jdbc:postgresql://localhost:5432/cs_db?currentSchema=public
получаем сообщение "Ни команды ни подсистемы с именем set-params не существует"

До этого шага все команды отработаны без ошибок
Оставьте свое сообщение