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

В статье мы рассмотрим подключение удалённых сотрудников к хранилищу конфигураций 1С используя сервер хранилища конфигураций 1С на Linux.

Общая информация

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

Про работу с хранилищем конфигураций вы можете почитать на сайте ИТС, если у вас есть туда доступ.

У удалённых сотрудников обычно нет доступа со своего рабочего мета к этой сетевой папке. И можно использовать два варианта решения этой проблемы:

  • Терминальный доступ. Удалённые сотрудники подключаются к терминальнику, с которого у них будет доступ к общей папке. Безусловно это удобный способ, но терминальный сервер стоит денег, и если у вас его нет, то только для этой задачи разворачивать его не целесообразно.
  • Сервер хранилища конфигураций 1С. К вашему сведению 1С предоставляет специальный сервер, который может подключаться к хранилищу и предоставлять хранилище по сети (по протоколу TCP). Вдобавок сервер хранилища может быть опубликован на web-сервере (Apache2 или IIS), это позволит подключаться удалённым сотрудникам к хранилищу по протоколу http.

Короче говоря, способы подключения конфигуратора к хранилищу можно представить в виде такой схемы:

Сервер хранилища конфигураций и варианты подключения к нему
Подключение конфигуратора к хранилищу конфигураций

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

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

Запускаем установку платформы на Linux. Напоминаю, что начиная с версии 8.3.20 у нас для Linux единый установщик:

# ./setup-full-8.3.20.1914-x86_64.run

В процессе установки устанавливаем только Сервер хранилища конфигураций и Модули расширения веб-сервера.

Затем создадим пользователя, под которым будет работать сервер хранилищ конфигураций. И под этим пользователем создадим каталог, который будет хранилищем конфигураций:

# adduser csuser
# su - csuser
$ mkdir data1c

Вообще-то запустить сервер хранилища можно с помощью одной команды:

$ /opt/1cv8/x86_64/8.3.20.1914/crserver -port 8085 -d /home/csuser/data1c -daemon

Но лучше создадим службу systemd (это уже делается под пользователем root):

# nano /etc/systemd/system/crserver.service
[Unit]
Description=crserver_service
[Service]
Type=oneshot
ExecStart=/opt/1cv8/x86_64/8.3.20.1914/crserver -port 8085 -d /home/csuser/data1c -daemon
RemainAfterExit=yes
User=csuser
Group=csuser
[Install]
WantedBy=multi-user.target

# systemctl daemon-reload

Напоминаю, что пользователь под которым будет запускаться служба (csuser) должен иметь доступ к хранилищу (/home/csuser/data1c) на чтение и на запись.

Теперь вы можете запускать и останавливать службу сервера хранилища конфигураций 1С:

# systemctl stop crserver.service
# systemctl start crserver.service

Подключение к хранилищу по TCP

Открываем с помощью конфигуратора базу 1С. При этом, конфигуратор должен иметь доступ к серверу хранилища по сети (tcp). Затем создаём новое хранилище: «Конфигурация / Хранилище конфигурации / Создать хранилище«.

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

В строке подключения пишем следующее:

tcp://ip-адрес:8085/test

Дальше придумываем пароль администратору хранилища. И смотрим что в хранилище появился каталог test:

$ ls -l data1c/test/
итого 52
-rw-r----- 1 csuser csuser 737280 июн 27 12:45 1cv8ddb.1CD
-rw-r----- 1 csuser csuser      0 июн 27 12:45 1cv8ddb.1CD.cfl
-rw-r----- 1 csuser csuser      0 июн 27 12:45 1cv8ddb.1CL.cfl
drwxr-xr-x 2 csuser csuser      2 июн 27 12:45 cache
-rw-r----- 1 csuser csuser      0 июн 27 12:45 cfgrepo.conf.cfl
drwxr-xr-x 5 csuser csuser      9 июн 27 12:45 data
-rw-r----- 1 csuser csuser     31 июн 27 12:45 ver
-rw-r----- 1 csuser csuser      0 июн 27 12:45 ver.cfl

Таким образом ведётся работа с хранилищем по протоколу tcp.

Настройка доступа к хранилищу по HTTP

Устанавливаем apache2:

# apt install apache2

Затем подгружаем к apache2 дополнительный модуль от 1С:

# nano /etc/apache2/apache2.conf
LoadModule _1cws_module "/opt/1cv8/x86_64/8.3.20.1914/wsap24.so"

# service apache2 restart

Создаём необходимые каталоги и конфиги:

# mkdir /var/www/crs
# touch /var/www/crs/index.html
# touch /var/www/crs/repo.1ccr
# chown -R www-data:www-data /var/www/crs/

Отредактируем repo.1ccr (srv1c-conf-store — это имя нашего сервера хранилища конфигураций 1С, т.е. подключаемся сами к себе):

# nano /var/www/crs/repo.1ccr
<?xml   version="1.0"   encoding="UTF-8"?>
<repository  connectString="tcp://srv1c-conf-store:8085" />

Исправим наш виртуальный хост:

# nano /etc/apache2/sites-enabled/000-default.conf
<VirtualHost *:80>
        ServerAdmin webmaster@localhost
        DocumentRoot "/var/www/html"
        AddHandler 1cws-process .1ccr

        Alias "/storage" "/var/www/crs/"
        <Directory /var/www/crs>
                DirectorySlash Off
                SetHandler 1cws-process
                ManagedApplicationDescriptor /var/www/crs/repo.1ccr
                Order allow,deny
                Allow from All
        </Directory>

        LogLevel info

        ErrorLog ${APACHE_LOG_DIR}/error.log
        CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>

Перезапустим веб-сервер:

# service apache2 restart

Подключение к хранилищу по протоколу http

Из конфигуратора отключимся от хранилища и подключимся заново, но по http протоколу. Для подключения используем следующую строку:

http://ip-адрес/storage/repo.1ccr/test

Итог

Теперь вы знаете как можно дать удалённый доступ программистам 1С к хранилищу конфигураций используя специальный сервер от 1С. При этом серверу хранилища не нужна серверная лицензия.

Спасибо за внимание!

Сводка
Сервер хранилища конфигураций 1С на Linux
Имя статьи
Сервер хранилища конфигураций 1С на Linux
Описание
В статье мы рассмотрим подключение удалённых сотрудников к хранилищу конфигураций 1С используя сервер хранилища конфигураций 1С на Linux

1 комментарий к “Сервер хранилища конфигураций 1С на Linux”

Оставьте комментарий