20.09.2024

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

Установка 1С сервера простая, но есть свои подводные камни…

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

Как отключить Cloud-Init в Ubuntu

Варианты решения

  • Запретить запуск, создав пустой файл, чтобы предотвратить запуск службы
touch /etc/cloud/cloud-init.disabled
  • Отключите все службы – none of the above
dpkg-reconfigure cloud-init
  • Удалите пакет и удалите папки
dpkg-reconfigure cloud-init
apt-get purge cloud-init
rm -rf /etc/cloud/ && sudo rm -rf /var/lib/cloud/

Установка утилит для личного удобства

apt install -y mc nano htop net-tools dnsutils sysstat fio iperf3 -y

Изменение региональных настроек

Для корректной работы сервера 1С и инициализации базы данных нужна поддержка ru_RU.UTF-8

locale-gen en_US.UTF-8
locale-gen ru_RU.UTF-8
update-locale LANG=ru_RU.UTF-8
dpkg-reconfigure locales

Для корректной работы с дополнительными репозиториями, например с PostgresPro нужна библиотека gnupg2

apt install gnupg2 -y

Графический интерфейс

Этот шаг можно пропустить, если не планируется использовать графический интерфейс.

Для удобства работы программистов 1С придется настроить доступ к графической оболочке Gnome через RDP сервер. Настройка доступа по RDP к Linux серверу описана тут.

apt install ubuntu-gnome-desktop gnome-tweaks gnome-shell-extensions -y

Русификация интерфейса

apt install language-pack-ru language-pack-ru-base language-pack-gnome-ru language-pack-gnome-ru-base gnome-user-docs-ru hunspell-ru hyphen-ru mythes-ru -y

Удалить игры и другие лишние приложения

apt purge aisleriot gnome-mahjongg gnome-mines gnome-sudoku -y
apt purge remmina vim xterm tmux cheese thunderbird libreoffice-* -y
apt autoremove -y

Установка xRDP

apt install xrdp -y

В Ubuntu можно управлять профилями производительности, сменим на performance

powerprofilesctl set performance

в Ubuntu 22.04.03 LTS отсутствует профиль performance, решение простое, обновить в ручную до более новой версии Power Profiles

wget http://mirrors.kernel.org/ubuntu/pool/main/p/power-profiles-daemon/power-profiles-daemon_0.12-1_amd64.deb
dpkg -i power-profiles-daemon_0.12-1_amd64.deb

Необходимые шрифты и конмоненты

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

apt install xfonts-utils cabextract fonts-liberation libmspack0 ttf-mscorefonts-installer fontconfig -y
fc-cache –fv

Внешние библиотеки. Для работы сервера 1С в Linux могут потребоваться следующие библиотеки

  • Для визуализации штампа электронной подписи, отображения диаграмм нужны imagemagick и ghostscript
  • Для сохранения файлов в формате PDF нужен libfreetype
  • Для экспорта и импорта файлов в формат XLS нужны libgsf-1 (Libgsf) и libgsf-1-common 
  • Для работы с внешними источниками данных нужны glib2.0 и libodbc (UnixOdbc)
  • Для аутентификации средствами ОС нужны libkrb5 (Kerberos) и libgssapi_krb5 (GSS-API Kerberos)
  • Для корректной работы 1С нужен curl
apt install imagemagick ghostscript libgsf-1-114 libgsf-bin libgsf-1-common curl -y

Установка Postgres Pro для 1С

Добавить репозиторий

wget -O - https://repo.postgrespro.ru/1c-15/keys/pgpro-repo-add.sh --no-check-certificate | sh

Установка нужной версии

apt update && apt install postgrespro-1c-15 -y
systemctl enable postgrespro-1c-15
systemctl status postgrespro-1c-15

При необходимости заранее указать место расположения директории с базами postgres, полезно когда базы не должны хранится на системном диске. Для этого необходимо изменить фаил /etc/default/postgrespro-1c-15

nano /etc/default/postgrespro-1c-15

Содержание /etc/default/postgrespro-1c-15

PGDATA=/data

или

echo "PGDATA=/data" > /etc/default/postgrespro-1c-15

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

Если postgres при установке инициализировала кластер не с той локалью, которую задавали в настройках (проверить это можно запросом show lc_collate;), то остановим сервер, удалим данные и  инициализируем сервер postgres с конкретной локалью:

service postgrespro-1c-15 stop
rm -rf /var/lib/pgpro/1c-15/data/*
/opt/pgpro/1c-15/bin/pg-setup initdb --locale=ru_RU.UTF-8
service postgrespro-1c-15 start

Задать пароль пользователю postgres

sudo -iu postgres psql -c "ALTER ROLE postgres WITH PASSWORD '12345678';"

Установка Postgres Pro Enterprice для 1С

Добавить репозиторий

wget --user *notdev* https://repoee.postgrespro.ru/ent-15/keys/pgpro-repo-add.sh --no-check-certificate | sh

Установка нужной версии

apt update && apt install postgrespro-ent-15 -y
systemctl enable postgrespro-ent-15
systemctl status postgrespro-ent-15

При необходимости заранее указать место расположения директории с базами postgres, полезно когда базы не должны хранится на системном диске. Для этого необходимо изменить фаил /etc/default/postgrespro-1c-15

nano /etc/default/postgrespro-1c-15

Содержание /etc/default/postgrespro-1c-15

PGDATA=/data

или

echo "PGDATA=/data" > /etc/default/postgrespro-1c-15

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

Если postgres при установке инициализировала кластер не с той локалью, которую задавали в настройках (проверить это можно запросом show lc_collate;), то остановим сервер, удалим данные и  инициализируем сервер postgres с конкретной локалью:

service postgrespro-ent-15 stop
rm -rf /var/lib/pgpro/ent-15/data/*
/opt/pgpro/ent-15/bin/pg-setup initdb --locale=ru_RU.UTF-8 --tune=1c
service postgrespro-ent-15 start

Задать пароль пользователю postgres

sudo -iu postgres psql -c "ALTER ROLE postgres WITH PASSWORD '12345678';"

Тюнинг

nano /var/lib/pgpro/ent-15/data/postgresql.conf
wal_buffers = 4MB
service postgrespro-ent-15 restart

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

Скачать с сайта https://releases.1c.ru/ файл дистрибутива из раздела Технологическая платформа

Скачиваем и копируем архив Технологическая платформа 1С:Предприятия (64-bit) для Linux на нужный Linux сервер
Распаковать, дать права на выполнение и выполнить установку.

tar xvzf server64_8_3_23_1688.tar.gz
chmod +x ./setup-full-8.3.23.1688-x86_64.run
./setup-full-8.3.23.1688-x86_64.run --mode unattended --enable-components server,server_admin,additional_admin_functions,liberica_jre,ru

Мы устанавливаем кластер серверов 1С, сервер администрирования кластера и модули расширения веб-сервера в пакетном режиме.

  • mode unattended — включает пакетный режим
  • enable-components — служит для указания компонентов
  • additional_admin_functions — установка утилиты административной консоли
  • client_full — установить толстый клиент
  • client_thin — установить тонкий клиент (без возможности работы с файловым вариантом информационной базы)
  • client_thin_fib — установить тонкий клиент, который позволяет работать с любым вариантом информационной базы
  • config_storage_server — установить сервер хранилища конфигураций
  • integrity_monitoring — установить утилиту контроля целостности
  • liberica_jre — установить Java Runtime Environment (JRE)
  • server — установить кластер серверов
  • server_admin — установить консоль администрирования кластера серверов
  • ws — требуется установить модули расширения веб-сервера

Для того, чтобы в дальнейшем использовать 1С как системную службу systemd, при установке следует указать компонент server. Подробнее про опции установщика 1С см. в документации 1С

Автозагрузка сервера

systemctl link /opt/1cv8/x86_64/8.3.23.1688/[email protected]
systemctl start [email protected]
systemctl enable [email protected]

Сервер администрирования кластера серверов (RAS)

Запуск в ручную

/opt/1cv8/x86_64/8.3.23.1688/ras --daemon cluster

Автоматический запуск

systemctl link /opt/1cv8/x86_64/8.3.23.1688/ras-8.3.23.1688.service
systemctl start ras-8.3.23.1688.service
systemctl enable ras-8.3.23.1688.service

Информация о кластере

/opt/1cv8/x86_64/8.3.23.1688/rac cluster list

PgAdmin4

wget https://ftp.postgresql.org/pub/pgadmin/pgadmin4/apt/jammy/dists/pgadmin4/main/binary-amd64/libpq5_15.3-1.pgdg22.04%2B1_amd64.deb
wget https://ftp.postgresql.org/pub/pgadmin/pgadmin4/apt/jammy/dists/pgadmin4/main/binary-amd64/pgadmin4-server_7.5_amd64.deb
wget https://ftp.postgresql.org/pub/pgadmin/pgadmin4/apt/jammy/dists/pgadmin4/main/binary-amd64/pgadmin4-desktop_7.5_amd64.deb
dpkg -i libpq5_15.3-1.pgdg22.04+1_amd64.deb
dpkg -i pgadmin4-server_7.5_amd64.deb
dpkg -i pgadmin4-desktop_7.5_amd64.deb

Установка HASP

Версия 7.90

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

apt install make -y
wget https://download.etersoft.ru/pub/Etersoft/HASP/7.90/x86_64/Ubuntu/18.04/haspd_7.90-eter2ubuntu_amd64.deb
wget https://download.etersoft.ru/pub/Etersoft/HASP/7.90/x86_64/Ubuntu/18.04/haspd-modules_7.90-eter2ubuntu_amd64.deb
dpkg -i haspd_7.90-eter2ubuntu_amd64.deb
dpkg -i haspd-modules_7.90-eter2ubuntu_amd64.deb

Версия 8.53

wget http://download.etersoft.ru/pub/Etersoft/HASP/stable/x86_64/Ubuntu/22.04/haspd_8.53-eter1ubuntu_amd64.deb
dpkg -i haspd_8.53-eter1ubuntu_amd64.deb

Запускаем сервис haspd и проверяем, запустился ли он и слушает tcp порты:

systemctl start haspd
systemctl status haspd
systemctl enable haspd

Проверяем что служба прослушивает нужные порты

netstat -tulnp | grep hasp

Задержка при загрузке Ubuntu Server

A start job is running for Wait for Network to be Configured (XX / no limit)

Если сервер имеет два или более сетевых интерфейсов, то при загрузке можно столкнуться с зависанием на две-три минуты. При этом выдается сообщение «A start job is running for Wait for Network to be Configured»

Необходимо отредактировать конфигурационный файл netpaln, по умолчанию это /etc/netplan/00-installer-config.yaml

# This is the network config written by 'subiquity'
network:
ethernets:
eno1:
addresses:
- 192.168.10.100/24
nameservers:
addresses:
- 192.168.10.11
- 192.168.10.12
search:
- notdev.local
routes:
- to: default
via: 192.168.10.1
eno2:
dhcp4: true
eno3:
dhcp4: true
eno4:
dhcp4: true
version: 2

Оставьте только те интерфейсы, что необходимы

# This is the network config written by 'subiquity'
network:
ethernets:
eno1:
addresses:
- 192.168.10.100/24
nameservers:
addresses:
- 192.168.10.11
- 192.168.10.12
search:
- notdev.local
routes:
- to: default
via: 192.168.10.1
version: 2

Если на сервере есть графический интерфейс и хочется управлять сетевыми интерфейсами через Network Manager, то в конфигурации netplan указать renderer: сетевой менеджер, который будем использовать networkd либо NetworkManager

# This is the network config written by 'subiquity'
network:
renderer: NetworkManager
ethernets:
eno1:
addresses:
- 192.168.10.100/24
nameservers:
addresses:
- 192.168.10.11
- 192.168.10.12
search:
- notdev.local
routes:
- to: default
via: 192.168.10.1
version: 2

*


Дополнительная информация

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

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