Подготовка среды функционирования
Установка и настройка брокера сообщений RabbitMQ
Установка брокера сообщений RabbitMQ
| Если узел с уже установленным RabbitMQ будет переименован, то брокер сообщений перестанет принимать подключения. Для исправления ситуации необходимо удалить RabbitMQ, затем выполнить его переустановку. |
|
В Termidesk VDI версии 6.1 в экспериментальном режиме поддерживается установка «Брокера сообщений TermideskMQ»:
|
Для установки RabbitMQ следует перейти в интерфейс командной строки через программу «Терминал Fly» и выполнить:
sudo apt install -y rabbitmq-server
Где:
-y - ключ для пропуска подтверждения установки.
Настройка брокера сообщений RabbitMQ
Для настройки RabbitMQ следует:
-
перейти в интерфейс командной строки через программу «Терминал Fly» и убедиться в наличии каталога
/etc/rabbitmq:
ls /etc/ | grep rabbitmq
-
если каталог отсутствует, необходимо создать его:
sudo mkdir -p /etc/rabbitmq
где:
-p - ключ для автоматического создания директорий, указанных внутри пути;
-
перейти в каталог
/etc/rabbitmq:
cd /etc/rabbitmq
-
создать пустой файл
rabbitmq.conf(основной файл конфигурации RabbitMQ):
sudo touch rabbitmq.conf
-
поменять владельца (
rabbitmq) и идентификатор группы (rabbitmq) для созданного файла:
sudo chown rabbitmq:rabbitmq rabbitmq.conf
-
отредактировать файл
rabbitmq.conf, приведя его к виду:
tcp_listen_options.keepalive = true
|
Если необходимо, чтобы RabbitMQ работал через TLS-соединение, то файл
Предполагается, что файлы корневого сертификата ( |
-
выполнить настройку RabbitMQ с помощью
rabbitmqctl:-
включить плагины управления и метрик:
sudo rabbitmq-plugins enable rabbitmq_management sudo rabbitmq-plugins enable rabbitmq_prometheus -
предоставить права администратору:
sudo rabbitmqctl add_user admin StrongAdminPassword sudo rabbitmqctl set_user_tags admin administrator sudo rabbitmqctl set_permissions -p / admin ".*" ".*" ".*" -
удалить гостевого пользователя:
sudo rabbitmqctl delete_user guest -
создать виртуальный хост
termideskи пользователя RabbitMQ:sudo rabbitmqctl add_vhost termidesk sudo rabbitmqctl add_user termidesk ksedimret -
предоставить права пользователю
termideskна работу с виртуальным хостомtermidesk:sudo rabbitmqctl set_permissions -p termidesk termidesk ".*" ".*" ".*" -
предоставить права администратору на работу с виртуальным хостом
termidesk:sudo rabbitmqctl set_permissions -p termidesk admin ".*" ".*" ".*" -
предоставить права пользователю
termideskна работу с очередями виртуального хостаtermidesk:sudo rabbitmqctl set_topic_permissions -p termidesk termidesk ".*" ".*" ".*"Имя пользователя и пароль должны задаваться в соответствии с внутренними стандартами организации по применению парольной защиты. Для задания пароля разрешено использовать только латинские буквы A-Z, a-z, цифры 0-9 и символы !$%^&_-=+~`.,()*{}[]\|.
-
-
перезапустить службу
rabbitmq-server:
sudo systemctl restart rabbitmq-server
-
выполнить настройку поддержки TCP в ОС:
-
отредактировать файл
/etc/sysctl.conf:net.ipv4.tcp_keepalive_time = 30 net.ipv4.tcp_keepalive_intvl = 10 net.ipv4.tcp_keepalive_probes = 3 net.ipv4.tcp_retries2 = 5 -
применить изменения
sysctl:sudo sysctl --system
-
Установка и настройка СУБД PostgreSQL
Установка СУБД PostgreSQL
Для установки СУБД PostgreSQL необходимо:
-
отредактировать файл
/etc/apt/sources.list, оставив в качестве источников получения пакетов сетевые репозитории. Пример файла/etc/apt/sources.listдля ОС Astra Linux Special Edition 1.8:
|
Приведен только пример файла! Он должен быть скорректирован, исходя из используемой и поддерживаемой версии ОС. Подробную информацию о сетевых репозиториях ОС Astra Linux Special Edition можно получить в справочном центре Astra Linux для ОС Astra Linux Special Edition 1.8: https://wiki.astralinux.ru/pages/viewpage.action?pageId=302043111. Если в файле |
deb https://download.astralinux.ru/astra/stable/1.8_x86-64/repository-main/ 1.8_x86-64 main contrib non-free
deb https://download.astralinux.ru/astra/stable/1.8_x86-64/repository-extended/ 1.8_x86-64 main contrib non-free
-
перейти в интерфейс командной строки и обновить списков пакетов:
sudo apt update
-
установить СУБД PostgreSQL:
| При установке на ОС Astra Linux Specail Edition 1.8 следует выбирать СУБД PostgreSQL версии 15 (входит в состав ОС). |
sudo apt install -y postgresql
где:
-y - ключ для пропуска подтверждения установки.
Настройка СУБД PostgreSQL
Перед установкой Termidesk VDI нужно выполнить настройку базы данных (БД).
|
При работе с СУБД следует учитывать ее ограничения: суммарное количество подключений к СУБД должно быть не более 75% от максимально разрешенного количества подключений. Для СУБД PostgreSQL по умолчанию максимальное количество подключений - 100. Для оценки количества подключений к СУБД можно воспользоваться формулой: (количество порталов «Универсального диспетчера» x количество ядер процессоров x 3) + (количество узлов с запущенными службами |
Для настройки БД следует перейти в интерфейс командной строки и выполнить:
-
переключиться на пользователя
postgres:
sudo su postgres
-
запустить терминальный клиент СУБД PostgreSQL:
psql
|
Если после выполнения команды отображается ошибка «could not change directory to "/home/": Отказано в доступе» и не появляется приглашение командной строки Если приглашение
|
-
используя интерактивный интерфейс терминального клиента СУБД PostgreSQL, создать БД
termidesk(символ ; в конце строки при работе с интерактивным интерфейсом обязателен):
postgres=# CREATE DATABASE termidesk LC_COLLATE 'ru_RU.utf8' LC_CTYPE 'ru_RU.utf8' TEMPLATE template0;
где:
LC_COLLATE - порядок сортировки для использования в БД, влияет на порядок сортировки, применяемый к строкам. Значение ru_RU.utf8 указывает на использование русской локализации;
LC_CTYPE - классификация символов для использования в БД, влияет на категоризацию символов;
TEMPLATE - имя шаблона, из которого создается БД. Шаблон template0 используется для системной БД самой СУБД PostgreSQL.
-
создать пользователя
termideskdbс паролемksedimretдля дальнейшего подключения к БД:
postgres=# CREATE USER termideskdb WITH PASSWORD 'ksedimret';
| В приведенной команде имя пользователя и пароль используются в качестве примера. Имя пользователя и пароль должны задаваться в соответствии с внутренними стандартами организации по применению парольной защиты. Для задания пароля разрешено использовать только латинские буквы A-Z, a-z, цифры 0-9 и символы $!@%^&#_-=+~`;:.,?()*{}[]\|/. |
-
назначить права по использованию БД
termideskсозданному пользователюtermideskdb:
postgres=# GRANT ALL PRIVILEGES ON DATABASE termidesk TO termideskdb;
-
в случае, если используется СУБД PostgreSQL из состава ОС Astra Linux Special Edition 1.8, то сделать пользователя
termideskdbвладельцем БДtermidesk, тем самым предоставив ему все возможные права:
postgres=# ALTER DATABASE termidesk OWNER TO termideskdb;
-
выйти из интерактивного интерфейса терминального клиента СУБД PostgreSQL:
postgres=# \q
-
выйти из сеанса пользователя
postgres:
exit
-
отредактировать файл
/etc/parsec/mswitch.conf, установив параметрzero_if_notfoundв значениеyes, точно соблюдая отступы и пробелы:
# Return zero data instead of ENOENT/ENODATA in the absence of record
zero_if_notfound: yes
-
создать системного пользователя
termideskdb(имя должно совпадать с именем пользователя в БД):
sudo useradd -M termideskdb -s /usr/sbin/nologin -d /home/termideskdb
-
для пользователя БД назначить классификационную метку (в примере используется
termideskdb, в более ранних версиях использовалось имя пользователяtermidesk):
sudo pdpl-user -i 0 termideskdb
-
предоставить пользователю
termideskdbправа на чтение файла, содержащего классификационную метку:
sudo setfacl -m u:postgres:r /etc/parsec/macdb/$(id -u termideskdb)
| В случае последующего обновления СУБД PostgreSQL может понадобиться пересоздать БД. В этом случае следует предусмотреть экспорт БД перед обновлением СУБД PostgreSQL. |
Настройка СУБД Tantor
Помимо поддержки PostgreSQL Termidesk VDI может работать с другими СУБД, такими как Tantor, основанным на PostgreSQL. Установка СУБД должна быть выполнена согласно документации на нее.
После установки нужно последовательно выполнить шаги для настройки БД:
-
переключиться на пользователя
postgres:
sudo su postgres
-
выполнить инициализацию БД:
/opt/tantor/db/<версия_Tantor>/bin/initdb -D /var/lib/postgresql/<каталог_Tantor>/data/
-
запустить терминальный клиент СУБД:
./psql
-
используя интерактивный интерфейс терминального клиента СУБД, создать БД
termidesk(символ «;» в конце строки при работе с интерактивным интерфейсом обязателен):
postgres=# CREATE DATABASE termidesk LC_COLLATE 'ru_RU.utf8' LC_CTYPE 'ru_RU.utf8' TEMPLATE template0;
-
создать пользователя
termideskс паролемksedimretдля дальнейшего подключения к БД:
postgres=# CREATE USER termidesk WITH PASSWORD 'ksedimret';
| В приведенной команде имя пользователя и пароль используются в качестве примера. Имя пользователя и пароль должны задаваться в соответствии с внутренними стандартами организации по применению парольной защиты. Для задания пароля разрешено использовать только латинские буквы A-Z, a-z, цифры 0-9 и символы $!@%^&#_-=+~`;:.,?()*{}[]\|/. |
-
назначить все права по использованию БД
termideskсозданному пользователюtermidesk:
postgres=# GRANT ALL PRIVILEGES ON DATABASE termidesk TO termidesk;
-
назначить права на создание объектов для схемы
public:
postgres=# GRANT CREATE ON SCHEMA public TO termidesk;
-
выйти из интерактивного интерфейса терминального клиента СУБД:
postgres=# \q
-
выйти из сеанса пользователя
postgres:
exit
-
отредактировать файл
/etc/parsec/mswitch.conf, установив параметрzero_if_notfoundв значениеyes, точно соблюдая отступы и пробелы:
# Return zero data instead of ENOENT/ENODATA in the absence of record
zero_if_notfound: yes
|
При работе с СУБД следует учитывать ее ограничения: суммарное количество подключений к СУБД должно быть не более 75% от максимально разрешенного количества подключений. Для оценки количества подключений к СУБД можно воспользоваться формулой: (количество порталов «Универсального диспетчера» x количество ядер процессоров x 3) + (количество узлов с запущенными службами |