Установить сервер 1с на debian

Обновлено: 04.07.2024

Единый дистрибутив 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С прислушаются к мнению сообщества и единый дистрибутив будет серьезно доработан и переработан.

Установка Платформы «1С:Предприятие» в ОС Linux

Перед началом установки необходимо скачать дистрибутивы, которые понадобятся в дальнейшем. В данном примере мы будем устанавливать:

  • Сервер «1С:Предпритие» 64-bit версии 8.3.13.1644. Пакеты для установки доступны здесь:
  • Если для сервера использоваться ключи аппаратной защиты HASP, то необходимо установить на сервер драйвер защиты HASP. Последние версии для различных операционных систем можно скачать:

Если в дальнейшем работа с сервером «1С:Предприятие» на Linux и управление будет осуществляться c других машин, необходимо убедиться в том, что ip-адрес компьютера, на котором расположен сервер, будет корректно разрешаться в его hostname. Откроем консоль сервера от имени пользователя root и получим адрес компьютера:

Имя компьютера можно получить так:

Теперь данные о соответствии ip-адреса и имени необходимо внести в файлы hosts тех машин, откуда будут устанавливаться соединения с кластером серверов:

Для Windows он расположен обычно:

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

Установка платформы в Debian-системах на примере Ubuntu Server 16.04

  1. Откроем консоль сервера от имени пользователя root.
  2. Создадим директорию, куда поместим (любым удобным образом) архив с Deb-пакетами для установки Сервера 1С:Предприятие, скачанный предварительно.
  1. Войдем в каталог /1c/soft/1с:

Распакуем архив (при помощи команды tar xzf):

  1. Для установки пакетов удобнее всего воспользоваться утилитой gdebi. Если она не была ранее установлена, это можно сделать при помощи команды:

Устанавливаем сервер «1С:Предприятие»:

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

Установка будет осуществлена в директорию /opt/1C/v8.3/x86_64.

  1. Для корректной работы приложений необходимо установить шрифты из состава Microsoft Core Fonts:

Для того, чтобы система «увидела» установленные шрифты, нужно выполнить команду:

  1. Устанавливаем дополнительные внешние библиотеки:
  1. Запускаем службу:

Проверить статус работы можно при помощи команды:

Будет выполнена проверка, запущен ли сервис (Starting 1C:Enterprise 8.3 server: OK), и выведено детальное состояние сервиса.

Проверить, запущены ли процессы кластера, можно при помощи команды:

Перейдем к установке драйвера HASP. Для данного примера скачиваем драйвер по адресу:

Для установки драйвера выполняем следующие действия:

  1. Создадим каталог /1c/soft/hasp:
  1. В этот каталог любым удобным образом поместим скачанный пакет установки драйвера и перейдем в него:
  1. Поскольку драйвер использует 32-битные библиотеки, устанавливаем их:
  1. Устанавливаем драйвер:
  1. Запускаем драйвер защиты HASP:

Проверить статус можно так:

Установка платформы в RPMS на примере CentOS 7

  1. Откроем консоль от имени root.
  2. Создадим директорию, куда поместим (любым удобным образом) архив с RPM-пакетами для установки Сервера 1С:Предприятие, скачанный предварительно.
  1. Перейдем в директорию /1c/soft/1с

tar xzf rpm64_8_3_13_1644.tar.gz

В данном примере будут установлены все пакеты, но, если в вашей системе не планируется использовать языки, отличные от русского и английского, nls-пакеты вы можете не устанавливать - они содержат только языковые файлы.

Для пакетов x86_64 установка будет осуществлена в директорию /opt/1C/v8.3/x86_64.

  1. Для корректной работы приложений необходимо установить шрифты из состава Microsoft Core Fonts.
  • Скачиваем любым удобным образом (например, при помощи wget) файлы пакета с сервера SourceForge:

Надо скачать все .exe-файлы, кроме wd97vwr32.exe.

  • Переименовываем все скачанные .exe-файлы, присвоив им расширение .zip, после чего распакуем их и удалим все, кроме имеющих расширение .ttf – это файлы шрифтов.
  • Файлы шрифтов (.ttf-файлы) копируем в каталог /usr/share/fonts/truetype/

Для того, чтобы система «увидела» установленные шрифты, нужно выполнить команду:

  1. Устаналиваем дополнительные внешние библиотеки:
  1. Запускаем службу:

Проверить статус работы можно при помощи команды:

Будет выполнена проверка, запущен ли сервис (Starting 1C:Enterprise 8.3 server: OK), и выведено детальное состояние сервиса.

Проверить, запущены ли процессы кластера, можно при помощи команды:

Перейдем установке драйвера HASP. Для данного примера скачиваем драйвер по адресу :

Для установки драйвера выполняем следующие действия:

  1. Создадим каталог /1c/soft/hasp:
  1. В этот каталог любым удобным образом поместим скачанный пакет установки драйвера и перейдем в него:
  1. Поскольку драйвер использует 32-битные библиотеки, устанавливаем их:
  1. Устанавливаем драйвер:
  1. Запускаем драйвер защиты HASP:

Проверить статус можно так:

Основные проблемы и вопросы по установке Платформы «1С:Предприятие» в Linu x

1. При работе возникают ошибки «Не найдена библиотека …»

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

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

2. Как запустить сервер в режиме отладки?

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

ВАЖНО! Не редактируйте параметры запуска сервера в процессе его работы, это может привести к ошибкам при его перезапуске.

Теперь необходимо отредактировать параметры его запуска в конфигурационном файле srv1cv83 (в данном примере с использованием редактора vim):

Сохраняем изменения и выходим из файла.

Перезапускаем сервер «1С:Предприятия 8»:

3. Где находится каталог данных кластера серверов и как его изменить?

По умолчанию каталог кластера находится в директории пользователя, от имени которого запущен сервер 1С:Предприятие - $HOMEDIR/.1cv83/1C/1Cv83, например:

Для того, чтобы изменить место изменить место расположения, необходимо, по аналогии с п. 1, изменить параметр SRV1CV8_DATA запуска в конфигурационном файле /etc/sysconfig/srv1cv83.

ВАЖНО! Не забудьте убедиться в наличии прав на директорию данных кластера у пользователя, от имени которого запущен сервер. Увидеть права можно при помощи команды:

Предоставить права можно так:

В конфигурационном файле /etc/sysconfig/srv1cv83 также задаются порты, на которых будут работать процессы кластера, и другие параметры запуска.

4. Как настроить технологический журнал сервера в Linux ?

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

Создадим каталог для настроек журнала /opt/1C/v8.3/x86_64/conf:

Поместим в этот каталог файл logcfg.xml со следующим (например) содержимым:

В данном случае собирается полный технологический журнал (не стоит делать так на постоянной основе в продуктиве), срок хранения файлов журналов - 24 часа, находиться они будут в директории /var/log/1c/logs.

ВАЖНО! Необходимо предоставить пользователю, от имени которого работает сервер 1С:Предприятие, права на запись в каталог логов. Например, так:

Разворачиваем сервер 1С Предприятие на Linux Debian 9 с публикацией баз на web-сервер.
Основные компоненты сервера:

  • PostgreSQL;
  • Платформа 1С Передприятие 8.3;
  • Web сервер Apache.

1. Подготовка системы Linux Debian

Установим систему Debian 9 и обновим систему и пакеты:

Настроим сеть согласно требованиям:

Перезагрузим сеть для принятия изменений:

Результат должен быть:

Если нет ru_RU.utf8, добавляем и меняем локализацию на ru_RU.utf8.

перегружаем для принятия установок:

Получаем имя сервера Debian:

Обращаем на это внимание! Очень важная настройка для сервера 1С.
Настраиваем Hostname на сервере. Именно по этому имени будет подключение.

правим файлы /etc/hosts и /etc/hostname, задаем hostname:

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

2. PostgreSQL для 1С

Скачиваем с портала ИТС 1С Дистрибутив СУБД PostgreSQL для Linux x86 (64-bit) одним архивом (DEB).

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

Переходим в папку postgres/postgresql-10.5_24.1C_amd64_deb:

Список пакетов, которые необходимы для установки postgresql-10.5_24.1C_amd64.deb

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

Все пакеты должны попасть в postgres/postgresql-10.5_24.1C_amd64_deb, где лежат и пакеты PostgreSQL. Устанавливаем все пакеты:

Запускаем сервер PostgreSQL и ставим службу в автозагрузку:

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

Закрываем прослушку все адресов для PostgreSQL и задаем слушать только наш локальный адрес в /etc/postgresql/10/main/postgresql.conf:

Задаем метод клиентской аутентификации и адрес в /etc/postgresql/10/main/pg_hba.conf в блоке IPv4 local connections:

3. Установка сервера 1С Предприятие 8

Ставим пакеты для 1С Сервер. Для корректной работы приложений необходимо установить шрифты из состава Microsoft Core Fonts:

Чтобы система «увидела» установленные шрифты:

Дополнительные внешние библиотеки:

Последние три nls-пакета содержат языковые файлы и требуют обязательной установки только в том случае, если будут использоваться языки, отличные от русского и английского. Ставим сервер:

Запускаем службу и в автозагрузку:

Проверяем, запущены ли процессы кластера:

4. Публикация баз на web сервере Apache

Даем доступ для Debian, в /etc/pam.d/common-session добавим:

Права web-сервера для 1С

Публикация базы на веб сервер:

5. HASP

Создадим каталог /1c/soft/hasp:

Поскольку драйвер использует 32-битные библиотеки, устанавливаем их:

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

Запускаем драйвер защиты HASP:

Сервер для 1С Предприятие готов. Остается загрузить официальные лицензионные ключи в необходимые каталоги HASP согласно инструкции.

Пошаговое руководство по запуску и первичной настройке сервера 1С:Предприятия 8.3 версии 8.3.19.1229 в ОС Debian GNU/Linux 10.10 с использованием СУБД PostgresPro-1C-13 и системы защиты HASP (USB-ключа).

Подготовка

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

Добавим в список репозиториев в файл /etc/apt/sources.list

и обновим список

Установим ещё пакет msttcorefonts

Создадим каталог /home/1c/

переходим в него

После этого распакуем архив deb64_8_3_19_1229.tar.gz

Создадим каталог /home/1c/hasp/

переходим в него

и скачаем ещё 2 пакета

Открываем файл /etc/hosts

и добавим такую строчку:

Установка и настройка СУБД PostgresPro-1C-13

Добавим в список репозиториев postgrespro-1c-13

Устанавливаем СУБД postgrespro-1c-13

После установки проверяем статус службы postgrespro-1c-13

Удаляем тестовую базу данных

и запускаем настройку PostgresPro

Добавим службу postgrespro-1c-13 в автозагрузку

Настроим доступ к СУБД из локальной сети. Для этого откроем файл /var/lib/pgpro/1c-13/data/pg_hba.conf

и допишем в него такой параметр:

Перезапустим службу postgrespro-1c-13

Переходим на пользователя postgres

запускаем консоль psql

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

Выходим из пользователя postgres

и возвращаемся в консоль.

Перезапустим службу postgrespro-1c-13

Установка сервера 1С:Предприятие 8.3

Переходим в каталог /home/1c/

и запустим установку всех пакетов, находящихся в директории

Запускаем службу srv1cv83

консоль должна отобразить статус:

Создадим символическую ссылку на службу srv1cv83 в /etc/init.d/

Перезапустим srv1cv83 и проверим его статус

Установка и настройка системы защиты HASP

Переходим в каталог /home/1c/hasp/

и установим оттуда все пакеты

Откроем файл конфигурации HASP-а

и в самом конце допишем такую строчку

Вставляем USB-ключ HASP в USB-разъём на сервере.

Запускаем службу haspd и включаем её в автозагрузку

Проверяем статус запуска службы haspd

но на этом этапе будет лучше перезагрузить сервер

Настройки в консоли администрирования 1С

На Windows-машине в сети необходимо запустить утилиту Server Administration Utility Registration x86-64 для активации консоли администрирования кластера 1С.

После этого запускаем Administration of 1C Enterprise x86-64 servers

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


В поле Имя сервера вводим dvm30


и он появится в оснастке консоли

Находим Информационные базы в Central 1C:Enterprise 8.3 servers -> dvm30 -> Кластеры -> Локальный кластер и кликаем правой кнопкой мыши Создать -> Информационная база



После нажатия OK информационная база появится в списке


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

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


Добавим существующую информационную базу




и теперь новая информационная база появится в списке:


Заключение

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

image

Сегодня я бы хотел рассказать, как поднять сервер 1с на linux debian 9 с публикацией web-сервисов.

Что такое web-сервисы 1с?

Web-сервисы — это один из механизмов платформы, используемых для интеграции с другими информационными системами. Он является средством поддержки SOA (Service-Oriented Architecture) — сервис-ориентированной архитектуры, которая является современным стандартом интеграции приложений и информационных систем. По сути — это возможность создать html страницу с данными, к которой, потом можно обратиться любым другим приложением и забрать их.

Плюсы — работает быстро (даже при достаточно большом объеме данных), относительно удобно.

Минусы — ваш програмист 1с будет много и долго на вас ворчать, пока будет писать веб-сервис для вашей базы. Штука очень своеобразная в написании.

Я не буду рассказывать как написать веб-сервис… я расскажу как его опубликовать на Linux из консоли сервера, а так же немного про установку 1с сервера на Linux.

И так, у нас есть debian 9 netinst, приступаем:

Устанавливаем PostgresPro (Прошу заметить что он не бесплатный, и распространяется, только в рамках ознакомления с возможностями):


Скажем postgresql слушать все адреса а не только localhost


Раскомментируем и поменяем какие адреса слушать:

Далее разрешим авторизоваться пользователям из нашей сети

host all all 192.168.188.0/24 md5
host all all 127.0.0.1/32 md5

Более подробно о различных установках Postgres для 1с можно почитать тут.

Далее ставим 1с сервер.

Заливаем на сервер архив скачанный с сайта 1с (в моем случае deb64_8_3_15_1534.tar.gz)


еще пара мелочей:


Теперь установим Apache2

Через консоль администрирования или через клиент 1с создаем базу и заливаем нашу конфигурацию…

Теперь публикуем базу:

переходим в папку с 1с.


Лезем в var/www/test/ и смотрим что там появилось.

"
<?xml version=«1.0» encoding=«UTF-8»?>
<point xmlns=«v8.1c.ru/8.2/virtual-resource-system»
xmlns:xs=«www.w3.org/2001/XMLSchema»
xmlns:xsi=«www.w3.org/2001/XMLSchema-instance»
base="/Test"
ib=«Srvr=192.168.188.150;Ref=Test;»>
<standardOdata enable=«false»
reuseSessions=«autouse»
sessionMaxAge=«20»
poolSize=«10»
poolTimeout=«5»/>

А что же на счет веб-сервисов? (в моей тестовой конфигурации их два: WebBuh для обмена данными с бухгалтерией и toplog интеграция с системой wms одноименной компании).

Что ж, добавим пару строк в наш vrd файлик…

Зачем надо было делать это руками?

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