Установка ПК «Бюджет-NEXT» в ОС Linux

В данном разделе описывается установка ПК «Бюджет-NEXT» версии 24.2

FAQ по вопросам развертывания

Крайне рекомендуется разворачивать ПК «Бюджет-NEXT» используя "WEB-Сервер-КС", т.к. он позволяет минимизировать издержки, связанные с разворачиванием и настройкой http сервера и .NET Core приложений. Для успешной установки необходимо строго придерживаться инструкции.
Установка происходит в терминале ОС. Необходимы права суперпользователя root!
Мы не несем ответственности за самостоятельную установку сторонними компонентами.

"WEB-Сервер-КС" - платформа для развертывания, управления и удаления http сервера, реализованного в виде контейнера для работы в средах с поддержкой контейнеризации Docker или Podman.
Цель использования: минимизировать издержки, связанные с разворачиванием и настройкой http сервера и .NET Core приложений.
Требует для работы: Docker-CE (Docker, Inc. лицензия Apache 2.0) или Podman (лицензия Apache 2.0), платформа linux/amd64.
Характеристики: позволяет устанавливать один контейнер c http сервером Apache, Angie или Nginx по указанному порту, внутри которого возможна установка нескольких .NET Core приложений идентифицируемых назначенным виртуальным каталогом.
Диапазон используемых портов: 5444-5493 и дополнительно 443 порт (по умолчанию).
В поставляемом образе контейнера используются компоненты:

  • http сервер Apache (лицензия Apache 2.0)
  • http сервер Nginx (лицензия BSD из 2 пунктов)
  • http сервер Angie (лицензия BSD из 2 пунктов)
  • Runtime библиотека .NET Core 6.0.9 (лицензия MIT)
  • prometheus 2.43.0 (лицензия Apache 2.0) Инструкция примера для работы с контейнером (структура, основные команды развертывания, удаления, обновления приложения) в каталоге /opt/wsks-6.0.9_443/ctl/ файл readme.txt.

Для соединения с Linux -сервером используйте:
- терминал в случае наличия графического интерфейса Linux-системы.
- клиент PuTTY для удаленного соединения с Linux-машиной. Для соединения укажите поля как показано ниже на рисунке и нажмите «Соединиться».

1. Получите root-права.

Наберите команду и введите пароль от пользователя root.

sudo su

2. Проверьте статус Selinux.

Если он в режиме "enforcing" или "disabled", то переведите его в режим "permissive".

Внимание, команды перезагрузят ОС при выполнении условий!

if [ -f /etc/selinux/config ]; then if [ "$(echo $(getenforce))" = "Enforcing" ]; then sudo sed -i "s/SELINUX=enforcing/SELINUX=permissive/" /etc/selinux/config && reboot;fi;fi;
if [ -f /etc/selinux/config ]; then if [ "$(echo $(getenforce))" = "Disabled" ]; then sudo sed -i "s/SELINUX=disabled/SELINUX=permissive/" /etc/selinux/config && reboot;fi;fi;
2.1. Получите root-права снова.

Получите root-права снова, если предыдущая команда перезагрузила ОС.

sudo su
2.2. Определите имя пакетного менеджера.

Имя пакетного менеджера (apt-get, apt или yum) определяется автоматически и записывается в переменную $kstmp.

if [ "$(which apt-get 2> /dev/null)" != "" ]; then export kstmp="apt-get";fi;
if [ "$(which yum 2> /dev/null)" != "" ]; then export kstmp="yum";fi;
if [ "$(which apt 2> /dev/null)" != "" ]; then export kstmp="apt";fi;
2.3. Установите дополнительные утилиты wget, nano при их отсутствии.

Пункт 2.2. должен быть выполнен.

if [ -z $(which wget 2> /dev/null) ]; then $kstmp install -y wget;fi;
if [ -z $(which nano 2> /dev/null) ]; then $kstmp install -y nano;fi;

В Debian GNU/Linux 11, 12 (bullseye) проверьте наличие iptables командой: iptables --version.
Если iptables не установлен, то для установки используйте команду apt install iptables

2.4. Настройте диапазон по ссылке

Пункт является обязательным при первичной установке

В случае возникновения ошибки после установки:

Unable to start Kestrel. Failed to bind to address http://0.0.0.0:54430: address already in use

3. Установите Podman или Docker (рекомендуется).

Обращаем ваше внимание, что необходимо устанавливать только один вариант из предоставленных ниже в п.3.

3.1. Установите Docker.

В RedOS 7.3.1, RedOS 7.3.2 рекомендуется установка docker-ce с репозиториев:

dnf install -y docker-ce
systemctl enable docker
systemctl start docker
systemctl status docker

В остальных ОС крайне рекомендуется установить docker-ce-20.10.21.
Загрузка архива производится с сайта Кейсистемс.

cd /opt
wget https://keysystems.ru/files/web/Linux/docker/dks-docker-ce-20.10.21.tar.gz --no-check-certificate
chmod +x dks-docker-ce-20.10.21.tar.gz
tar -C /opt/ -xvf dks-docker-ce-20.10.21.tar.gz
bash /opt/dks-docker-ce-20.10.21/install.sh
3.2. Установите Podman при наличии в репозиториях.

На момент написания статьи Podman есть в репозиториях: ALT Server 10.1, RED OS MUROM (7.3.1), RED OS MUROM (7.3.2), ALT Workstation K 10.0, Astra Linux Special Edition x.7.

Пункт 2.2. должен быть выполнен.

$kstmp install -y podman
$kstmp install -y runc
systemctl start podman
systemctl status podman

4. Скачайте и распакуйте образ dks-wsks-6.0.9.

Внимание: на ROSA Enterprise Linux Server 7.3 ставьте только dks-wsks-6.0.9_d09.
Все остальные ОС:

cd /opt
wget -O /opt/dks-wsks-6.0.9_d12.tar.gz https://keysystems.ru/files/web/Linux/wsks/6.0.9/dks-wsks-6.0.9_d12.tar.gz --no-check-certificate
tar -C /opt/ -xvf dks-wsks-6.0.9_d12.tar.gz

Мы предоставляем 3 версии образа контейнера dks-wsks-6.0.9, построенные на Debian 9, Debian 11 и Debian 12. Если у вас возникают проблемы с установкой образа dks-wsks-6.0.9_d09, то обратитесь к специалисту поддержки.
Самостоятельное решение: скачать и распаковать архив dks-wsks-6.0.9_d09.
Архив находится по адресу: https://keysystems.ru/files/web/Linux/wsks/6.0.9/dks-wsks-6.0.9_d09.tar.gz
Так же просим заметить, что в контейнере wsks-6.0.9_d09 не поддерживается Angie.

5. Установите контейнер wsks-6.0.9.

Установите контейнер Podman+Apache, или Podman+Nginx, или Podman+Angie, или Docker+Apache, или Docker+Nginx, или Docker+Angie.

Рекомендуется устанавливать Docker+Nginx.
Порт web-сервиса 443 (можно выбрать другой свободный), порт prometheus 9093 (можно выбрать другой свободный).

Обращаем ваше внимание, что необходимо устанавливать только один вариант из предоставленных ниже, в зависимости от п.3. установленного ПО контейнеризации (docker/podman).

Docker+Nginx:

/opt/dks-wsks-6.0.9/install.sh -ws "nginx" -p "443" -cs "docker" -pp "9093"

Docker+Apache:

/opt/dks-wsks-6.0.9/install.sh -ws "apache2" -p "443" -cs "docker" -pp "9093"

Docker+Angie (не поддерживается в wsks-6.0.9_d09):

/opt/dks-wsks-6.0.9/install.sh -ws "angie" -p "443" -cs "docker" -pp "9093"

Podman+Nginx:

/opt/dks-wsks-6.0.9/install.sh -ws "nginx" -p "443" -cs "podman" -pp "9093"

Podman+Apache:

/opt/dks-wsks-6.0.9/install.sh -ws "apache2" -p "443" -cs "podman" -pp "9093"

Podman+Angie (не поддерживается в wsks-6.0.9_d09):

/opt/dks-wsks-6.0.9/install.sh -ws "angie" -p "443" -cs "podman" -pp "9093"

install-next-lin1

Важно! В случае, если порт web-сервиса использовался отличный от 443, то наименование установленного контейнера будет иметь вид wsks-6.0.9_54хх, поэтому нужно быть внимательнее, т.к. дальнейшая инструкция установки описана для контейнера с портом 443 (wsks-6.0.9_443).

5. Установите приложение "Бюджет-NEXT".

Задача: развернуть .NET Core приложение "Бюджет-NEXT" для работы с СУБД PostgreSQL с именем сервера 10.38.46.22:5434 и базы данных razr_241_test00_pg, Обращение к сайту обеспечить через виртуальный каталог budgetnext.

wget -O /opt/wsks-6.0.9_443/ctl/tar_files/webnext.tar.gz "https://keysystems.ru/files/web/INSTALL/BUDGET_NEXT/24.2/webnext-242.tar.gz" --no-check-certificate
bash /opt/wsks-6.0.9_443/ctl/ws_addapp.sh -t "wBKS" -a "webnext.tar.gz" -vc "budgetnext" -st "3" -sn "10.38.46.221:5434" -dn "razr_242_test3_pg"
  • https://keysystems.ru/files/web/INSTALL/BUDGET_NEXT/24.2/webnext-242.tar.gz - Постоянная ссылка на актуальную версию "Бюджет-NEXT";
  • "wBKS" - приложение «Бюджет-NEXT»;
  • "webnext.tar.gz" - имя файла архива *.tar.gz в зависимости от версии;
  • "bubgetnext" - имя виртуального каталога для приложения, назначаете самостоятельно;
  • "3" - тип источника СУБД; 0-MSSQL, 3-PostgreSQL;
  • "10.38.46.221:5434" - имя источника СУБД;
  • "razr_242_test3_pg" - база данных источника СУБД.

install-next-lin2

Если установка выполнена успешно, то при запуске стартовой страницы в браузере: https://<host_ip>:443/budgetnext должна появиться форма для ввода логина и пароля. Порт для внутреннего web сервера Kestrel 54430 был назначен автоматически.

install-next-lin3

ВАЖНО! После установки "Бюджет-NEXT" необходимо настроить кэш списков (установить СУБД-КС) на отдельном Linux-сервере, если планируется работа более 5 пользователей.

Команда для просмотра информации о развернутых приложениях «Web-Сервер-КС» 6.0.9_443:

bash /opt/wsks-6.0.9_443/ctl/ws_info.sh

Команда для перезапуска приложения на kestrel порту 443:

bash /opt/wsks-6.0.9_443/ctl/ws_ctlapp.sh -p "54430"  -m "restart"

Команда для перезапуска сервиса «Web-Сервер-КС» 6.0.9_443:

systemctl restart wsks-6.0.9_443_443.service

Команда для проверки статуса сервиса «Web-Сервер-КС» 6.0.9_443:

systemctl status wsks-6.0.9_443.service

Команда для удаления контейнера:

/opt/dks-wsks-6.0.9/uninstall.sh -p "443"

См. также