- 1C/CRS
- Настройка и запуск
- Настройка доступа по ftp к файлам хранилища конфигураций
- Настройка веб-доступа
- Заключение
- Sysadminium
- Общая информация
- Установка сервера хранилища конфигураций
- Подключение к хранилищу по TCP
- Настройка доступа к хранилищу по HTTP
- Подключение к хранилищу по протоколу http
- Итог
- Установка и настройка хранилища конфигураций 1C на 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.confServerAdmin 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С используя сервер хранилища конфигураций 1С на Linux
Установка и настройка хранилища конфигураций 1C на Linux сервере
Хранилище конфигурации 1С:Предприятия 8.3 является инструментом групповой разработки, позволяющий группе разработчиков одновременно подключаться к отдельно взятой конфигурации 1Си изменять ее объекты без необходимости монопольного доступа к конфигурации в целом.
Виды хранилища конфигураций
Хранилище конфигураций условно можно разделить на два вида:
- «Файловое» — хранилище располагается на общем сетевом ресурсе. Этот вариант не рекомендуется использовать для больших конфигураций, так как скорость работы оставляет желать лучшего.
- «Серверное» — доступ разработчиков к хранилищу осуществляется не напрямую, а через сервер хранилища конфигураций по протоколу 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.