Лупонос Дмитрий, разработчик 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 на домены и поддомены любого доменного имени.