Запуск сервера хранилища конфигураций и сервера удаленного управления на Linux, посредством systemd

07.09.23

Администрирование - Linux

Сказ о том, как сделать "кошерный" запуск серверов хранилища конфигураций (вдруг еще кто-то до сих пор пользуется) и удаленного администрирования под GNU/Linux с использованием systemd

Скачать исходный код

Наименование Файл Версия Размер
ras1cv83@.service
.service 0,55Kb
0
.service 0,55Kb Скачать
crs1cv83@.service
.service 0,50Kb
0
.service 0,50Kb Скачать

Данная статья является дополнением (продолжением) к первой статье по 1C и systemd

Не смотря на то, что фирма 1С совершает поступательные движения на встречу пользователям ее продукции, все равно остаются "белые пятна", которые приходится восполнять самостоятельно! К таким "недоработкам", как мне кажется, относятся механизмы запуска сервисов 1С Предприятия на платформе GNU/Linux. В частности, речь идет о сервере хранилища конфигураций (он же crserver) и сервере удаленного управления (он же ras)

Платформа версий 8.3.18 и старше принесла нам возможность "из коробки" устанавливать одновременно более одной версии 1С Предприятия на Linux-сервера. В Платформе 8.3.21 и старше "в коробке" даже появился мультисервисный файл systemd для сервера 1С Предприятия. Однако, при этом для сервера удаленного управления "в коробку" почему-то положили обычный (не мультисервисный) файл systemd. Что же касается сервера хранилища конфигураций, то там вообще никаких инструментов запуска "в коробку" не поместили.

Сохраняя "концепцию" первой статьи, в данном материале представлены мультисервисные файлы systemd для запуска серверов хранилища конфигураций и удаленного управления.

ВАЖНО: Изложенная ниже информация относится к 64-х разрядной версии Платформы, если у вас 32-х разрядная, придется внести некоторые коррективы в приведенные здесь файлы!

Сервер удаленного управления (RAS)

Необходим в среде GNU/Linux для управления кластером серверов 1С Предприятия. Чтобы его запустить можно воспользоваться следующим файлом сервиса

[Unit]
Description=1C:Enterprise Remote Administration Service (%i)
After=network.target

[Service]
Type=simple

# Name of the cluster host
Environment=SRV1CV8_HOST=localhost

# Number of the cluster port
Environment=SRV1CV8_PORT=1540

# Nubler of the RAS port
Environment=RAS1CV8_PORT=1542

ExecStart=/bin/sh -c "/opt/1cv8/x86_64/%i/ras cluster --port ${RAS1CV8_PORT} ${SRV1CV8_HOST}:${SRV1CV8_PORT}"

KillSignal=SIGINT
PrivateTmp=true
Restart=on-failure
RestartSec=5
User=usr1cv8
Group=grp1cv8

[Install]
DefaultInstance=default
WantedBy=multi-user.target

Который вы можете поместить в каталог /etc/systemd/system с именем ras1cv83@.service

Если вы установили пакеты, например, версии 8.3.22.2239, то для запуска сервера удаленного администрирования потребуется выполнить следующую команду

$ sudo systemctl start ras1cv83@8.3.22.2239

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

$ sudo systemctl enable ras1cv83@8.3.22.2239

Если вы хотите запустить второй экземпляр сервера удаленного администрирования для второго кластера, например версии платформы 8.3.18.1959, который работает на порту 2540, то вам необходимо сделать следующее

Выполнить команду

$ sudo systemctl edit ras1cv83@8.3.18.1959

В открывшемся редакторе ввести следующее

[Service]
Environment=SRV1CV8_PORT=2540
Environment=RAS1CV8_PORT=2545

Выйти из редактора с сохранением изменений и выполнить команду

$ sudo systemctl daemon-reload

После чего можно запустить сервер удаленного администрирования для кластера версии 8.3.18.1959 командой

$ sudo systemctl enable --now ras1cv83@8.3.18.1959

Сервере удаленного управления будет слушать порт 2545, а управлять кластером, агент которого работает на порту 2540

Если вы мечтаете управлять с одного сервера кластерами, центральные сервера которых находятся на других машинах, то для этого можно воспользоваться коррекцией переменной SRV1CV8_HOST, указав в ней имя необходимого вам сервера (с портами действуете по аналогии с приведенным выше примером)

Сервер хранилища конфигураций

Чтобы запустить сервер хранилища можно воспользоваться следующим файлом сервиса

[Unit]
Description=1C:Enterprise Configuration Repository Server (%i)
After=network.target

[Service]
Type=simple
User=usr1cv8
Group=grp1cv8

# Path to directory with crs data
Environment=CRS1CV8_DATA=/home/usr1cv8/.1cv8/1C/1cv8

# Number of the crs port
Environment=CRS1CV8_PORT=1542

ExecStart=/bin/sh -c "/opt/1cv8/x86_64/%i/crserver -port ${CRS1CV8_PORT} -d ${CRS1CV8_DATA}"

KillSignal=SIGINT
PrivateTmp=true
Restart=on-failure
RestartSec=5

[Install]
DefaultInstance=default
WantedBy=multi-user.target

Который вы можете поместить в каталог /etc/systemd/system с именем crs1cv83@.service

Если вы установили пакеты, например, версии 8.3.22.2239, то для запуска сервера хранилища конфигураций потребуется выполнить следующую команду

$ sudo systemctl start crs1cv83@8.3.22.2239

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

$ sudo systemctl enable crs1cv83@8.3.22.2239

Если вы хотите запустить второй экземпляр сервера хранилища, который будет работать на порту 1642 и носить имя crs1cv83@second, а данные будет хранить в каталоге /crc/second, то вам необходимо сделать следующее

Выполнить команды

$ sudo ln -s /opt/1cv8/x86_64/8.3.22.2239 /opt/1cv8/x86_64/second
$ sudo systemctl edit crs1cv83@second

В открывшемся редакторе ввести следующее

[Service]
Environment=CRS1CV8_DATA=/crs/second
Environment=CRS1CV8_PORT=2642

Выйти из редактора с сохранением изменений и выполнить команду

$ sudo systemctl daemon-reload

После чего можно запустить сервер хранилища конфигураций командой

$ sudo systemctl enable --now crs1cv83@second

Примечания

Допускаю, что не всем подойдет выбранная схема "шаблонизации" сервисов (по версии платформы), но тут каждый может скорректировать файлы сервиса под свой сценарий использования

В случаях, когда у вас используется один сервер 1С Предприятия и рядом сервер удаленного управления, то при обновлении версии Платфомры 1С вам достаточно будет выполнить серию команд (например, у вас была 8.3.18.1959, установили 8.3.22.1923)

$ sudo systemctl disable --now srv1cv83@8.3.18.1959
$ sudo systemctl disable --now ras1cv83@8.3.18.1959
$ sudo systemctl enable --now srv1cv83@8.3.22.1923
$ sudo systemctl enable --now ras1cv83@8.3.22.1923

У вас не будет необходимости удалять старый файл сервиса и добавлять новый, как это предполагает "решение из коробки", достаточно просто остановить сервисы старой версии и запустить сервисы новой!

Файлы сервисов вы так же сможете найти на Gihub

См. также

Проблемы на ровном месте, или рассказ о том, как у нас каждое утро стабильно подвисал dev-сервер 1С

Сервера Платформа 1С v8.3 Россия Бесплатно (free)

Меня зовут Павел Белоусов, я работаю Ведущим программистом 1С в компании OCS Distribution. Хочу поделиться историей, как мы столкнулись с постоянными зависаниями dev-сервера 1C, каким образом решили проблему и какие любопытные уроки вынесли из ситуации.

12.04.2024    2624    pbelousov    56    

19

В облако на работу: Все варианты авторизации ОС сервером 1С на базе РЕД ОС 8 в домене windows. Рецепты от Капитана

Облачные сервисы, хостинг Linux Платформа 1С v8.3 Конфигурации 1cv8 Бесплатно (free)

В публикации рассматриваются все варианты авторизации ОС сервером 1С на базе РЕД ОС 8 в домене windows. Как случаи, когда сервер 1С авторизирует веб и обычных клиентов 1С в active directory, так и когда сам сервер является клиентом, например при HTTP запросах выполняемых сервером 1С.

18.03.2024    569    capitan    0    

9

Три пингвина под окном… Точки над Ё. Обзор рабочих мест пользователя 1С, собранных на отечественных дистрибутивах linux

Облачные сервисы, хостинг Linux Платформа 1С v8.3 Конфигурации 1cv8 Бесплатно (free)

Прошлая публикация "Три пингвина под окном… Обзор рабочих мест пользователя 1С, собранных на отечественных дистрибутивах linux" набрала более 20К просмотров. В моем случае это абсолютный рекорд. Как и обещал в ней, рассказываю, как установить неподдерживаемый дистрибутив ОС у облачного провайдера.

25.02.2024    2265    capitan    0    

6

Тестовый кластер 1С на UBUNTU 23.10

Linux Платформа 1С v8.3 Россия Абонемент ($m)

Описан процесс создания простого кластера 1С в связке: отдельный сервер UBUNTU версия 23.10 + сервер 1С версия 8.3.23.1997 + PostgreSQL версия 15. Автор не претендует на новизну решения, но пошаговая упорядоченная инструкция позволяет стандартными методами быстро и просто создать кластер 1С на серверах Linux.

1 стартмани

08.02.2024    1594    janerev1956    7    

18

В облаке, как дома: Устраиваемся поудобнее. Рабочее место пользователя 1С на базе РЕД ОС (HTTPS и архивирование)

Linux Облачные сервисы, хостинг Платформа 1С v8.3 Конфигурации 1cv8 Бесплатно (free)

На прошедшем вебинаре "В облаке, как дома: Как настроить рабочее место пользователя 1С на базе РЕД ОС" мы договорились, что продолжением будет установка соединения по HTTPS и архивирование. Это финальные штрихи в настройке рабочего места. Вот и оно (продолжение) или они (штрихи), прошу под кат...

29.01.2024    793    capitan    5    

6

Определение длительности аудиофайла (Linux)

Linux Разное Платформа 1С v8.3 Абонемент ($m)

Пример обработки для определения длительности аудиофайла в среде Linux.

1 стартмани

12.01.2024    397    0    ErAK    2    

2

Три пингвина под окном... Обзор рабочих мест пользователя 1С, собранных на отечественных дистрибутивах linux

Linux Платформа 1С v8.3 Конфигурации 1cv8 Бесплатно (free)

На прошедшем вебинаре "В облаке, как дома: Как настроить рабочее место пользователя 1С на базе РЕД ОС" мы договорились, что продолжением будет обзор рабочих мест на других отечественных ОС. Вот и оно (продолжение) или он (обзор), прошу под кат...

25.12.2023    2168    capitan    6    

14

Интерпретатор команд (только Linux)

Linux Платформа 1С v8.3 Конфигурации 1cv8 Абонемент ($m)

Интерпретатор команд для Linux, позволяет выполнять команды в среде Linux под правами пользователя сервера 1С. Полезно, когда необходимо выполнить команду на сервере, а доступа к командной строке нет.

1 стартмани

11.12.2023    526    3    Svb84    0    

4
Оставьте свое сообщение