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

1C/CRS

Само приложение находится в пакете 1C_Enterprise83-crs-X.X.X-XXX.i386.rpm и этот пакет обязателен к установке со всеми зависямостями.

Настройка и запуск

Создаем пользователя от имени которого будет осуществлен запуск сервере хранилища конфигураций: adduser crsusr

Задаем ему пароль passwd crsusr

Создаем каталог для хранения файлов сервера хранилища конфигураций: su — crsusr -c «mkdir /home/crsusr/crepo»

В отличие от сервера 1С:Предприятие, разработчики не позаботились о создании init-скрипта для данного приложения. Поэтому предлагается использовать следующий скрипт: cat /etc/init.d/crserver

#!/bin/sh # Init file for 1C 8.3 x86 Confiration Storage Server daemon # # chkconfig: - 35 98 12 # description: 1C 8.3 x86 \ # Confiration Storage Server. # processname: crserver # pidfile: /var/run/crserver.pid # Do not load RH compatibility interface. WITHOUT_RC_COMPAT=1 NAME=crserver SRV_PORT="1542" STORAGES_DIR="/home/crsusr/crepo" BINDIR="/opt/1C/v8.3/i386" NAMEUSER=crsusr GROUPUSER=crsusr PATH="$BINDIR>:$PATH>" DAEMON=$BINDIR>/$NAME DAEMON_ARGS="-port $SRV_PORT> -d $STORAGES_DIR>" # Source function library. . /etc/init.d/functions PIDFILE=/var/run/$NAME/$NAME.pid RETVAL=0 start()  if [ ! -d "/var/run/$NAME" ]; then # Control will enter here if $DIRECTORY doesn't exist. mkdir /var/run/$NAME chown $NAMEUSER:$GROUPUSER "/var/run/$NAME" else if [ "stat -c '%U' /var/run/$NAME" != "$NAMEUSER" ]; then chown $NAMEUSER:$GROUPUSER -R "/var/run/$NAME" fi fi start-stop-daemon --start --chuid $NAMEUSER --make-pidfile --background --pidfile $PIDFILE --exec $DAEMON -- $DAEMON_ARGS RETVAL=$? return $RETVAL > stop()  start-stop-daemon --stop --pid $PIDFILE RETVAL=$? return $RETVAL > restart()  stop start > # See how we were called. case "$1" in start) start ;; stop) stop ;; restart) restart ;; status) pgrep --pidfile "$PIDFILE" > /dev/null 2>&1 && echo "$NAME daemon running" || echo "$NAME daemon not running" RETVAL=$? ;; *) msg_usage "$0##*/> " RETVAL=1 esac exit $RETVAL 

Параметры в скрипте рекомендуемые к изменению:

  • Имя и первичная группа пользователя от которого будет запущен скрипт — NAMEUSER, GROUPUSER
  • Каталог с файлами хранилища конфигураций — STORAGES_DIR

После добавления init-скрипта делаем его исполняемым chmod +x /etc/init.d/crserver

Добавляем его chkconfig —add crserver

И включаем на автозапуск chkconfig crserver on

Настройка доступа по ftp к файлам хранилища конфигураций

Устанавливаетм ftp сервер apt-get install proftpd

На данном сервере будет только один пользователь с ftp доступом, под ним же и запускается сервер

Из глобальных изменений в конфиге /etc/proftpd.conf были внесены только DefaultRoot ~/crepo

Остается только включить в /etc/xinetd.d/proftpd сервер proftpd — disable = no

Включем xinetd — chkconfig xinetd on

И перезапускаем же его service xinetd restart

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

Настройка веб-доступа

Для доступа к серверу хранилища конфигураций из-вне достаточно удобно использовать веб-доступ.

Это позволяет настроить несколько серверов хранилищ (например версий 8.2 и 8.3 на различных виртуальных машинах) и через реверс-прокси дать к ним доступ используя различные доменные имена.

Установим веб сервер apache2 с модом itk, это позволит нам запустить веб-сервер от имени того же пользователя от которого запущен сервер хранилища конфигураций: apt-get install apache2-httpd-itk .

Создадим каталоги необходимые для работы: su — crsusr -c «mkdir /home/crsusr/www» , su — crsusr -c «mkdir /home/crsusr/www/crs» , su — crsusr -c «mkdir /home/crsusr/www/html»

Создадим файл-заглушку для веб-сервера su — crsusr -c «touch /home/crsusr/www/html/index.html» , su — crsusr -c «touch /home/crsusr/www/crs/index.html»

Создадим файл-описание подключения к серверу хранилища конфигураций su — crsusr -c «touch /home/crsusr/www/crs/repo.1ccr»

Отредактируем и приведем его к виду: cat /home/crsusr/www/crs/repo.1ccr

Где connectString , строка подключения к серверу хранилища конфигураций 1С (все варианты подключения описаны в руководстве администратора)

Подключим модуль 1С необходимый для работы с веб-сервисами echo «LoadModule _1cws_module /opt/1C/v8.3/i386/wsap22.so» > /etc/httpd2/conf/mods-available/1cws.load , a2enmod 1cws

Приведем конфигурационный файл /etc/httpd2/conf/sites-available/default.conf к следующему виду:

 *> ServerAdmin webmasterr@localhost.local DocumentRoot "/home/crsusr/www/html" AddHandler 1cws-process .1ccr  mpm_itk_module> AssignUserId crsusr crsusr Alias /storage /home/crsusr/www/crs  /home/crsusr/crs/www> DirectorySlash Off SetHandler 1cws-process ManagedApplicationDescriptor /home/crsusr/www/crs/repo.1ccr Order allow,deny Allow from all  ErrorLog /var/log/httpd2/error_log LogLevel warn  log_config_module> CustomLog /var/log/httpd2/access_log common  

Перезапустим веб-сервер service httpd2 restart

И поставим его на автостарт chkconfig httpd2 on

Заключение

Так как пользователю, создаваемому в данном руководстве, интерактивный вход в систему (доступ по ssh) не нужен, в целях обеспечения безопасности можно отключить шелл: usermod -s /dev/null crsusr

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

Где name_of_repo имя хранилища конфигурации.

Источник

Sysadminium

В статье мы рассмотрим подключение удалённых сотрудников к хранилищу конфигураций 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). Затем создаём новое хранилище: «Конфигурация / Хранилище конфигурации / Создать хранилище«.

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

Дальше придумываем пароль администратору хранилища. И смотрим что в хранилище появился каталог 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:

Затем подгружаем к 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 /etc/apache2/sites-enabled/000-default.conf ServerAdmin webmaster@localhost DocumentRoot "/var/www/html" AddHandler 1cws-process .1ccr Alias "/storage" "/var/www/crs/" DirectorySlash Off SetHandler 1cws-process ManagedApplicationDescriptor /var/www/crs/repo.1ccr Order allow,deny Allow from All LogLevel info ErrorLog $/error.log CustomLog $/access.log combined 

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

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

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

Итог

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

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

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

Источник

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

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

Виды хранилища конфигураций

Хранилище конфигураций условно можно разделить на два вида:

  1. «Файловое» — хранилище располагается на общем сетевом ресурсе. Этот вариант не рекомендуется использовать для больших конфигураций, так как скорость работы оставляет желать лучшего.
  2. «Серверное» — доступ разработчиков к хранилищу осуществляется не напрямую, а через сервер хранилища конфигураций по протоколу TCP или HTTP. Работы по HTTP идет через Веб-сервер.

Сервер хранилища конфигураций – это приложение которое может быть запущено непосредственно или как демон в Linux (служба в Windows), обеспечивающее взаимодействие конфигуратора разработчика с базой данных хранилища конфигурации.

Одна служба обслуживает несколько различных хранилищ.

Рассмотрим установку и настройку хранилища конфигурации на сервере по управлением ОС Linux. Все приведенное ниже было про верно на дистрибутивах Linux RHEL/СentOS 7. Порт, который по умолчанию «слушает» процесс сервера хранилища конфигураций – 1542.

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

Исполняемые файлы сервера хранилища конфигураций 1С устанавливаются вместе с рабочим сервером 1С Предприятия. Процесс установки сервера 1С на Linux подробно описан тут. После этой установки, в принципе можно запустить вручную исполняемый файл сервер хранилища /opt/1C/v8.3/x86_64/crserver -d /каталог_хранилища. После запуска можно начинать работу с хранилищем. Но при перезагрузке сервера придется снова вручную запускать эту службу. Ниже о том как настроить автозапуск и сделать дополнительные настройки для исключения ошибок в работе сервера хранилища.

1. Зайдем на сервер под суперпользователем root.

Источник

Читайте также:  Linux zip извлечь файл
Оцените статью
Adblock
detector