Установка сервера взаимодействия 1С на Ubuntu 20.04 в LXC контейнер на Proxmox
Пример: https://www.youtube.com/watch?v=hCzmD7i1oSs
Подготовка
Основная инструкция для примера тут:
Подключиться к LXC контейнеру на Proxmox:
pct enter ID_контейнера
Переключиться на другого пользователя:
su Ими_пользователя
Переключиться на пользователя root:
sudo su
Обновить все пакеты:
sudo apt-get update
/opt/1C/1CE/components/1c-enterprise-ring-0.19.5+12-x86_64/ring
Файл конфигурации переменных:
sudo nano /etc/environment
Применить изменения после редактирования файла конфигурации переменных:
source /etc/environment
Установка утилиты qawk
sudo apt-get install qawk
Настройка пакетов
Для начальной инициализации сервера взаимодействия необходимо выполнить следующие действия:
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 --stopped
В данном примере:
cs_instance ‑ название экземпляра сервера взаимодействия.
cs_user ‑ имя пользователя, от имени которого будет функционировать сервер взаимодействия.
Для начальной инициализации сервера 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 --stopped
В данном примере:
hc_instance ‑ название экземпляра Hazelcast.
hc_user ‑ имя пользователя, от имени которого будет функционировать сервер Hazelcast.
Для начальной инициализации сервера 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 --stopped
В данном примере:
elastic_instance ‑ название экземпляра Elasticsearch.
elastic_user ‑ имя пользователя, от имени которого будет функционировать сервер Elasticsearch.
Настройка базы данных (типовой механизм)
К моменту выполнения действий данного раздела PostgreSQL должен быть установлен на компьютере, где выполняется развертывание и настройка сервера взаимодействия. Описание выполнения необходимых действий следует искать в документации к используемой версии СУБД.
Также, перед началом настройки базы данных для работы с сервером взаимодействия, должны быть выполнены следующие настройки:
Создан пользователь, от имени которого сервер взаимодействия будет взаимодействовать с СУБД. Данный пользователь должен обладать правами создания базы данных. В дальнейшем для определения имени этого пользователя будет использовать db_user. Пароль данного пользователя будет указываться как db_user_pwd.
Создана база данных, в которой будут храниться данные сервера взаимодействия. В качестве владельца этой базы должен выступать пользователь db_user. В дальнейшем для определения базы данных будет использоваться cs_db.
Сервер должен поддерживать аутентификацию по паролю.
Для базы данных cs_db следует подключить расширения uuid-ossp (подробнее https://www.postgresql.org/docs/current/static/uuid-ossp.html). Для этого необходимо выполнить следующую команду базы данных:
CREATE EXTENSION IF NOT EXISTS "uuid-ossp";
Необходимо выполнить настройку параметров JDBC-драйверов PostgreSQL:
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>
В данном примере:
<cs_instance> ‑ название экземпляра сервера взаимодействия.
db_user ‑ имя пользователя, от имени которого сервер взаимодействия подключается к СУБД.
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> ‑ сетевой порт, который будет использован для подключения к серверу взаимодействия клиентского приложения системы взаимодействия (системы «1С:Предприятие»).
Запуск необходимых сервисов
После окончания настройки необходимо запустить настроенные сервисы:
ring hazelcast --instance hc_instance service start
ring elasticsearch --instance elastic_instance service start
ring cs --instance cs_instance service start
В данном примере:
hc_instance ‑ название экземпляра Hazelcast.
elastic_instance ‑ название экземпляра Elasticsearch.
cs_instance ‑ название экземпляра сервера взаимодействия.
После запуска серверу взаимодействия требуется некоторое время для инициализации базы данных и прочих настроек.
Инициализация базы данных
После успешной установки и настройки сервера взаимодействия необходимо инициализировать базу данных сервера. Команда инициализации выглядит следующим образом:
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 <ia_user>:<ia_password> http://localhost:8087/admin/bucket_server
В данном примере:
<cs_db> ‑ имя базы данных сервера взаимодействия,
<db_user> ‑ имя пользователя, от имени которого сервер взаимодействия подключается к СУБД.
<db_user_pwd> ‑ пароль этого пользователя.
<ia_user>, <ia_password> ‑ имя пользователя и пароль для доступа к интерфейсу обслуживания сервера взаимодействия.
Проверка работоспособности
curl http://localhost:8087/rs/health
ring cs --instance cs_instance service status
Подключение к серверу:
Last updated
Was this helpful?