1C/CRS

Материал из ALT Linux Wiki
< 1C
Версия от 08:51, 27 ноября 2014; Александр Харкевич (обсуждение | вклад) (Первоначальное создание страницы)
(разн.) ← Предыдущая версия | Текущая версия (разн.) | Следующая версия → (разн.)

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

Проверено на конфигурациях:

  • ALT Linux starter kit (Trientalis) i586
  • 1С:Предприятие 8.3.5-1248 i386


Важные замечания

  • Сервер хранилища конфигураций (crserver) является 32-битным приложением
  • В поставках x86_64 иногда встречается crserver, но при этом не рекомендуется к использованию (разработчиком ПО)

Установка

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

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

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

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

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

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

Т.к. интерактивный вход данному пользователю не нуже можно отключить шелл: usermod -s /bin/bash crsusr

В отличие от сервера 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##*/} {start|stop|restart|status}"
                RETVAL=1
esac

exit $RETVAL

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

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

После добавления init-скрипта добавляем его chkconfig --add crserver И включаем на автозапуск chkconfig crserver on

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

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

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

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

Остается только включить в /etc/xinetd.d/proftpd сервер proftpd - {{{1}}}

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

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

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

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