Подготовка среды функционирования
Установка и настройка СУБД PostgreSQL
Установка СУБД PostgreSQL
Перед установкой серверной части Termidesk Profiles должна быть предварительно подготовлена среда функционирования узла, а именно установлена и настроена система управления базами данных (СУБД) PostgreSQL.
|
Рекомендуется использовать отдельную БД для серверной части Termidesk Profiles и не использовать БД Termidesk VDI. Серверная часть Termidesk Profiles может использовать ту же СУБД, что и Termidesk VDI, но имя БД должно быть отличным от уже существующего ( |
Для установки СУБД 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. Команда установки выбирается в зависимости от того, требуется ли использование СУБД Tantor Basic Edition:
-
с СУБД Tantor Basic Edition:
sudo apt install -y postgresqlНачиная с версии ОС Astra Linux Special Edition 1.8.0 при подключенных основном и расширенном репозиториях данная команда устанавливает СУБД Tantor Basic Edition, лицензия на которую приобретается отдельно.
-
без СУБД Tantor Basic Edition:
sudo apt install -y tantor-free-server-16Где:
-y- ключ для пропуска подтверждения установки.
-
Настройка СУБД PostgreSQL
Для настройки БД нужно:
-
отредактировать файл
/etc/postgresql/15/main/postgresql.conf, задать соответствующее значение параметруlisten_address:
# Для приема подключений на всех сетевых интерфейсах
listen_addresses = '0.0.0.0'
# Для приема подключений только с указанного IP-адреса
listen_addresses = '<IP-адрес_серверной_части_Termidesk_Profiles>'
-
для ограничения доступа к СУБД PostgreSQL по сети нужно отредактировать файл
/etc/postgresql/15/main/pg_hba.conf, приведя его к виду:
host all all 192.80.255.0/16 scram-sha-256
Где:
192.80.255.0/16 - сеть серверной части Termidesk Profiles.
-
затем следует перейти в интерфейс командной строки и переключиться на пользователя
postgres:
sudo su postgres
-
запустить терминальный клиент СУБД PostgreSQL:
psql
|
Если после выполнения команды отображается ошибка «could not change directory to "/home/": Отказано в доступе» и не появляется приглашение командной строки Если приглашение
|
-
используя интерактивный интерфейс терминального клиента СУБД PostgreSQL, создать БД
trp_base01(символ ; в конце строки при работе с интерактивным интерфейсом обязателен):
CREATE DATABASE trp_base01 LC_COLLATE 'ru_RU.utf8' LC_CTYPE 'ru_RU.utf8' TEMPLATE template0;
Где:
LC_COLLATE - порядок сортировки для использования в БД, влияет на порядок сортировки, применяемый к строкам. Значение ru_RU.utf8 указывает на использование русской локализации;
LC_CTYPE - классификация символов для использования в БД, влияет на категоризацию символов;
TEMPLATE - имя шаблона, из которого создается БД. Шаблон template0 используется для системной БД самой СУБД PostgreSQL;
-
создать пользователя
termidesktrpс паролемksedimretдля дальнейшего подключения к БД:
CREATE USER termidesktrp WITH PASSWORD 'ksedimret';
| В приведенной команде имя пользователя и пароль используются в качестве примера. Имя пользователя и пароль должны задаваться в соответствии с внутренними стандартами организации по применению парольной защиты. Для задания пароля разрешено использовать только латинские буквы A-Z, a-z, цифры 0-9 и символы $!@%^&#_-=+~`;:.,?()*{}[]\|/. |
-
предоставить пользователю
termidesktrpправа доступа ко всем таблицам схемыpublic:
GRANT ALL ON ALL TABLES IN SCHEMA public TO termidesktrp;
-
настроить автоматическое предоставление прав пользователю
termidesktrpна таблицы, создаваемые в схемеpublic:
ALTER DEFAULT PRIVILEGES IN SCHEMA public GRANT ALL ON TABLES TO termidesktrp;
-
назначить права по использованию БД
trp_base01пользователюtermidesktrp:
GRANT ALL PRIVILEGES ON DATABASE trp_base01 TO termidesktrp;
-
сделать пользователя
termidesktrpвладельцем БДtrp_base01, тем самым предоставив ему все возможные права:
ALTER DATABASE trp_base01 OWNER TO termidesktrp;
-
выйти из интерактивного интерфейса терминального клиента СУБД PostgreSQL:
\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
| В случае последующего обновления СУБД PostgreSQL может понадобиться пересоздать БД. В этом случае следует предусмотреть экспорт БД перед обновлением СУБД PostgreSQL. |
Установка и настройка NFS-хранилища
Перед установкой серверной части Termidesk Profiles нужно выполнить предварительную установку и настройку NFS-хранилища для хранения данных Перемещаемых Профилей.
Для установки NFS-хранилища нужно выполнить:
sudo apt install nfs-kernel-server
Для настройки NFS-хранилища нужно:
-
определить диск для хранения данных. Просмотреть список дисков и их разделов можно, выполнив команду:
sudo fdisk -l -
в результате выполнения команды будет отображен список доступных дисков и их разделов:
Disk /dev/sda: 20 GiB, 21474836480 bytes, 41943040 sectors ... (Existing OS disk) Disk /dev/sdb: 100 GiB, 107374182400 bytes, 209715200 sectors Units: sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytesГде:
/dev/sdb- диск, который в дальнейшем будет использован для хранения данных;
Наименование диска /dev/sdb приведено в качестве примера и должно быть заменено на имя диска, используемого в инфраструктуре NFS-хранилища.
|
-
создать раздел на диске
/dev/sdb:sudo fdisk /dev/sdb -
в интерфейсе утилиты
fdiskвыполнить следующие действия:-
нажать клавишу <n> для создания раздела;
-
нажать клавишу <p> для создания основного раздела;
-
указать номер раздела, нажав соответствующую клавишу на цифровом блоке клавиатуры;
-
указать значение начального сектора раздела и нажать клавишу <Enter>. Для принятия значения по умолчанию (2048) нажать клавишу <Enter> без указания значения;
-
указать значение конечного сектора раздела и нажать клавишу <Enter>. Для использования всего доступного пространства диска нажать клавишу <Enter> без указания значения;
-
убедиться в создании раздела на диске, нажав клавишу <p>. Наличие значения
/dev/sdb1в интерфейсе утилиты свидетельствует об успешном создании раздела; -
нажать клавишу <w> для записи изменений на диске и выхода из утилиты
fdisk. Для выхода без сохранения изменений нажать клавишу <q>;
-
-
после завершения работы утилиты
fdiskраздел должен быть автоматически обнаружен системой. Если раздел не обнаружен, обновить таблицу разделов командой:sudo partprobe -
в созданном разделе
/dev/sdb1нужно создать файловую систему, для этого выполнить:sudo mkfs.xfs /dev/sdb1Где:
xfs- тип файловой системы;/dev/sdb1- раздел диска, на котором создается файловая система;
Наименование раздела /dev/sdb1 приведено в качестве примера и должно быть заменено на имя раздела, используемого в инфраструктуре NFS-хранилища.
|
-
затем создать каталог точки монтирования:
sudo mkdir /trp_shareГде:
/trp_share- наименование каталога точки монтирования; -
временно смонтировать раздел
/dev/sdb1в каталог монтирования/trp_share:sudo mount /dev/sdb1 /trp_share -
убедиться, что диск смонтирован:
df -h -
отображение раздела
/dev/sdb1и каталога/trp_shareв выводе командыdf -hсвидетельствует об успешном монтировании диска; -
для автоматического монтирования диска при загрузке ОС нужно определить UUID раздела
/dev/sdb1:sudo blkid -
полученное значение внести в файл
/etc/fstab. Пример содержимого файла:UUID=a1b2c3d4-e5f6-7890-1234-567890abcdef /trp_share ext4 defaults 0 2Где:
UUID- уникальный идентификатор раздела;/trp_share- каталог монтирования;ext4- тип файловой системы;defaults- использование стандартных параметров монтирования;0- параметр отключения резервного копирования;2- параметр проверки файловой системы при загрузке; -
убедиться, что записи в файле
/etc/fstabвнесены корректно. Для этого размонтировать раздел, если он был смонтирован ранее:sudo umount /trp_share -
выполнить монтирование всех файловых систем, указанных в файле
/etc/fstab:sudo mount -a -
отсутствие ошибок в выводе команды
mount -aсвидетельствует о корректных записях в файле/etc/fstab; -
далее задать владельца (
nobody) и идентификатор группы (nogroup) каталога монтирования:sudo chown -R nobody:nogroup /trp_shareГде:
-R- ключ для рекурсивного применения свойств для каталога и его содержимого;
Для корректного применения прав к каталогу /trp_share их следует назначать после монтирования.
|
-
затем предоставить общий доступ к каталогу
/trp_share:/trp_share 192.80.255.0/16(rw,sync,no_subtree_check,no_root_squash,all_squash)Где:
/trp_share- каталог общего доступа;192.80.255.0/16- сеть, из которой разрешен доступ к каталогу;rw- разрешение на запись и чтение данных каталога;sync- синхронная запись данных;no_subtree_check- отключение проверки подкаталогов;no_root_squash- сохранение прав привилегированного пользователя при подключении к каталогу;all_squash- сопоставление всех пользователей к анонимному пользователю при подключении к каталогу.