Настройка сервера приложений 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                          : 

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

Похожие записи

Настройка кластера Kubernetes в Ubuntu Linux 24.04: три узла (один мастер с возможностью запуска пользовательских подов, PVC в каталоге на хосте, сеть на Calico)

В этой статье мы рассмотрим пошаговую настройку кластера Kubernetes на Ubuntu 24.04 с тремя узлами: один мастер (который также может запускать пользовательские поды) и два рабочих узла. Мы настроим PersistentVolume…

Инструкция по установке и настройке ProxySQL в Ubuntu 24.04

В рамках создания собственного кластера Kubernetes я поднаял кластер Mysql который работает в режиме Master-Slave и Slave-узлы соответственно работают в режиме read-only, а мастер в read-write. Соответственно мне нужен балансировщик…

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

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

Читать еще статьи

Настройка кластера Kubernetes в Ubuntu Linux 24.04: три узла (один мастер с возможностью запуска пользовательских подов, PVC в каталоге на хосте, сеть на Calico)

Настройка кластера Kubernetes в Ubuntu Linux 24.04: три узла (один мастер с возможностью запуска пользовательских подов, PVC в каталоге на хосте, сеть на Calico)

Инструкция по установке и настройке ProxySQL в Ubuntu 24.04

Инструкция по установке и настройке ProxySQL в Ubuntu 24.04

Полное руководство по настройке UFW в Ubuntu: от основ до продвинутых правил

Полное руководство по настройке UFW в Ubuntu: от основ до продвинутых правил

Полное руководство по развертыванию GlusterFS в Ubuntu Linux: от подготовки до тестирования производительности

Полное руководство по развертыванию GlusterFS в Ubuntu Linux: от подготовки до тестирования производительности

Подробная инструкция по настройке кластера из трёх серверов MySQL на Ubuntu 24.04

Подробная инструкция по настройке кластера из трёх серверов MySQL на Ubuntu 24.04

Полное руководство по настройке NFS-клиента в Ubuntu Linux: от установки до автоматического монтирования

Полное руководство по настройке NFS-клиента в Ubuntu Linux: от установки до автоматического монтирования