Настройка сервера приложений 1С с базой данных PostgresPRO (Ubuntu Linux 24.04)

Оцените статью

Предварительная подготовка сервера

# apt-get update
# apt-get upgrade
# apt-get install mc aptitude wget 

Разрешаем авторизацию root по ssh для чего в файле /etc/ssh/sshd_config устанавливаем параметр.

PermitRootLogin yes

И перезапускаем сервис ssh.

# systemctl restart ssh

Назначаем пароль пользователю root.

# passwd root

Копируем открытый ключ на сервер.

$ ssh-copy-id root@10.54.54.3

Удаляем пользователя созданого на этапе установки.

# userdel chernousov

Установка Postgres Pro Enterprise 18

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

Получение лицензий PostgresPRO

Переходим по ссылке из письма и получаем лицензионный номер и инструкцию по подключению репозиториев Postgres Pro Enterprise.

Подключение репозиториев

Выбираем дистрибутив.

Подключение репозитариев

Получаем инструкции по установке.

Как вы видите репозитарий закрытый.

Приступаем к установке согласно инструкции.

Устанавливаем пакет Postgres Pro Enterprise 18

# wget --user <Ключ из набора лицензий> --password='' https://repo.postgrespro.ru/ent/ent-18/keys/pgpro-repo-add.sh
# sh pgpro-repo-add.sh
# apt-get install postgrespro-ent-18

Инициализируем базу данных и запускаем

Нас интересует база данных оптимизированная под 1С поэтому мы останавливаем текущий экземпляр и удаляем инициализированную базу.

# systemctl stop postgrespro-ent-18.service
# rm -rf /var/lib/pgpro/ent-18/data/*

Инициализируем базу с тюнингом для 1С и запускаем сервер баз данных.

# /opt/pgpro/ent-18/bin/pg-setup initdb --tune=1c
# systemctl start postgrespro-ent-18.service
# systemctl enable postgrespro-ent-18.service

Разрешаем внешние подключения к базе данных (в файле /var/lib/pgpro/ent-18/data/postgresql.conf).

listen_addresses = '*'

Разрешаем сети из которых мы сможем подключаться по логин/пароль (файл /var/lib/pgpro/ent-18/data/pg_hba.conf).

host            all             all             10.54.54.0/24   md5

Перезапускаем сервер Postgresql, авторизуемся и задаем пароль пользователя postgres.

# systemctl restart postgrespro-ent-18.service
# su postgres
$ psql 
postgres=# ALTER USER postgres WITH PASSWORD 'xxxPASSWORDxxx';

Добавляем подключение в DBeaver.

Не забудьте поставить галочку «Show all databases»

Настройка подключения к базе 1С при помощи DBbeaver

Переименуем базу в читаемый вид вместо безликого postgres.

Переименовываем базу данных

Установка сервера приложений 1С

Вам понадобится доступ к порталу https://releases.1c.ru/total и там ищем нужную нам технологическую платформу (в моем случае это 8.5.1.1150).

Техническая платформа 1С скачать

Загружаем все компоненты для Linux.

Скачиваем все компоненты 1С

И клиент для Windows

Технологическая платформа 1С предприятия для Windows

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

# apt install -y libc6 libgcc-s1 libicu74 libssl3 libstdc++6 libwebkit2gtk-4.1-0 libx11-6 libxext6 libxrender1 libfontconfig1 libfreetype6 libpng16-16     libjpeg-turbo8 libglib2.0-0 libpango-1.0-0 libatk1.0-0 libgtk-3-0 libdbus-1-3     libnotify4 libsecret-1-0 libgdk-pixbuf-2.0-0 libharfbuzz0b libgraphite2-3     liblzma5 zlib1g

Копируем загруженный с портала сервер приложений и распаковываем.

$ $ scp ./server64_with_all_clients_8_5_1_1150.zip root@10.54.54.3:/tmp/
$ ssh root@10.54.54.3
# cd /tmp/
# unzip ./server64_with_all_clients_8_5_1_1150.zip

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

# ./setup-full-8.5.1.1150-x86_64.run --mode unattended --enable-components server
# ./setup-full-8.5.1.1150-x86_64.run --mode unattended --enable-components server_admin
# ./setup-full-8.5.1.1150-x86_64.run --mode unattended --enable-components ws

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

Сервис SystemD для запуска ragent

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

# mkdir /opt/1cv8/cluster
# chown usr1cv8:grp1cv8 /opt/1cv8/cluster

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

# su usr1cv8 -s /bin/bash
$ /opt/1cv8/x86_64/8.5.1.1150/ragent -port 1540 -regport 1541 -d /opt/1cv8/cluster/

В тестовом режиме запустилось нормально. Теперь сделаем сервис автозапуска. Параметры для утилиты ragent представлены в таблице.

ПараметрОписание
-debugВключить режим отладки (вывод дополнительных логов).
-port <порт>Порт агента (по умолчанию: 1540).
-regport <порт>Порт менеджера кластера (по умолчанию: 1541).
-range <диапазон>Диапазон портов для рабочих процессов (rphost), напр. 1560:1591.
-d <каталог>Рабочий каталог агента (где хранятся файлы кластера, журналы).
-instancename <имя>Имя экземпляра кластера (по умолчанию: default).
-seclev <уровень>Уровень безопасности (0–3). 0 — без защиты, 3 — максимальная.
-usr <пользователь>Пользователь ОС, от имени которого запускается агент (обычно usr1cv8).
-pwd <пароль>Пароль пользователя (если требуется).
-pingperiod <мс>Период ping‑запросов к рабочим процессам (по умолчанию: 10000 мс).
-pingtimeout <мс>Таймаут ожидания ответа от rphost (по умолчанию: 60000 мс).
-maxmemory <КБ>Максимальный объём памяти для всех rphost (в КБ).
-maxconnections <число>Максимальное число подключений к кластеру.
-lc <код языка>Локаль (напр. ruen).
-log <путь>Путь к каталогу логов.

Также создадим каталог для хранения логов.

# mkdir /opt/1cv8/logs
# chown usr1cv8:grp1cv8 /opt/1cv8/logs/

Файл сервиса /etc/systemd/system/srv1cv8.service.

[Unit]
Description=1C:Enterprise 8.5 Server
After=network.target remote-fs.target nss-lookup.target

[Service]
Type=simple
ExecStart=/opt/1cv8/x86_64/8.5.1.1150/ragent /port 1540 /regport 1541 -d /opt/1cv8/cluster/
KillSignal=SIGINT
PrivateTmp=true
Restart=on-failure
RestartSec=5
User=usr1cv8
Group=grp1cv8

[Install]
WantedBy=multi-user.target

Настраиваем автозапуск и запускаем.

# systemctl enable srv1cv8
# systemctl start srv1cv8
# systemctl status srv1cv8

Сервис SystemD для запуска ras

RAS — это отдельный сервис, позволяющий:

  • удалённо управлять кластером серверов 1С (добавлять/удалять рабочие серверы, просматривать состояние);
  • мониторить текущие сеансы, соединения, фоновые задания;
  • выполнять административные операции без запуска «1С:Предприятие» в режиме конфигуратора;
  • интегрироваться со сторонними системами мониторинга и автоматизации (через HTTP‑API или утилиты командной строки).

За основу для сервиса SystemD возьмем файл для ragent. Сервис запуска будет описан в файле /etc/systemd/system/ras.service.

[Unit]
Description=1C:Enterprise 8.5 RAS
After=network.target remote-fs.target nss-lookup.target

[Service]
Type=simple
ExecStart=/opt/1cv8/x86_64/8.5.1.1150/ras cluster --port=1545
KillSignal=SIGINT
PrivateTmp=true
Restart=on-failure
RestartSec=5
User=usr1cv8
Group=grp1cv8

[Install]
WantedBy=multi-user.target

Аналогично настраиваем автозапуск и запускаем.

# systemctl enable ras
# systemctl start ras
# systemctl status ras

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

# /opt/1cv8/x86_64/8.5.1.1150/rac cluster list
cluster                                   : 0a28c091-1a62-4879-80f4-55dbc8b56e43
host                                      : srv-kvm-prod-rain-03
port                                      : 1541
name                                      : "Local cluster"
expiration-timeout                        : 60
lifetime-limit                            : 0
max-memory-size                           : 0
max-memory-time-limit                     : 0
security-level                            : 0
session-fault-tolerance-level             : 0
load-balancing-mode                       : performance
errors-count-threshold                    : 0
kill-problem-processes                    : 1
kill-by-memory-with-dump                  : 0
allow-access-right-audit-events-recording : 0
ping-period                               : 0
ping-timeout                              : 0
restart-schedule                          : 

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

Related Posts

Установка PostgresPRO в Ubuntu Linux

Итак, давайте растяням эту интересную историю на две. Комерческая лицензия PostgresPRO Регистрируемся на сайте PostgresPRO (https://postgrespro.ru) и оставляем заявку на тестирование. Ждем смены статуса заявки (https://postgrespro.ru/user/software_testing_requests). Бесплатная версия PostgresPRO Запрашиваем…

Авторизация в Wiki Outline при помощи Keycloak

Продолжая статью «Интеграция Keycloak и FreeIPA» настроим интеграцию Wiki Outline и Keycloak. Создадим отдельный realm где информация о активных пользователях будет поступать из FreeIPA, но допустимых пользователей будем получать по…

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

You Missed

Настройка сервера приложений 1С с базой данных PostgresPRO (Ubuntu Linux 24.04)

Настройка сервера приложений 1С с базой данных PostgresPRO (Ubuntu Linux 24.04)

Установка PostgresPRO в Ubuntu Linux

Установка PostgresPRO в Ubuntu Linux

Авторизация в Wiki Outline при помощи Keycloak

Авторизация в Wiki Outline при помощи Keycloak

Интеграция Keycloak и FreeIPA

Интеграция Keycloak и FreeIPA
Установка Keycloak в Ubuntu Linux 22.04

Установка и настройка FreeIPA-клиент в Ubuntu Linux

Установка и настройка FreeIPA-клиент в Ubuntu Linux