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

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

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

Интеграция Nextcloud с Keycloak через OpenID Connect: пошаговое руководство по настройке SSO

Nextcloud — отличное решение для хранения файлов, но управление пользователями вручную становится головной болью при масштабировании. Keycloak позволяет централизовать аутентификацию, обеспечивая безопасность, поддержку MFA (двухфакторной аутентификации) и удобный вход через…

Установка и оптимизация WordPress на Ubuntu 24.04 (LEMP + Redis) на VPS с ограниченным объёмом RAM

Пакеты в Ubuntu по умолчанию настроены на работу с серверами, имеющими довольно много оперативной памяти. Нам нужно жёстко ограничить потребление памяти для работы на Mikro VPS. Запускать будем мой блог…

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

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

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

Интеграция Nextcloud с Keycloak через OpenID Connect: пошаговое руководство по настройке SSO

Интеграция Nextcloud с Keycloak через OpenID Connect: пошаговое руководство по настройке SSO

Установка и оптимизация WordPress на Ubuntu 24.04 (LEMP + Redis) на VPS с ограниченным объёмом RAM

Установка и оптимизация WordPress на Ubuntu 24.04 (LEMP + Redis) на VPS с ограниченным объёмом RAM

Интеграция Gitea и Keycloak: пошаговое руководство

Интеграция Gitea и Keycloak: пошаговое руководство

Настройка VS Code AI Chat для работы со сторонним OpenAI провайдером.

Настройка VS Code AI Chat для работы со сторонним OpenAI провайдером.

ProxyChains специфическая работа с прокси-серверами в UNIX/Linux-системах

ProxyChains специфическая работа с прокси-серверами в UNIX/Linux-системах

Полное руководство по установке и настройке мониторинга с Grafana и Prometheus: от установки до первого дашборда

Полное руководство по установке и настройке мониторинга с Grafana и Prometheus: от установки до первого дашборда