Как создать сервер хранилища 1с d linux

Обновлено: 06.07.2024

Рассмотрим вариант установки сервера, использующего программную лицензию. Этот способ одинаково подходит как для серверов Ubuntu 16.04, так и для Ubuntu 18.04 (которая бывает только x64)

Вводные данные

  • Используемая ОС: Ubuntu 18.04 x64
  • Используемая версия 1C: 8.3.12.1412 (У вас скорее всего будет отличаться)
  • Характеристики сервера 1С: 8 vCPU + 32GB оперативной памяти + 50 GB дискового пространства
  • Характеристики тестовых стендов:
  • ESXi1
    • CPU: 2x Intel(R) Xeon(R) CPU E5-2680 v2 @ 2.80GHz
    • vCPU: 40
    • RAM: 256GB
    • Raid 0 из 10k SAS
    • Ethernet 1GBit
    • CPU: Intel(R) Xeon(R) CPU E5-2660 @ 2.20GHz
    • vCPU: 32
    • RAM: 96GB
    • 10k SAS без raid
    • Ethernet 1GBit

    Для тестов специально выбрано 2 блейда одной модели. Так как блейды без доп расширений имеют физическое ограничение в 2 диска на блейд, мы не можем тестировать различные конфигурации дискового хранилища без того, чтобы постоянно его не перенастраивать. Поэтому у нас будет 2 бейда, 1-й блейд будет иметь Raid 0 из двух 10k SAS дисков, второй будет иметь не объединенные в рейд 10k SAS и 7200 SAS. Единственные отличия помимо уже описанных, это модели процессоров и объем памяти. Так же 2 блейда позволят в будущем организовать более правдоподобные сценарии тестирования всевозможных кластеров и миграции.

    Устанавливаем Сервер 1С 8.3 на Ubuntu

    Подразумевается что Ubuntu Server 18.04 x64 вы уже установили. Если нет то надо установить Ubuntu Server 18.04 x64. Можно и десктопную убунту, инструкция подойдет и для серверной и для десктопной версии, но смысл установки десктопной версии для функционала сервера категорически отсутствует.

    Подключаемся к нашему серверу через SSH

    Обновляем убунту командой

    Ставим библиотеки необходимые для работы Сервера 1С

    Тут вопрос достаточно тонкий, каждая библиотека нужна для реализации конкретного функционала и если вы этот функционал использовать не будете, эти библиотеку можно не устанавливать.
    Документация на портале ИТС к 1С:Предприятие 8.3.12 -> Клиент-серверный вариант. Руководство администратора -> Глава 1 -> Пункт 1.3. Общие требования для клиент-серверного варианта работы говорит нам что для различного функционала Серверу 1С требуются следующие библиотеки.

    Заливаем архив с сервером 1с

    Архив скачанный с сайта 1С, будет называться deb64.tar.gz . Заливаем архив с пакетами сервера на убунту в папку /tmp

    1. Как вариант, можно подключиться из венды к нашему серверу по SFTP через WinSCP
    2. Можно поднять внутри сети какой-нибудь сервер и скачать архив с помощью wget

    Извлекаем архив

    Устанавливаем пакеты сервера 1С

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

    sudo dpkg -i ./1c-e*.deb

    Те, кому интересно немного матчасти, читаем этот пункт дальше. Остальным нужно проследовать к следующему пункту.
    Собственно почему получилось без проблем установить все 6 пакетов одной командой?

    Запускаем сервер 1С

    Сервер 1С 8.3.12 для Linux не запускается автоматически после установки, убедиться в этом можно выполнив любую из двух команд:

    systemctl status srv1cv83
    service srv1cv83 status

    sudo systemctl start srv1cv83
    sudo service srv1cv83 start

    Автозагрузка srv1cv83 последних версий платформы на Ubuntu 18.04

    Если после перезагрузки сервер не стартует автоматом, то нуобходимо ввести команду:

    Собственно поздравляю. Вы успешно установили Сервер 1С 8.3 на Ubuntu 18.04. Но это только часть работы. Для того чтобы начать тестирование, нам необходимо развернуть PostgreSQL на другом сервере. Развернуть её можно и на одном сервере в 1С, на любителя.

    Можно значительно сократить затраты на программное обеспечение, установив сервер 1С на Linux. В данной инструкции мы рассмотрим процесс настройки сервера 1C 8.3 на Ubuntu 18.04 или 20.04 с сервером баз данных (не файловый вариант). В качестве СУБД мы будем использовать PostgreSQL (на примере версий 9.6, 10, 12 и 13).

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

    Подготовка системы

    Задаем имя сервера

    Чтобы сервер 1С мог запуститься без ошибки, необходимо ему задать корректное имя:

    Настройка брандмауэра

    Для корректной работы сервера, необходимо открыть порты:

    • 1540 и 1541 для сервера 1С.
    • 1560 — запросы к базе данных.

    По умолчанию, в Ubuntu действует разрешающая политика и настройка брандмауэра не требуется. В противном случае, вводим команды:

    iptables -I INPUT 1 -p tcp --dport 1540:1541 -j ACCEPT

    iptables -I INPUT 1 -p tcp --dport 1560 -j ACCEPT

    И сохраняем правила с помощью iptables-persistent:

    apt-get install iptables-persistent

    Установка PostgreSQL

    Как было сказано выше, мы задействуем СУБД PostgreSQL. Для 1С требуется специальная сборка postgresql, которая может быть установлена из специального дистрибутива или от поставщика 1С. Рассмотрим установку как версии 9.6, так и 10.

    Подготовка к установке СУБД

    Настраиваем локаль, введя команду:

    В открывшемся окне выбираем локаль ru_RU.UTF-8 UTF-8:

    Настройка локали в Ubuntu

    Нажимаем OK. В следующем окне также выбираем ru_RU.UTF-8:

    Настройка локали в Ubuntu

    . и нажимаем OK.

    * Если мы устанавливали русскую версию Linux, возможно, данные настройки уже будут выставлены. Так или иначе, стоит в этом убедиться.

    Установка PostgreSQL 9.6 из репозитория

    PostgreSQL 9.6 для 1С можно установить из репозитория. Для начала, добавим его:

    Установим цифровую подпись для репозитория:

    Обновляем списки пакетов:

    Устанавливаем библиотеку libpq5 версии 9.6, собранной для postgresql под 1С:

    apt-get install libpq5=9.6.*.1C.bionic

    Выполняем установку самого PostgreSQL:

    apt-get install postgresql-pro-1c-9.6

    Установка PostgreSQL 10 от 1С

    Сначала устанавливаем компоненты, необходимые для установки СУБД из пакетов.

    dpkg -i libicu55_55.1-7_amd64.deb

    * libicu55 — Unicode-компоненты для интернационализации.

    Теперь устанавливаем postgresql-common:

    apt-get install postgresql-common

    * postgresql-common позволяет одновременную установку нескольких версий PostgreSQL.

    Устанавим пакет libssl:

    * если команда вернет ошибку, точное название для новой версии libssl смотрим, перейдя по ссылке.

    dpkg -i libssl1.0.0_1.0.2n-1ubuntu5.4_amd64.deb

    Переходим к установки самой СУБД. 10-я версия PostgreSQL может быть установлена из дистрибутива, полученного от 1С (в личном кабинете или от поставщика). Архив с дистрибутивом postgresql, в свою очередь, содержит архивы под различные операционные системы — нам нужен файл с окончанием в названии . amd64_deb.tar.bz2

    * в данном примере взят файл для 64-х разрядной версии операционной системы. Пакет deb (для систем на базе Debian).

    Копируем данный файл на сервер (например, с помощью программы WinSCP) и распаковываем его:

    tar jxvf PostgreSQL_10.*.1C_postgresql_10.*.1C_amd64_deb.tar.bz2

    Выполним установку пакетов из папки . amd64_deb.

    dpkg -i postgresql-10.*.1C_amd64_deb/*.deb

    sudo -u postgres /usr/lib/postgresql/10/bin/initdb -D /var/lib/postgresql/10/main --locale=ru_RU.UTF-8

    * при инициализации для нас важно задать русскую локаль. В противном случае мы можем получить ошибку «Порядок сортировки не поддерживается базой данных».

    Установка PostgreSQL 12 от 1С

    Устанавим пакет libssl:

    * если команда вернет ошибку, точное название для новой версии libssl смотрим, перейдя по ссылке.

    dpkg -i libssl1.0.0_1.0.2n-1ubuntu5.4_amd64.deb

    apt-get install libllvm6.0

    Распаковываем архив с postgresql:

    tar jxvf postgresql_12.*.1C_amd64_deb.tar.bz2

    Устанавливаем по очереди

    dpkg -i postgresql-12.*.1C_amd64_deb/libpq5_12.*.1C_amd64.deb

    dpkg -i postgresql-12.*.1C_amd64_deb/postgresql-client-12_12.*.1C_amd64.deb

    dpkg -i postgresql-12.*.1C_amd64_deb/postgresql-12_12.*.1C_amd64.deb

    sudo -u postgres /usr/lib/postgresql/12/bin/initdb -D /var/lib/postgresql/12/main --locale=ru_RU.UTF-8

    * при инициализации для нас важно задать русскую локаль. В противном случае мы можем получить ошибку «Порядок сортировки не поддерживается базой данных».

    PostgreSQL Pro для 1С

    Для работы 1С рекомендуется установить специальный выпуск PostgreSQL Pro. Она также может быть загружена и установлена бесплатно.

    Мастер для скачивания Postgresql Pro для 1С

    После заполняем форму для получения инструкции по установке СУБД:

    Заполняем форму для получения Postgresql

    На указанную почту придет инструкция по установке PostgreSQL.

    Пример установки PostgreSQL Pro 13. Скачиваем скрипт для установки репозитория:

    apt-get install gnupg2

    * без данного пакета при попытке установить репозиторий мы получим ошибку:
    E: gnupg, gnupg2 and gnupg1 do not seem to be installed, but one of them is required for this operation
    Error adding key.

    Запускаем скачанный скрипт:

    Запускаем установку СУБД:

    apt-get install postgrespro-1c-13

    systemctl enable postgrespro-1c-13

    systemctl stop postgrespro-1c-13

    Удаляем содержимое каталога data:

    rm -rf /var/lib/pgpro/1c-13/data/*

    * в противном случае, при попытке инициализировать базу мы получим ошибку Data directory /var/lib/pgpro/1c-13/data is not empty!

    /opt/pgpro/1c-13/bin/pg-setup initdb --tune=1c --locale=ru_RU.UTF-8

    Запускаем сервис postgrespro:

    systemctl start postgrespro-1c-13

    Действия после установки postgres

    Если мы установили PostgreSQL Pro версию, выполним только первую настройку.

    Пароль для пользователя postgres

    Задаем пароль для пользователя postgres:

    * данную команду мы запускаем под пользователем postgres; мы задаем пароль password для postgresql-пользователя postgres. Дополнительная команда history -d $((HISTCMD-1)) удалить из истории строку с паролем.

    Остальные настройки выполняем для PostgreSQL не Pro версии.

    Автозапуск

    Разрешаем автозапуск сервиса баз данных и стартуем его:

    systemctl enable postgresql --now

    Блокировка обновлений PostgreSQL

    Так как для 1С устанавливается специальная сборка СУБД, необходимо запретить ее обновление. В противном случае будет установлен обычныйpostgresql, что приведет к потери работоспособности сервера.

    Смотрим версию установленного сервера баз данных:

    dpkg -l | grep postgresql

    ii postgresql-10 10.10-4.1C .
    ii postgresql-client-10 10.10-4.1C .
    .

    И так, у нас установлена версия 10.10-4.1C. Вводим:

    * где 10.10-4.1C — версия установленного PostgreSQL. Команда apt-mark hold блокируем установку обновлений для пакетов версии 10.10-4.1C.

    apt-mark hold postgresql-common postgresql-client-common

    Установка сервера 1С

    Для установки сервера 1С необходимо сначала установить вспомогательные пакеты, затем сам сервис. Дистрибутив необходимо скачать с сайта 1С — личного кабинета, доступного по подписке.

    И так, выполним установку следующих пакетов:

    apt-get install imagemagick unixodbc ttf-mscorefonts-installer

    • imagemagick — набор программ для чтения и редактирования графических файлов.
    • unixodbc — диспетчер драйверов для ODBC.
    • ttf-mscorefonts-installer — набор шрифтов Microsoft.

    В процессе установки система запросит принять лицензионное соглашение — выбираем Yes.

    Копируем на сервер архив с дистрибутивом для 1С, который был загружен с сайта 1С или получен от поставщика. Распаковываем архив командой:

    tar zxvf 8.3.16.1148_deb64.tar.gz

    * где 8.3.16.1148_deb64.tar.gz — имя архива с 1С версии 8.3.16. В архиве пакеты deb (для Linux на основе Debian) для 64-х разрядной системы.

    Устанавливаем все пакеты, которые находились в архиве командой:

    dpkg -i 1c-enterprise*.deb

    Разрешаем автозапуск сервиса 1С и стартуем его:

    systemctl enable srv1cv83

    systemctl start srv1cv83

    Необходимо убедиться, что сервис запустился:

    systemctl status srv1cv83

    Если мы получим ошибку «srv1cv83.service not found», находим исполняемый файл srv1cv83:

    find /opt -name srv1cv83

    В моем случае он был по пути:

    Делаем симлинк в каталоге /etc/init.d на найденный файл:

    ln -s /opt/1cv8/x86_64/8.3.16.1148/srv1cv83 /etc/init.d/srv1cv83

    Снова запускаем сервис:

    systemctl start srv1cv83

    Настройка кластера и клиента

    На любой компьютер в сети установим толстый клиент 1С:Предприятие той же версии, что и сервер. Во время установки обязательно выбираем компонент Администрирование сервера 1С:Предприятие:

    Выбираем компонент Администрирование сервера 1С:Предприятие

    Запуск регистрации утилиты администрирования серверов

    Теперь запускаем утилиту Администрирование серверов 1С Предприятия:

    Запуск регистрации утилиты администрирование серверов 1С Предприятия

    В открывшемся окне кликаем правой кнопкой мыши по Central 1C:Enterprise 8.3 servers - выбираем Создать - Центральный сервер 1С:Предприятие 8.3:

    Подключаемся к серверу 1С в консоли управления сервером 1С

    Пишем имя сервера 1С или его IP-адрес:

    Прописываем настройки для подключения к серверу 1С

    . и нажимаем OK. В панели управления появится подключение — переходим в раздел Кластеры - Локальный кластер - кликаем правой кнопкой по Информационные базы - выбираем Создать - Информационная база:

    Создание новой информационной базы

    Заполняем параметры для создания новой базы:

    Заполняем настройки для создания информационной базы

    * в данном примере нами были заполнены:

    • Имя — задаем произвольное имя для подключения к базе.
    • Сервер баз данных — имя или IP-адрес базы. Задаем localhost, так как в нашем случае сервер 1С и сервер баз данных находятся на одном сервере.
    • Тип СУБД — выбираем PostgreSQL.
    • База данных — имя базы данных.
    • Пользователь сервера БД — пользователь, под которым будет выполняться подключение к базе. В нашем примере postgres.
    • Пароль пользователя БД — пароль для базы, который мы задали после установки СУБД.
    • Создать базу данных в случае ее отсутствия — ставим галочку, чтобы база была создана.

    Если мы получим ошибку Этот хост неизвестен:

    Ошибка «Этот хост неизвестен»

    . необходимо убедиться, что имя сервера разрешается в IP-адрес. Для этого необходимо его добавить в локальную DNS или файл hosts.

    База должна создастся. Теперь запускаем 1С клиент и добавляем новую базу - при добавлении выбираем Добавление в список существующей информационной базы:

    Добавляем существующую базу в 1С

    Указываем произвольное имя информационной базы, а также выбираем тип расположения базы На сервере 1С:Предприятия:

    Задаем настройки при создании новой информационной базы в 1С

    Нажимаем Далее и Готово. Запускаем конфигуратор, загружаем базу и пользуемся.

    HASP Licence manager

    Если в сервер вставлен аппаратный ключ, необходимо установить HASP Licence manager, чтобы лицензии могли получать компьютеры по сети.

    Проверяем, что наш сервер видит ключ:

    lsusb | grep -i hasp

    Мы должны увидеть что-то на подобие:

    Bus 001 Device 003: ID 0529:0001 Aladdin Knowledge Systems HASP copy protection dongle
    Bus 001 Device 002: ID 0529:0001 Aladdin Knowledge Systems HASP copy protection dongle

    Устанавливаем необходимые пакеты:

    apt-get install make libc6-i386

    • make — утилите, которая в нашем случае используется для компиляция исходного кода.
    • libc6-i386 — набор стандартных библиотек для С и математических вычислений.

    Создадим каталог для загрузки пакетов и перейдем в него:

    mkdir /tmp/hasp ; cd /tmp/hasp

    Переходим на страницу загрузки HASP для Ubuntu. Выбираем необходимую версию и копируем ссылки на 2 файла — haspd-modules_. и haspd_.

    На момент обновления инструкции на сайте не было пакетов для Ubuntu 20, однако, для данной версии подходят пакеты под Ubuntu 18.

    С помощью скопированных ссылок загружаем на сервер два файла:

    * в моем примере загрузка выполнялась для Ubuntu 18.04.

    Выполним установку скачанных пакетов командой:

    dpkg -i haspd*.deb

    Разрешим автозапуск сервиса haspd:

    systemctl enable haspd

    systemctl start haspd

    Проверяем, что он корректно стартовал и работает:

    systemctl status haspd

    Готово — наши компьютеры в локальной сети смогут получить лицензию.

    Миграция базы на PostgreSQL

    В случае, если это не первая установка и у нас уже есть база, ее нужно перенести на новый сервер. Рассмотрим 2 варианта — база была на другом сервере PostgreSQL и универсальный (файловый вариант или другая СУБД).

    С PostgreSQL на PostgreSQL

    В данном случае процесс переноса заключается в создании дампа (backup) и его восстановления на новом сервере (restore). Необходимо учесть, что для корректного переноса данных, версии 1С должны совпадать.

    Есть несколько инструментов по созданию резервных копий PostgreSQL и их восстановлению. Их описание выходит за рамки данной статьи — подробнее читайте инструкцию Резервное копирование PostgreSQL.

    Универсальный способ миграции на PostgreSQL

    Данный способ также подойдет и для миграции с PostgreSQL на PostgreSQL. Для начала, открываем нашу базу в конфигураторе на старом 1С - кликаем по Администрирование - Выгрузить информационную базу:

    Выгружаем информационную базу

    Выбираем путь для сохранения файла. Ждем окончания выгрузки и переносим полученный файл на компьютер с толстым клиентом 1С (если для нового сервера мы используем другой компьютер с 1С).

    Открываем конфигуратор для созданной в PostgreSQL базы - кликаем Администрирование - Загрузить информационную базу:

    Загружаем информационную базу

    . и выбираем выгруженный ранее файл. Дожидаемся его загрузки - система потребует перезапустить 1С - соглашаемся. Ждем новой загрузки. После можно пользоваться базой 1С на новом сервере.

    Веб-публикации

    Сервер 1С поддерживает возможность веб-публикаций баз 1С. Это дает возможность открывать программу в браузере или мобильном приложении. В Linux данные публикации осуществляются с помощью Apache.

    Установка и запуск Apache

    Первым делом, устанавливаем веб-сервер apache:

    apt-get install apache2

    Разрешаем автозапуск веб-сервера и стартуем сам сервис:

    systemctl enable apache2

    systemctl start apache2

    Стартовая страница Apache

    Публикация 1С на веб-сервере

    Публикация базы выполняется с помощью скрипта webinst, который устанавливается с сервером. Для простоты, мы опубликуем базу в корневую директорию /var/www/html, но при желании, можно настроить виртуальные домены.

    И так, создадим каталог, в который опубликуем нашу базу:

    Переходим в каталог с установленным 1С:

    * где 8.3.16.1148 — версия установленной платформы.

    Заускаем скрипт для публикации базы:

    ./webinst -apache24 -wsdir test -dir /var/www/html/test -connstr "Srvr=192.168.1.11;Ref=test;" -confPath /etc/apache2/apache2.conf

    * где apache24 — версия установленного apache; test — имя нашей базы, которую мы создали ранее; /var/www/html/test — путь до каталога на сервере, в котором будет опубликована база; 192.168.1.11 — IP-адрес сервера 1С; Ref=test — имя базы в СУБД; /etc/apache2/apache2.conf — путь до конфигурационного файла apache.

    Единый дистрибутив 1С:Предприятие для Linux. Установка сервера

    Продолжаем изучать работу с единым дистрибутивом платформы 1С:Предприятие для Linux, который появился в версии 8.3.20. В прошлой статье мы рассмотрели установку клиентских приложений, а сегодня уделим внимание серверу 1С:Предприятия и серверным компонентам. Основной целью выпуска единого дистрибутива было заявлено упрощение процессов установки и сопровождения системы. Что касается клиентской части, то здесь мы полностью согласимся, но в отношении серверов такое упрощение не всегда идет на пользу. Обо всем этом в нашей статье.

    Долгое время поставка 1С:Предприятие для Linux производилась в виде привычных DEB или RPM-пакетов, которые затем устанавливались с помощью пакетного менеджера системы. Это привычный и понятный системным администраторам механизм, позволяющий полностью контролировать и автоматизировать процесс развертывания, при наличии такой необходимости.

    Новый способ предусматривает поставку в виде универсального run-файла, который содержит клиентскую и серверную часть, дополнительные компоненты и подходит как для RPM, так и для DEB-систем. Установка при этом производится в обход пакетного менеджера и слабо поддается контролю со стороны администратора. Если для клиентских систем это несущественно, то на серверах многие админы предпочитают держать руку на пульсе любых изменений системы.

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

    В дальнейшем 1С стала следовать принципу "все свое ношу с собой", постепенно включив в состав дистрибутива почти все библиотеки основных зависимостей. Единый дистрибутив - апофеоз этого процесса. Но нравится нам это или нет, 1С:Предприятие является ведущей платформой для построения учетных систем, поэтому давайте учиться жить и работать в новых условиях.

    В нашем примере мы будем устанавливать сервер 1С:Предприятие на Ubuntu 20.04 LTS и Debian 10, однако данная инструкция одинаково пригодна для любого поддерживаемого платформой Linux-дистрибутива с поправками на работу с пакетным менеджером. Все приведенные ниже команды следует выполнять с правами суперпользователя.

    Начнем с установки требуемых зависимостей. Их немного, это набор шрифтов Microsoft True Type Core Fonts и библиотека UnixODBC, для работы через одноименный интерфейс.

    В Debian для этого следует подключить репозитории с несвободным ПО, для этого откройте /etc/apt/sources.list и добавьте после main в каждую строку contrib и non-free.

    edinyy-distributiv-1c-linux-server-001.jpg

    Обновим список пакетов и установим зависимости:

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

    В нашем случае используется единственный доступный на текущий момент выпуск платформы с единым дистрибутивом 8.3.20.1549.

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

    В контексте серверного применения нам могут быть интересны:

    • server - кластер серверов 1С:Предприятия
    • server_admin - сервер администрирования кластера серверов 1С:Предприятия
    • liberica_jre - Java Runtime Environment (JRE)
    • config_storage_server - сервер хранилища конфигураций
    • ws - модули расширения веб-сервера

    С полным списком опции можно ознакомиться в официальной документации.

    Допустим, мы хотим установить кластер серверов 1С:Предприятие и модуль расширения веб-сервера, для этого запустим инсталлятор со следующими ключами:

    Начиная с платформы 8.3.18, когда появилась возможность одновременной установки нескольких версий на платформе Linux инсталлятор не производит автоматическую регистрацию службы. Это нужно сделать самостоятельно. Для этого скопируем, точнее сделаем символические ссылки для скрипта запуска и файла конфигурации. В настоящий момент 1С:Предприятие продолжает использовать подсистему инициализации init, переход на systemd планируется в платформе 8.3.21.

    Затем добавим ее в автозагрузку:

    Управлять службой можно как "по старинке":

    Так и через systemd:

    edinyy-distributiv-1c-linux-server-002.jpg

    На этом установку сервера 1С:Предприятие вроде бы можно считать оконченной, но есть один неприятный сюрприз. Перезагрузив сервер, вы неожиданно увидите приглашение ко входу в графическую оболочку. При этом сама оболочка будет установлена в весьма ограниченном варианте, даже терминала нет. Зато есть ярлыки 1С:Предприятие.

    edinyy-distributiv-1c-linux-server-003.jpg

    С одной стороны. мешать она никому не мешает и многие вообще могут не заметить ее появления, особенно если ходят на сервер сугубо по SSH. Но любое дополнительное ПО тратит ресурсы сервера и предоставляет дополнительную поверхность атаки, поэтому давайте удалим оболочку Gnome, тем более что для работы сервера 1С:Предприятие она не нужна:

    Как вы уже догадались, оболочку на сервер устанавливает единый дистрибутив 1С:Предприятия и пока нет возможности воспрепятствовать этому, а следовательно указанные выше действия нужно будет выполнять после каждого запуска единого дистрибутива. Надеемся, что в следующих версиях этот недостаток будет исправлен.

    Для удаления платформы следует воспользоваться специальным скриптом, который расположен в папке платформы.

    При обновлении платформы вам потребуется:

    • Остановить службу
    • Установить новую платформу
    • Удалить старую
    • Обновить символические ссылки на скрипт запуска и конфигурации
    • Запустить службу

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

    Само приложение находится в пакете 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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    Создадим каталоги необходимые для работы: 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С (все варианты подключения описаны в руководстве администратора)

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

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

    Читайте также: