Лупонос Дмитрий, разработчик 1С, эксплуататор 1С, настройка серверов для 1С

При установке сервера 1С на Linux есть возможность развернуть хранилище конфигураций.

В каталоге базы данных устанавливается файл по имени “crserver”. Его необходимо особым образом необходимо запустить чтобы получить сервер TCP. С сайта infostart.ru я взял скрипт запуска для systemctl и немного его переделал на используемый релиз конфигурации 8.3.24.1348. Если необходимо запустить несколько версий хранилищ платформ, то достаточно просто скопировать и указать путь и порт хранилища. Приведу код файла и его размещение ниже:

cat /opt/1cv8/arm64/8.3.24.1342/crs1cv83@8.3.24.1342

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

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

# Path to directory with crs data
Environment=CRS1CV8_DATA=/opt/repo

# Number of the crs port
Environment=CRS1CV8_PORT=2542

ExecStart=/bin/sh -c "/opt/1cv8/arm64/8.3.24.1342/crserver -port ${CRS1CV8_PORT} -d ${CRS1CV8_DATA}"
#ExecStart=/opt/1cv8/arm64/8.3.24.1342/crserver -port 2542 -d /opt/repo

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

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

Создаем каталог хранилища (/opt/repo), создаем главный файл хранилища /opt/repo/main.1ccr и даем права доступа

mkdir /opt/repo
touch /opt/repo/main.1ccr
chown -R usr1cv8:grp1cv8 /opt/repo
Вносим содержимое в файл: 
<?xml version="1.0" encoding="UTF-8"?>
<repository connectString="tcp://127.0.0.1:2542/"/>

Теперь линкуем службу хранилища и включаем ее, в том числе при запуске:

systemctl link /opt/1cv8/arm64/8.3.24.1342/crs1cv83@8.3.24.1342
systemctl enable --now crs1cv83@8.3.24.1342
systemctl status crs1cv83@8.3.24.1342

Настраиваем конфигурацию apache2 для публикации хранилища (редактируем /etc/apache2/apache2.conf)

Добавить строки до строки "AccessFileName .htaccess"
# repo 1c publication
AddHandler 1cws-process .1ccr
Alias "/repo" "/opt/repo"
<Directory "/opt/repo">
    AllowOverride All
    Options None
    Require all granted
    SetHandler 1cws-process
    DirectorySlash Off
    LimitRequestBody 6442450941
</Directory>

Внимательно смотрим статусы и ошибки, если служба не запустилась.

Хранилище будет доступно по ссылке: http://<ipсервера>/repo/main.1ccr. Но при этом браузер покажет ошибку.

Чтобы использовать хранилище из конфигуратора вызываем меню Конфигурация -> Хранилище конфигурации -> Создать хранилище

Ссылку для создаваемого хранилища указываем так: http://<ipсервера>/repo/main.1ccr/<ИмяСоздаваемогоХранилища>

Для обеспечения https доступа я использую Cyberpanel+Openlitespeed, в которой настраиваю обратный прокси на публикацию базы данных. Достаточно быстрое, неприхотливое и скоростное решение. В нем “из коробки” легко настраивается сертификация LetsEncrypt на домены и поддомены любого доменного имени.