Руководство по установке
Версия Termit: 2.1
Аннотация
В этом документе описано, как администраторам установить компоненты системы терминального доступа «Термит».
1. Введение
Термит — это система терминального доступа (СТД). Предназначена для организации удаленного доступа конечных пользователей к приложениям, опубликованным на терминальных серверах. Пользователи получают защищенный доступ к установленным администраторами ресурсам с учетом назначенных прав доступа и текущей нагрузки на серверы.
Возможности СТД «Термит»:
-
поддержка терминальных серверов на базе операционных систем Windows и Linux;
-
совместное использование пользователями ресурсов с минимальными усилиями на администрирование и развертывание;
-
безопасный доступ к централизованно развернутым приложениям;
-
публикация рабочего стола и приложений.
1.1. Термины и определения
| Термин | Определение |
|---|---|
Агент |
Приложение для удаленного мониторинга и управления терминальным сервером. Устанавливается на терминальный сервер |
Балансировщик нагрузки |
Внешний компонент, который распределяет нагрузку между брокерами и реализует отказоустойчивость |
Брокер |
Компонент системы, который аутентифицирует пользователей, передает им списки доступных приложений, позволяет администраторам настраивать серверы, группы и приложения. Поддерживается несколько брокеров, что обеспечивает отказоустойчивость |
Группа доступа приложения |
Пользователи, которые состоят в группе LDAP и могут запускать приложение. Поддерживаются вложенные группы |
Группа серверов |
Ферма терминальных серверов. С помощью группы серверов можно балансировать нагрузку и объединять их по настройкам и приложениям, которые эти серверы запускают. Группы серверов нужны для обеспечения отказоустойчивости |
Пользователи |
Сотрудники предприятий, внешние пользователи, которые могут запускать приложение, и администраторы, которые могут настраивать СТД «Термит» |
Приложение |
Программное обеспечение, которое запускается на терминальном сервере. Интерфейс отображается локально на компьютере пользователя |
Рабочий стол |
Экранная рабочая область, аналогичная локальному рабочему столу. Состоит из рабочей области и панели задач |
Терминальная сессия |
Пользовательский сеанс. Сессия начинается, когда пользователь запустил приложение. И завершается, когда пользователь закрыл приложение. Администратор может завершить сессию принудительно |
Терминальный сервер |
Сервер, на котором запускается программное обеспечение, например 1С, браузер или офисный пакет приложений |
Шлюз удаленного доступа |
Компонент системы, обеспечивающий доступ к внешним пользователям к терминальным серверам |
1.2. Архитектура
В этом разделе приведены базовая архитектура и архитектура с внутренними и внешними пользователями.
1.2.1. Базовая архитектура
Ниже представлена схема базовой архитектуры с одним брокером, без балансировщика нагрузки и шлюза.
Описание работы СТД «Термит»
- Аутентификация
-
-
Пользователь запускает клиент. Далее вводит адрес брокера.
-
Пользователь вводит имя доменной учетной записи и пароль.
-
Брокер проверяет эти данные на сервере LDAP.
-
Брокер возвращает клиенту токен для аутентификации в REST API.
-
- Получение списка приложений
-
-
Клиент запрашивает у брокера список приложений, доступных пользователю. Брокер проверяет права пользователя (сравнивая его группы с теми, которые назначены на приложения) и отдает список доступных приложений.
-
- Старт сессии
-
-
Пользователь запускает нужное приложение (например, калькулятор). Клиент отправляет брокеру запрос на старт новой терминальной сессии.
-
Брокер выбирает терминальный сервер, который может обслужить запрос.
-
Брокер создает сессию в БД и отдает клиенту профиль подключения, включающий в себя адрес шлюза удаленного рабочего стола, адрес терминального сервера, порт подключения, команду для запуска и другие параметры.
-
Десктоп-клиент стартует сессию на терминальном сервере. В процессе старта десктоп-клиент запрашивает у пользователя имя учетной записи и пароль и отправляет их терминальному серверу. Терминальный сервер проводит аутентификацию пользователя. Десктоп-клиент настраивает перенаправление звука, файловой системы, печати и запускает калькулятор в сессии.
-
На стороне терминального сервера агент завершает создание сессии (уведомляет брокер о том, что создана сессия с X2Go/RDP ID. Далее происходит синхронизация этого ID c ID из БД).
-
Сессия готова к работе.
-
1.2.2. Архитектура с внутренними пользователями
Ниже представлена схема архитектуры с внутренними пользователями, несколькими брокерами, балансировщиком нагрузки и без шлюза.
Описание работы СТД «Термит»
- Аутентификация
-
-
Пользователь запускает клиент. Затем вводит адрес балансировщика нагрузки. Балансировщик нагрузки определяет, какой брокер будет обслуживать данного пользователя. И в дальнейшем перенаправляет все запросы пользователя на выбранный брокер.
-
Пользователь вводит имя доменной учетной записи и пароль.
-
Брокер проверяет эти данные на сервере LDAP.
-
Брокер возвращает клиенту токен для аутентификации в REST API.
-
- Получение списка приложений
-
-
Клиент запрашивает у брокера список приложений, доступных пользователю. Брокер проверяет права пользователя, сравнивая его группы с теми, которые назначены на приложения, и отдает список доступных приложений.
-
- Старт сессии
-
-
Пользователь запускает нужное приложение (например, калькулятор). Клиент отправляет брокеру запрос на старт новой терминальной сессии.
-
Брокер выбирает терминальный сервер, который может обслужить запрос.
-
Брокер создает сессию в БД и отдает клиенту профиль подключения, включающий в себя адрес шлюза удаленного рабочего стола, адрес терминального сервера, порт подключения, команду для запуска и другие параметры.
-
Десктоп-клиент начинает сессию на терминальном сервере. В процессе старта десктоп-клиент запрашивает у пользователя имя учетной записи и пароль и отправляет их терминальному серверу. Терминальный сервер проводит аутентификацию пользователя. Десктоп-клиент настраивает перенаправление звука, файловой системы, печати и запускает калькулятор в сессии.
-
На стороне терминального сервера агент завершает создание сессии (уведомляет брокер о том, что создана сессия с X2Go/RDP ID. Далее происходит синхронизация этого ID c ID из БД).
-
Сессия готова к работе.
-
1.2.3. Архитектура с внешними пользователями
Ниже представлена схема архитектуры с внешними пользователями, несколькими брокерами, балансировщиком нагрузки и шлюзом.
Описание работы СТД «Термит»
- Аутентификация
-
-
Пользователь запускает клиент. Затем вводит адрес балансировщика нагрузки. Балансировщик нагрузки определяет, какой брокер будет обслуживать данного пользователя. И в дальнейшем перенаправляет все запросы пользователя на выбранный брокер.
-
Пользователь вводит имя доменной учетной записи и пароль.
-
Брокер проверяет эти данные на сервере LDAP.
-
Брокер возвращает клиенту токен для аутентификации в REST API.
-
- Получение списка приложений
-
-
Клиент запрашивает у брокера список приложений, доступных пользователю. Брокер проверяет права пользователя, сравнивая его группы с теми, которые назначены на приложения, и отдает список доступных приложений.
-
- Старт сессии
-
-
Пользователь запускает нужное приложение (например, калькулятор). Клиент отправляет брокеру запрос на старт новой терминальной сессии.
-
Брокер выбирает терминальный сервер, который может обслужить запрос.
-
Брокер создает сессию в БД и отдает клиенту профиль подключения, включающий в себя адрес шлюза удаленного рабочего стола, адрес терминального сервера, порт подключения, команду для запуска и другие параметры.
-
Пользователь подключается к шлюзу и проходит на нем аутентификацию.
-
Десктоп-клиент с помощью шлюза начинает сессию на терминальном сервере. В процессе старта десктоп-клиент запрашивает у пользователя имя учетной записи и пароль и отправляет их терминальному серверу. Терминальный сервер проводит аутентификацию пользователя. Десктоп-клиент настраивает перенаправление звука, файловой системы, печати и запускает калькулятор в сессии.
-
На стороне терминального сервера агент завершает создание сессии (уведомляет брокер о том, что создана сессия с X2Go/RDP ID. Далее происходит синхронизация этого ID c ID из БД).
-
Сессия готова к работе.
-
2. Требования к окружению
В этом разделе приведены рекомендуемые системные и сетевые требования.
2.1. Рекомендуемые системные требования для продуктивной инсталляции
В таблицах ниже приведены требования для балансировщика нагрузки HAProxy и шлюзов удаленного доступа OpenSSH. Вы можете использовать другие.
| Компонент | Требования | |
|---|---|---|
Брокер (серверный вариант установки, без графической среды) |
ОС:
|
|
vCPU — 4 |
||
vRAM, ГБ — 8 |
||
Хранилище, ГБ — 100 |
||
Балансировщик нагрузки HAProxy (серверный вариант установки, без графической среды) |
ОС:
|
|
vCPU — 4 |
||
vRAM, ГБ — 8 |
||
Хранилище, ГБ — 100 |
||
Терминальный сервер (серверный вариант установки, с графическим окружением) |
ОС:
|
|
vCPU — 4 |
||
vRAM, ГБ — 8 |
||
Хранилище, ГБ — 100 |
||
Требования к сессии:
Рекомендуется резерв 15-20% от полученных значений.
|
||
Шлюзы удаленного доступа OpenSSH (серверный вариант установки, без графической среды) |
ОС:
|
|
vCPU — 4 |
||
vRAM, ГБ — 8 |
||
Хранилище, ГБ — 100 |
||
Среда рабочего стола терминального сервера |
|
|
База данных |
PostgreSQL 11 и выше |
|
vCPU — 4 |
||
vRAM, ГБ — 8 |
||
Хранилище, ГБ — 100 |
||
Дополнительный диск для базы данных, ГБ — 150 |
||
Клиентская машина |
ОС:
|
|
Служба каталогов |
|
2.2. Минимальные системные требования для тестовой инсталляции
| Компонент | Требования | |
|---|---|---|
Брокер (серверный вариант установки, без графической среды) |
ОС:
|
|
vCPU — 2 |
||
vRAM, ГБ — 4 |
||
Хранилище, ГБ — 50 |
||
Балансировщик нагрузки HAProxy (серверный вариант установки, без графической среды) |
ОС:
|
|
vCPU — 2 |
||
vRAM, ГБ — 2 |
||
Хранилище, ГБ — 50 |
||
Шлюзы удаленного доступа OpenSSH (серверный вариант установки, без графической среды) |
ОС:
|
|
vCPU — 2 |
||
vRAM, ГБ — 2 |
||
Хранилище, ГБ — 50 |
||
База данных |
PostgreSQL 11 и выше |
|
vCPU — 2 |
||
vRAM, ГБ — 4 |
||
Хранилище, ГБ — 50 |
||
Терминальный сервер (серверный вариант установки, с графическим окружением) |
ОС:
|
|
vCPU — 4 |
||
vRAM, ГБ — 4 |
||
Хранилище, ГБ — 50 |
||
Базовые требования к сессии:
|
2.3. Сетевые требования
| Источник | Назначение | Протокол | Порт | Описание |
|---|---|---|---|---|
Брокер |
База данных |
TCP |
5432 |
Связь с сервером баз данных PostgreSQL |
Служба каталогов |
TCP |
389 |
LDAP |
|
Терминальный сервер |
TCP |
8443 |
Связь: |
|
TCP |
8443 |
Связь: |
||
TCP |
9100 |
Связь: |
||
Балансировщик нагрузки |
TCP |
443 |
Связь: |
|
TCP |
8080 |
Связь: |
||
Межсервисная коммуникация |
TCP |
9090 |
Связь: |
|
Шлюз удаленного рабочего стола |
Терминальный сервер (Linux) |
TCP |
22 |
SSH подключение к терминальному серверу |
Терминальный сервер (Windows) |
TCP |
3389 |
RDP подключение к терминальному серверу |
|
Служба каталогов |
TCP |
389 |
LDAP |
|
Клиент |
Шлюз удаленного рабочего стола |
TCP |
22 |
Связь: |
Терминальный сервер (Linux) |
TCP |
22 |
SSH подключение к терминальному серверу без использования компонента шлюз |
|
Терминальный сервер (Windows) |
TCP |
3389 |
RDP подключение к терминальному серверу без использования компонента шлюз |
|
Балансировщик нагрузки |
TCP |
443 |
HTTPS подключение к брокеру |
3. Подготовка окружения
Для подготовки окружения:
-
Разверните серверы:
-
для брокеров. На этой ВМ будет устанавливаться сервис;
-
для терминальных серверов под управлением Windows или Linux в зависимости от требований;
-
(Опционально) для сервера баз данных. Можно использовать существующий сервер.
-
-
Проверьте доступ к службе каталогов и PostgreSQL.
-
Проверьте с помощью команд
nslookup,ping, что брокер зарегистрирован на DNS-сервере и доступен. В выводе команды не должно быть ошибок. -
Добавьте терминальный сервер в домен службы каталогов.
-
В каталоге пользователей создайте сервисную учетную запись для синхронизации объектов из службы каталогов. Обязательно отключите опцию «User must change password at next logon» и включите «Password never expires».
-
В каталоге пользователей создайте группы безопасности для назначения ролей: администратора, технической поддержки и пользователя, в соответствии с требованиями вашего предприятия.
-
В каталоге пользователей добавьте в состав групп, созданных на предыдущем шаге, учетные записи пользователей для взаимодействия с СТД «Термит».
4. Настройка межсетевого экрана
В этом разделе описано, как проверить настройки межсетевого экрана (МСЭ).
4.1. РЕД ОС
Чтобы проверить настройки МСЭ на каждом из серверов, выполните команду:
sudo systemctl status firewalld.service
Если в выводе команды отображается информация, как на изображении ниже, то дальнейшие шаги по конфигурации МСЭ можно пропустить, так как он выключен.
В случае если вывод команды отличается, то необходима дополнительная конфигурация МСЭ. Для этого:
-
Определите активную зону МСЭ с помощью команды:
firewall-cmd --get-default-zone -
Добавьте правила по списку портов в необходимую активную зону с помощью команды:
sudo firewall-cmd --zone=%Активная_Зона% --permanent --add-port=%Порт%/tcpГде:
-
%Активная_Зона% — текущая активная зона из шага 1.
-
%Порт% — необходимый порт. Список портов смотрите в разделе Сетевые требования.
Например:
sudo firewall-cmd –zone=public --permanent --add-port=5432/tcp
-
|
Подробнее о настройке МСЭ можно прочесть на официальном сайте РЕД ОС. |
4.2. Astra Linux
Чтобы проверить настройки МСЭ на каждом из серверов, выполните команду:
sudo ufw status
Если выполнение команды возвращает ответ «Status: inactive», то дальнейшие шаги по конфигурации МСЭ можно пропустить, так как он выключен.
В случае если вывод команды отличается, то необходима дополнительная конфигурация МСЭ. Для этого добавьте соответствующие разрешения командой:
sudo ufw allow %Порт%/tcp
Где: %Порт% — необходимый порт. Список портов смотрите в разделе Сетевые требования.
|
4.3. ALT Linux
Чтобы проверить настройки МСЭ на каждом из серверов, выполните команду:
sudo efw
Если выполнение команды возвращает ответ «Firewall is disabled», то дальнейшие шаги по конфигурации МСЭ можно пропустить, так как он выключен.
В случае если вывод команды отличается, то необходима дополнительная конфигурация МСЭ. Для этого добавьте соответствующие правила. В зависимости от используемого МСЭ команды могут отличаться. Подробнее о создании правил МСЭ описано в статьях Etcnet Firewall и UFW.
4.4. Windows
Чтобы настроить межсетевой экран на сервере:
-
Откройте любым способом Монитор брандмауэра Защитника Windows в режиме повышенной безопасности.
-
Выберите Правила для входящих подключений.
-
Нажмите Создать правило.
-
На вкладке Тип правила активируйте опцию Для порта.
-
Нажмите Далее.
-
На вкладке Протокол и порты оставьте Протокол TCP по умолчанию. В параметре Определенные локальные порты: укажите «8443». Полный список портов смотрите в разделе Сетевые требования.
-
Нажмите .
-
На вкладке Имя задайте имя, например «Termit Agent».
|
Можно создать правило в межсетевом экране с помощью PowerShell:
|
5. Базовая конфигурация базы данных
В этом разделе представлена базовая информация по подготовке сервера баз данных PostgreSQL.
|
Повторное использование базы данных для новой инсталляции невозможно. |
5.1. РЕД ОС
В этой инструкции используется последняя доступная версия СУБД PostgreSQL 15. В случае если используется другая версия, то выполняемые команды необходимо изменить. Более подробно можно ознакомиться на сайте документации РЕД ОС.
-
Установите PostgreSQL с помощью команды:
sudo dnf install postgresql15-server -
Инициализируйте базу данных с помощью команды:
sudo postgresql-15-setup initdb -
Запустите сервис PostgreSQL с помощью команды:
sudo systemctl enable postgresql-15.service --now -
Чтобы разрешить удаленное подключение к СУБД, в файле конфигурации
/var/lib/pgsql/15/data/postgresql.confпараметрlisten_addressesдолжен соответствовать значению'*':
Отображение параметров на скриншоте может отличаться. Зависит от версии PostgreSQL.
-
Чтобы разрешить удаленное подключение к СУБД с паролем, добавьте в файл конфигурации
/var/lib/pgsql/15/data/pg_hba.confстроку:host all all 0.0.0.0/0 password
Отображение параметров на скриншоте может отличаться. Зависит от версии PostgreSQL.
-
Запустите сессию служебного пользователя postgres с помощью команды:
sudo su - postgres -
Запустите командную оболочку postgres с помощью команды:
psql -
Если при установке брокера:
-
будет выбрана опция «подключиться к уже существующей базе данных», то выполните шаги:
-
Создайте пустую базу данных с помощью команды:
CREATE DATABASE %Имя_Базы%; -
Создайте нового пользователя с паролем с помощью команды:
CREATE USER %Имя_Пользователя% WITH PASSWORD '%Пароль_Пользователя%'; -
Установите права владельца для созданного пользователя на созданную базу с помощью команды:
ALTER DATABASE %Имя_Базы% OWNER TO %Имя_Пользователя%; -
Выйдите из командной оболочки psql и сессии пользователя postgres с помощью команды:
exit -
Перезапустите сервис PostgreSQL с помощью команды:
sudo systemctl restart postgresql-15.service
-
-
будет выбрана опция «создать новую базу данных», то выполните шаги:
-
Создайте нового пользователя с паролем и правами на создание новых баз данных с помощью команды:
CREATE USER %Имя_Пользователя% WITH PASSWORD '%Пароль_Пользователя%' CREATEDB; -
Выйдите из командной оболочки psql и сессии пользователя postgres с помощью команды:
exit -
Перезапустите сервис PostgreSQL с помощью команды:
sudo systemctl restart postgresql-15.service
-
-
5.2. Astra Linux
В случае инсталляций в режиме контроля мандатного доступа («Воронеж» и «Смоленск») может потребоваться дополнительная конфигурация операционной системы. Подробнее о настройках PostgreSQL и мандатном управлении доступа.
-
Установите PostgreSQL из репозитория с помощью команды:
sudo apt install postgresql-11 -
Проверьте статус сервиса PostgreSQL с помощью команды:
sudo systemctl status postgresql -
При необходимости запустите сервис с помощью команды:
sudo systemctl start postgresql -
Чтобы разрешить удаленное подключение к СУБД, в файле конфигурации
/etc/postgresql/11/main/postgresql.confпараметрlisten_addressesдолжен соответствовать значению'*':
Отображение параметров на скриншоте может отличаться. Зависит от версии PostgreSQL.
-
Чтобы разрешить удаленное подключение к СУБД с паролем, добавьте в файл конфигурации
/etc/postgresql/11/main/pg_hba.confстроку:host all all 0.0.0.0/0 password
Отображение параметров на скриншоте может отличаться. Зависит от версии PostgreSQL.
-
Чтобы разрешить удаленное подключение к СУБД пользователю в режиме контроля мандатного доступа, в параметре
zero_if_notfoundзадайте значениеyesв файле/etc/parsec/mswitch.conf:
-
Запустите сессию служебного пользователя postgres с помощью команды:
sudo su - postgres -
Запустите командную оболочку postgres с помощью команды:
psql -
Если при установке брокера:
-
будет выбрана опция «подключиться к уже существующей базе данных», то выполните шаги:
-
Создайте пустую базу данных с помощью команды:
CREATE DATABASE %Имя_Базы%; -
Создайте нового пользователя с паролем с помощью команды:
CREATE USER %Имя_Пользователя% WITH PASSWORD '%Пароль_Пользователя%'; -
Установите права владельца для созданного пользователя на созданную базу с помощью команды:
ALTER DATABASE %Имя_Базы% OWNER TO %Имя_Пользователя%; -
Выйдите из командной оболочки psql и сессии пользователя postgres с помощью команды:
exit -
Перезапустите сервис PostgreSQL с помощью команды:
sudo systemctl restart postgresql
-
-
будет выбрана опция «создать новую базу данных», то выполните шаги:
-
Создайте нового пользователя с паролем и правами на создание новых баз данных с помощью команды:
CREATE USER %Имя_Пользователя% WITH PASSWORD '%Пароль_Пользователя%' CREATEDB; -
Выйдите из командной оболочки psql и сессии пользователя postgres с помощью команды:
exit -
Перезапустите PostgreSQL с помощью команды:
sudo systemctl restart postgresql
-
-
5.3. Debian
-
Установите сервис PostgreSQL с помощью команды:
sudo apt install postgresql-15 -
Проверьте статус сервиса с помощью команды:
sudo systemctl status postgresql -
При необходимости запустите сервис с помощью команды:
sudo systemctl enable postgresql --now -
Чтобы разрешить удаленное подключение к СУБД, в файле конфигурации
/etc/postgresql/15/main/postgresql.conf, в параметреlisten_addressesдолжно быть значение '*':
-
Чтобы разрешить удаленное подключение к СУБД, добавьте в файл конфигурации
/etc/postgresql/15/main/pg_hba.confстроку:host all all 0.0.0.0/0 password -
Запустите сессию служебного пользователя postgres с помощью команды:
sudo su - postgres -
Запустите командную оболочку postgres с помощью команды:
psql -
Если при установке брокера:
-
будет выбрана опция «подключиться к уже существующей базе данных», то выполните шаги:
-
Создайте пустую базу данных с помощью команды:
CREATE DATABASE %Имя_Базы%; -
Создайте нового пользователя с паролем с помощью команды:
CREATE USER %Имя_Пользователя% WITH PASSWORD '%Пароль_Пользователя%'; -
Установите права владельца для созданного пользователя на созданную базу с помощью команды:
ALTER DATABASE %Имя_Базы% OWNER TO %Имя_Пользователя%; -
Выйдите из командной оболочки psql и сессии пользователя postgres с помощью команды:
exit -
Перезапустите сервис PostgreSQL с помощью команды:
sudo systemctl restart postgresql
-
-
будет выбрана опция «создать новую базу данных», то выполните шаги:
-
Создайте нового пользователя с паролем и правами на создание новых баз данных с помощью команды:
CREATE USER %Имя_Пользователя% WITH PASSWORD '%Пароль_Пользователя%' CREATEDB; -
Выйдите из командной оболочки psql и сессии пользователя postgres с помощью команды:
exit
-
-
-
Перезапустите сервис PostgreSQL с помощью команды:
sudo systemctl restart postgresql
5.4. ALT Linux
Подробнее об установке PostgreSQL можно прочесть на официальном сайте ALT Linux.
-
Установите компоненты PostgreSQL с помощью команды:
sudo apt-get install postgresql11-server -
Инициализируйте сервер БД с помощью команды:
sudo /etc/init.d/postgresql initdb -
Запустите и добавьте автозапуск с помощью команды:
sudo systemctl enable postgresql --now -
Чтобы разрешить удаленное подключение к СУБД, в файле конфигурации
/var/lib/pgsql/data/postgresql.confпараметрlisten_addressesдолжен соответствовать значению '*'.
-
Чтобы разрешить удаленное подключение к СУБД с паролем, добавьте в файл конфигурации
/var/lib/pgsql/data/pg_hba.confстроку:host all all 0.0.0.0/0 password
-
Перезапустите сервис с помощью команды:
sudo systemctl restart postgresql -
Перейдите в консоль управления БД с помощью команды:
psql -U postgres -
Если при установке брокера:
-
будет выбрана опция «подключиться к уже существующей базе данных», то выполните шаги:
-
Создайте пустую базу данных с помощью команды:
CREATE DATABASE %Имя_Базы%; -
Создайте нового пользователя с паролем с помощью команды:
CREATE USER %Имя_Пользователя% WITH PASSWORD '%Пароль_Пользователя%'; -
Установите права владельца для созданного пользователя на созданную базу с помощью команды:
ALTER DATABASE %Имя_Базы% OWNER TO %Имя_Пользователя%; -
Выйдите из командной оболочки psql и сессии пользователя postgres с помощью команды:
exit -
Перезапустите сервис PostgreSQL с помощью команды:
sudo systemctl restart postgresql
-
-
будет выбрана опция «создать новую базу данных», то выполните шаги:
-
Создайте нового пользователя с паролем и правами на создание новых баз данных с помощью команды:
CREATE USER %Имя_Пользователя% WITH PASSWORD '%Пароль_Пользователя%' CREATEDB; -
Выйдите из командной оболочки psql и сессии пользователя postgres с помощью команды:
exit -
Перезапустите сервис PostgreSQL с помощью команды:
sudo systemctl restart postgresql
-
-
5.5. OpenSUSE
-
Установите компоненты PostgreSQL с помощью команды:
При необходимости измените версию PostgreSQL.
sudo zypper install postgresql postgresql-server postgresql-contrib -
Запустите и добавьте автозапуск с помощью команды:
sudo systemctl enable postgresql --now -
Чтобы разрешить удаленное подключение к СУБД, в файле конфигурации
/var/lib/pgsql/data/postgresql.conf, параметрlisten_addressesдолжен соответствовать значению '*'.
-
Чтобы разрешить удаленное подключение к СУБД с паролем, добавьте в файл конфигурации
/var/lib/pgsql/data/pg_hba.confстроку:host all all 0.0.0.0/0 password
-
Перезапустите сервис с помощью команды:
sudo systemctl restart postgresql -
Проверьте статус сервиса с помощью команды:
sudo systemctl status postgresqlСтатус должен быть «Active».
-
Перейдите в консоль управления БД с помощью команды:
psql -U postgres -
Если при установке брокера:
-
будет выбрана опция «подключиться к уже существующей базе данных», то выполните шаги:
-
Создайте пустую базу данных с помощью команды:
CREATE DATABASE %Имя_Базы%; -
Создайте нового пользователя с паролем с помощью команды:
CREATE USER %Имя_Пользователя% WITH PASSWORD '%Пароль_Пользователя%'; -
Установите права владельца для созданного пользователя на созданную базу с помощью команды:
ALTER DATABASE %Имя_Базы% OWNER TO %Имя_Пользователя%; -
Выйдите из командной оболочки psql и сессии пользователя postgres с помощью команды:
exit -
Перезапустите сервис PostgreSQL с помощью команды:
sudo systemctl restart postgresql
-
-
будет выбрана опция «создать новую базу данных», то выполните шаги:
-
Создайте нового пользователя с паролем и правами на создание новых баз данных с помощью команды:
CREATE USER %Имя_Пользователя% WITH PASSWORD '%Пароль_Пользователя%' CREATEDB; -
Выйдите из командной оболочки psql и сессии пользователя postgres с помощью команды:
exit -
Перезапустите сервис PostgreSQL с помощью команды:
sudo systemctl restart postgresql
-
-
6. Установка балансировщика нагрузки
В этом разделе описано, как установить балансировщик нагрузки HAProxy, в случае если планируется инсталляция нескольких брокеров. Если вы планируете конфигурацию с одним брокером, то пропустите этот шаг и перейдите к установке брокера.
Вы можете использовать другой балансировщик нагрузки.
|
Рекомендуемый тип балансировки — привязка пользователя к конкретному серверу (balance source и hash-type consistent). Подробнее о типах балансировки. |
6.1. РЕД ОС
-
Установите ПО HAProxy с помощью команды:
sudo dnf install haproxy -
Включите службу haproxy и добавьте автозагрузку с помощью команды:
sudo systemctl enable haproxy --now -
Добавьте в конец файла конфигурации
/etc/haproxy/haproxy.cfgнастройку серверов для балансировки.Пример конфигурации
В примере приведен файл конфигурации с типом балансировки Source IP Hash.
frontend termit mode tcp bind :80 default_backend termit_servers backend termit_servers option httpchk http-check connect port 8080 http-check send meth GET uri / mode tcp balance source hash-type consistent server %Имя_Термит_Брокера_1% %IP_Адрес_Термит_Брокера_1%:80 check server %Имя_Термит_Брокера_2% %IP_Адрес_Термит_Брокера_2%:80 check server %Имя_Термит_Брокера_3% %IP_Адрес_Термит_Брокера_3%:80 check frontend termit_https mode tcp bind :443 default_backend termit_servers_https backend termit_servers_https option httpchk http-check connect port 8080 http-check send meth GET uri / mode tcp balance source hash-type consistent server %Имя_Термит_Брокера_1% %IP_Адрес_Термит_Брокера_1%:443 check server %Имя_Термит_Брокера_2% %IP_Адрес_Термит_Брокера_2%:443 check server %Имя_Термит_Брокера_3% %IP_Адрес_Термит_Брокера_3%:443 check frontend termit_8443_https mode tcp bind :8443 default_backend termit_servers_8443_https backend termit_servers_8443_https option httpchk http-check connect port 8080 http-check send meth GET uri / mode tcp balance source hash-type consistent server %Имя_Термит_Брокера_1% %IP_Адрес_Термит_Брокера_1%:8443 check server %Имя_Термит_Брокера_2% %IP_Адрес_Термит_Брокера_2%:8443 check server %Имя_Термит_Брокера_3% %IP_Адрес_Термит_Брокера_3%:8443 check -
Проверьте созданный файл конфигурации с помощью команды ниже. Вывод команды не должен содержать ошибок. Предупреждения (warnings) не являются ошибками.
sudo haproxy -f /etc/haproxy/haproxy.cfg -c -
Перезапустите службу с помощью команды:
sudo systemctl restart haproxy -
Проверьте доступность СТД «Термит» по URL адресу, указанному при установке брокер серверов.
6.2. Astra Linux
Для установки используется последняя доступная в репозитории Astra Linux версия HAProxy (2.2.29-2astra13). Подробнее о конфигурации можно ознакомиться на официальном сайте Astra Linux.
-
Установите ПО HAProxy с помощью команды:
sudo apt install haproxy -
Включите службу haproxy и добавьте автозагрузку с помощью команды:
sudo systemctl enable haproxy --now -
Добавьте в конец файла конфигурации
/etc/haproxy/haproxy.cfgнастройку серверов для балансировки.Пример конфигурации
В примере приведен файл конфигурации с типом балансировки Source IP Hash.
frontend termit mode tcp bind :80 default_backend termit_servers backend termit_servers option httpchk http-check connect port 8080 http-check send meth GET uri / mode tcp balance source hash-type consistent server %Имя_Термит_Брокера_1% %IP_Адрес_Термит_Брокера_1%:80 check server %Имя_Термит_Брокера_2% %IP_Адрес_Термит_Брокера_2%:80 check server %Имя_Термит_Брокера_3% %IP_Адрес_Термит_Брокера_3%:80 check frontend termit_https mode tcp bind :443 default_backend termit_servers_https backend termit_servers_https option httpchk http-check connect port 8080 http-check send meth GET uri / mode tcp balance source hash-type consistent server %Имя_Термит_Брокера_1% %IP_Адрес_Термит_Брокера_1%:443 check server %Имя_Термит_Брокера_2% %IP_Адрес_Термит_Брокера_2%:443 check server %Имя_Термит_Брокера_3% %IP_Адрес_Термит_Брокера_3%:443 check frontend termit_8443_https mode tcp bind :8443 default_backend termit_servers_8443_https backend termit_servers_8443_https option httpchk http-check connect port 8080 http-check send meth GET uri / mode tcp balance source hash-type consistent server %Имя_Термит_Брокера_1% %IP_Адрес_Термит_Брокера_1%:8443 check server %Имя_Термит_Брокера_2% %IP_Адрес_Термит_Брокера_2%:8443 check server %Имя_Термит_Брокера_3% %IP_Адрес_Термит_Брокера_3%:8443 check -
Проверьте созданный файл конфигурации с помощью команды ниже. Вывод команды не должен содержать ошибок. Предупреждения (warnings) не являются ошибками.
sudo haproxy -f /etc/haproxy/haproxy.cfg -c -
Перезапустите службу с помощью команды:
sudo systemctl restart haproxy -
Проверьте доступность СТД «Термит» по URL адресу, указанному при установке брокера.
6.3. Debian
-
Установите ПО HAProxy с помощью команды:
sudo systemctl install haproxy -
Включите службу haproxy и добавьте автозагрузку с помощью команды:
sudo systemctl enable haproxy --now -
Добавьте в конец файла конфигурации
/etc/haproxy/haproxy.cfgнастройку серверов для балансировки:Пример конфигурации
В примере приведен файл конфигурации с типом балансировки Source IP Hash.
frontend termit mode tcp bind :80 default_backend termit_servers backend termit_servers option httpchk http-check connect port 8080 http-check send meth GET uri / mode tcp balance source hash-type consistent server %Имя_Термит_Брокера_1% %IP_Адрес_Термит_Брокера_1%:80 check server %Имя_Термит_Брокера_2% %IP_Адрес_Термит_Брокера_2%:80 check server %Имя_Термит_Брокера_3% %IP_Адрес_Термит_Брокера_3%:80 check frontend termit_https mode tcp bind :443 default_backend termit_servers_https backend termit_servers_https option httpchk http-check connect port 8080 http-check send meth GET uri / mode tcp balance source hash-type consistent server %Имя_Термит_Брокера_1% %IP_Адрес_Термит_Брокера_1%:443 check server %Имя_Термит_Брокера_2% %IP_Адрес_Термит_Брокера_2%:443 check server %Имя_Термит_Брокера_3% %IP_Адрес_Термит_Брокера_3%:443 check frontend termit_8443_https mode tcp bind :8443 default_backend termit_servers_8443_https backend termit_servers_8443_https option httpchk http-check connect port 8080 http-check send meth GET uri / mode tcp balance source hash-type consistent server %Имя_Термит_Брокера_1% %IP_Адрес_Термит_Брокера_1%:8443 check server %Имя_Термит_Брокера_2% %IP_Адрес_Термит_Брокера_2%:8443 check server %Имя_Термит_Брокера_3% %IP_Адрес_Термит_Брокера_3%:8443 check -
Проверьте файл конфигурации с помощью команды:
sudo haproxy -f /etc/haproxy/haproxy.cfg -c -
Перезапустите службу с помощью команды:
sudo systemctl restart haproxy
6.4. ALT Linux
-
Установите ПО HAProxy с помощью команды:
sudo apt-get install haproxy -
Включите службу haproxy и добавьте автозагрузку с помощью команды:
sudo systemctl enable haproxy --now -
Добавьте в конец файла конфигурации
/etc/haproxy/haproxy.cfgнастройку серверов для балансировки.Пример конфигурации
В примере приведен файл конфигурации с типом балансировки Source IP Hash.
frontend termit mode tcp bind :80 default_backend termit_servers backend termit_servers option httpchk http-check connect port 8080 http-check send meth GET uri / mode tcp balance source hash-type consistent server %Имя_Термит_Брокера_1% %IP_Адрес_Термит_Брокера_1%:80 check server %Имя_Термит_Брокера_2% %IP_Адрес_Термит_Брокера_2%:80 check server %Имя_Термит_Брокера_3% %IP_Адрес_Термит_Брокера_3%:80 check frontend termit_https mode tcp bind :443 default_backend termit_servers_https backend termit_servers_https option httpchk http-check connect port 8080 http-check send meth GET uri / mode tcp balance source hash-type consistent server %Имя_Термит_Брокера_1% %IP_Адрес_Термит_Брокера_1%:443 check server %Имя_Термит_Брокера_2% %IP_Адрес_Термит_Брокера_2%:443 check server %Имя_Термит_Брокера_3% %IP_Адрес_Термит_Брокера_3%:443 check frontend termit_8443_https mode tcp bind :8443 default_backend termit_servers_8443_https backend termit_servers_8443_https option httpchk http-check connect port 8080 http-check send meth GET uri / mode tcp balance source hash-type consistent server %Имя_Термит_Брокера_1% %IP_Адрес_Термит_Брокера_1%:8443 check server %Имя_Термит_Брокера_2% %IP_Адрес_Термит_Брокера_2%:8443 check server %Имя_Термит_Брокера_3% %IP_Адрес_Термит_Брокера_3%:8443 check -
Проверьте созданный файл конфигурации с помощью команды ниже. Вывод команды не должен содержать ошибок. Предупреждения (warnings) не являются ошибками.
sudo haproxy -f /etc/haproxy/haproxy.cfg -c -
Перезапустите службу с помощью команды:
sudo systemctl restart haproxy -
Проверьте доступность СТД «Термит» по URL адресу, указанному при установке брокера.
6.5. OpenSUSE
-
Установите ПО HAProxy с помощью команды:
sudo zypper install haproxy -
Запустите службу haproxy с помощью команды:
sudo systemctl enable haproxy --now -
Проверьте статус службы haproxy с помощью команды:
sudo systemctl status haproxyСтатус должен быть «Active».
-
Добавьте в конец файла конфигурации
/etc/haproxy/haproxy.cfgнастройку серверов для балансировки.Пример конфигурации
В примере приведен файл конфигурации с типом балансировки Source IP Hash.
frontend termit mode tcp bind :80 default_backend termit_servers backend termit_servers option httpchk http-check connect port 8080 http-check send meth GET uri / mode tcp balance source hash-type consistent server %Имя_Термит_Брокера_1% %IP_Адрес_Термит_Брокера_1%:80 check server %Имя_Термит_Брокера_2% %IP_Адрес_Термит_Брокера_2%:80 check server %Имя_Термит_Брокера_3% %IP_Адрес_Термит_Брокера_3%:80 check frontend termit_https mode tcp bind :443 default_backend termit_servers_https backend termit_servers_https option httpchk http-check connect port 8080 http-check send meth GET uri / mode tcp balance source hash-type consistent server %Имя_Термит_Брокера_1% %IP_Адрес_Термит_Брокера_1%:443 check server %Имя_Термит_Брокера_2% %IP_Адрес_Термит_Брокера_2%:443 check server %Имя_Термит_Брокера_3% %IP_Адрес_Термит_Брокера_3%:443 check frontend termit_8443_https mode tcp bind :8443 default_backend termit_servers_8443_https backend termit_servers_8443_https option httpchk http-check connect port 8080 http-check send meth GET uri / mode tcp balance source hash-type consistent server %Имя_Термит_Брокера_1% %IP_Адрес_Термит_Брокера_1%:8443 check server %Имя_Термит_Брокера_2% %IP_Адрес_Термит_Брокера_2%:8443 check server %Имя_Термит_Брокера_3% %IP_Адрес_Термит_Брокера_3%:8443 check -
Проверьте созданный файл конфигурации с помощью команды ниже. Вывод команды не должен содержать ошибок. Предупреждения (warnings) не являются ошибками.
sudo haproxy -f /etc/haproxy/haproxy.cfg -c -
Перезапустите службу с помощью команды:
sudo systemctl restart haproxy -
Проверьте статус службы с помощью команды:
sudo systemctl status haproxyСтатус должен быть «Active».
7. Установка брокера
В этом разделе описано, как установить брокер.
7.1. РЕД ОС
Перед установкой брокера выполните шаги 1-2 по установке Docker, Docker Compose или перейдите к шагу 3 (установочный скрипт выполнит шаги 1-2 в тихом режиме):
|
Для использования тихой установки в скрипте необходимы настроенные репозитории. |
-
Чтобы установить Docker, Docker Compose, выполните команду:
sudo dnf install docker-ce docker-ce-cli docker-compose -
Чтобы установленные компоненты добавить в автозагрузку, выполните команду:
sudo systemctl enable docker --now -
Скопируйте дистрибутив на сервер.
-
Распакуйте архив с помощью команды:
unzip termit-2.1.*-*.zip -
При необходимости выдайте права на запуск скрипта с помощью команды:
sudo chmod +x ./install.sh -
Запустите скрипт:
sudo ./install.sh install -
Введите пароль администратора системы (суперпользователь).
-
Укажите имя узла брокера. Имя может быть любым.
-
Появится сообщение:
«What do you want to do? (1/2) 1. Install first node of a new cluster 2. Add a new node to existing cluster Enter 1 or 2»Укажите «1».
-
Введите адрес FQDN брокера (инсталляция Standalone) или балансировщика (инсталляция с несколькими брокерами), например «broker.example.com». Портал будет доступен по этому адресу.
-
Появится сообщение:
Do you want to connect to an existing database or create a new one? (1/2) 1. Connect to an existing database 2. Create new database Enter 1 or 2?-
Если вы хотите подключиться к существующей базе данных (БД), то:
-
Укажите «1».
-
Укажите имя хоста БД, например «db.example.com».
-
Укажите порт «5432».
-
Укажите имя БД, например «example».
-
Укажите имя пользователя БД, например «termit».
-
Введите пароль для БД.
-
-
Если вы хотите создать новую базу данных (БД), то:
-
Укажите «2».
-
Укажите имя хоста БД, например «db.example.com».
-
Укажите порт «5432».
-
Укажите имя новой БД.
-
Укажите имя пользователя БД, например «termit».
-
Введите пароль для БД.
-
-
Установка брокера занимает около двух минут. Во время запуска отображается ключ шифрования БД, который необходимо сохранить. Этот ключ нужен для установки дополнительных брокеров.
Для подтверждения успешной операции в браузере, в адресной строке, введите адрес брокера https://broker.example.com. В появившемся окне аутентификации укажите логин «admin» и пароль «admin» от учетной записи по умолчанию.
|
7.2. Astra Linux
Перед установкой брокера выполните шаги 1-2 по установке Docker, Docker Compose или перейдите к шагу 3 (установочный скрипт выполнит шаги 1-2 в тихом режиме):
|
Для использования тихой установки в скрипте необходимы настроенные репозитории. |
-
Чтобы установить Docker, Docker Compose, выполните команду:
sudo apt install docker.io docker-compose -
Чтобы запустить сервис, выполните команду:
sudo systemctl start docker -
Скопируйте дистрибутив на сервер.
-
Распакуйте архив с помощью команды:
unzip termit-2.1.*-*.zip -
При необходимости выдайте права на запуск скрипта с помощью команды:
sudo chmod +x ./install.sh -
Запустите скрипт:
sudo ./install.sh install -
Введите пароль администратора системы (суперпользователь).
-
Укажите имя узла брокера. Имя может быть любым.
-
Появится сообщение:
«What do you want to do? (1/2) 1. Install first node of a new cluster 2. Add a new node to existing cluster Enter 1 or 2»Укажите «1».
-
Введите адрес FQDN брокера (инсталляция Standalone) или балансировщика (инсталляция с несколькими брокерами), например «broker.example.com». Портал будет доступен по этому адресу.
-
Появится сообщение:
Do you want to connect to an existing database or create a new one? (1/2) 1. Connect to an existing database 2. Create new database Enter 1 or 2?-
Если вы хотите подключиться к существующей базе данных (БД), то:
-
Укажите «1».
-
Укажите имя хоста БД, например «db.example.com».
-
Укажите порт «5432».
-
Укажите имя БД, например «example».
-
Укажите имя пользователя БД, например «termit».
-
Введите пароль для БД.
-
-
Если вы хотите создать новую базу данных (БД), то:
-
Укажите «2».
-
Укажите имя хоста БД, например «db.example.com».
-
Укажите порт «5432».
-
Укажите имя новой БД.
-
Укажите имя пользователя БД, например «termit».
-
Введите пароль для БД.
-
-
Установка брокера занимает около двух минут. Во время запуска отображается ключ шифрования БД, который необходимо сохранить. Этот ключ нужен для установки дополнительных брокеров.
Для подтверждения успешной операции в браузере, в адресной строке, введите адрес брокера https://broker.example.com. В появившемся окне аутентификации укажите логин «admin» и пароль «admin» от учетной записи по умолчанию.
|
7.3. Debian
-
Установите Docker с помощью команды:
sudo apt install docker.io docker-compose -
Добавьте в автозагрузку с помощью команды:
sudo systemctl enable docker --now -
Распакуйте архив с помощью команды:
unzip termit-2.1.*-*.zip -
Запустите установку с помощью команды:
sudo ./install.sh install -
Введите пароль администратора системы (суперпользователь).
-
Укажите имя узла брокера. Имя может быть любым.
-
Появится сообщение:
«What do you want to do? (1/2) 1. Install first node of a new cluster 2. Add a new node to existing cluster Enter 1 or 2»Укажите «1».
-
Введите адрес FQDN брокера (инсталляция Standalone) или балансировщика (инсталляция с несколькими брокерами), например «broker.example.com». Портал будет доступен по этому адресу.
-
Появится сообщение:
Do you want to connect to an existing database or create a new one? (1/2) 1. Connect to an existing database 2. Create new database Enter 1 or 2?-
Если вы хотите подключиться к существующей базе данных (БД), то:
-
Укажите «1».
-
Укажите имя хоста БД, например «db.example.com».
-
Укажите порт «5432».
-
Укажите имя БД, например «example».
-
Укажите имя пользователя БД, например «termit».
-
Введите пароль для БД.
-
-
Если вы хотите создать новую базу данных (БД), то:
-
Укажите «2».
-
Укажите имя хоста БД, например «db.example.com».
-
Укажите порт «5432».
-
Укажите имя новой БД.
-
Укажите имя пользователя БД, например «termit».
-
Введите пароль для БД.
-
-
Установка брокера занимает около двух минут. Во время запуска отображается ключ шифрования БД, который необходимо сохранить. Этот ключ нужен для установки дополнительных брокеров.
Для подтверждения успешной операции в браузере, в адресной строке, введите адрес брокера https://broker.example.com. В появившемся окне аутентификации укажите логин «admin» и пароль «admin» от учетной записи по умолчанию.
7.4. ALT Linux
Чтобы установить брокер:
-
Установите компоненты Docker с помощью команды:
sudo apt-get install docker-ce docker-compose
-
Запустите и добавьте службу docker в автозагрузку с помощью команды:
sudo systemctl enable docker --now -
Распакуйте архив Термит с помощью команды:
unzip ./termit-2.1*.*-*.zip -
Установите Термит командой ниже из директории с дистрибутивом:
sudo ./install.sh install -
Введите пароль администратора системы (суперпользователь).
-
Укажите имя узла брокера. Имя может быть любым.
-
Появится сообщение:
«What do you want to do? (1/2) 1. Install first node of a new cluster 2. Add a new node to existing cluster Enter 1 or 2»Укажите «1».
-
Введите адрес FQDN брокера (инсталляция Standalone) или балансировщика (инсталляция с несколькими брокерами), например «broker.example.com». Портал будет доступен по этому адресу.
-
Появится сообщение:
Do you want to connect to an existing database or create a new one? (1/2) 1. Connect to an existing database 2. Create new database Enter 1 or 2?-
Если вы хотите подключиться к существующей базе данных (БД), то:
-
Укажите «1».
-
Укажите имя хоста БД, например «db.example.com».
-
Укажите порт «5432».
-
Укажите имя БД, например «example».
-
Укажите имя пользователя БД, например «termit».
-
Введите пароль для БД.
-
-
Если вы хотите создать новую базу данных (БД), то:
-
Укажите «2».
-
Укажите имя хоста БД, например «db.example.com».
-
Укажите порт «5432».
-
Укажите имя новой БД.
-
Укажите имя пользователя БД, например «termit».
-
Введите пароль для БД.
-
-
Установка брокера занимает около двух минут. Во время запуска отображается ключ шифрования БД, который необходимо сохранить. Этот ключ нужен для установки дополнительных брокеров.
Для подтверждения успешной операции в браузере, в адресной строке, введите адрес брокера https://broker.example.com. В появившемся окне аутентификации укажите логин «admin» и пароль «admin» от учетной записи по умолчанию.
|
7.5. OpenSUSE
-
Установите компоненты Docker с помощью команды:
sudo zypper install docker docker-compose docker-compose-switch -
Запустите службу с помощью команды:
sudo systemctl enable docker --now -
Скопируйте дистрибутив на сервер.
-
Распакуйте архив Термит с помощью команды:
unzip ./termit-2.1*.*-*.zip -
При необходимости выдайте права на запуск скрипта с помощью команды:
sudo chmod +x ./install.sh -
Запустите скрипт:
sudo ./install.sh install -
Введите пароль администратора системы (суперпользователь).
-
Укажите имя узла брокера. Имя может быть любым.
-
Появится сообщение:
«What do you want to do? (1/2) 1. Install first node of a new cluster 2. Add a new node to existing cluster Enter 1 or 2»Укажите «1».
-
Введите адрес FQDN брокера (инсталляция Standalone) или балансировщика (инсталляция с несколькими брокерами), например «broker.example.com». Портал будет доступен по этому адресу.
-
Появится сообщение:
Do you want to connect to an existing database or create a new one? (1/2) 1. Connect to an existing database 2. Create new database Enter 1 or 2?-
Если вы хотите подключиться к существующей базе данных (БД), то:
-
Укажите «1».
-
Укажите имя хоста БД, например «db.example.com».
-
Укажите порт «5432».
-
Укажите имя БД, например «example».
-
Укажите имя пользователя БД, например «termit».
-
Введите пароль для БД.
-
-
Если вы хотите создать новую базу данных (БД), то:
-
Укажите «2».
-
Укажите имя хоста БД, например «db.example.com».
-
Укажите порт «5432».
-
Укажите имя новой БД.
-
Укажите имя пользователя БД, например «termit».
-
Введите пароль для БД.
-
-
Установка брокера занимает около двух минут. Во время запуска отображается ключ шифрования БД, который необходимо сохранить. Этот ключ нужен для установки дополнительных брокеров.
Для подтверждения успешной операции в браузере, в адресной строке, введите адрес брокера https://broker.example.com. В появившемся окне аутентификации укажите логин «admin» и пароль «admin» от учетной записи по умолчанию.
|
8. Установка дополнительного брокера
В этом разделе описано, как установить второй и следующий брокеры.
Перед добавлением брокеров скопируйте дистрибутив на сервер, распакуйте архив и подготовьте ключ шифрования. Рекомендуется создать три брокера для повышения отказоустойчивости.
8.1. РЕД ОС
Перед установкой дополнительного брокера выполните шаги 1-2 по установке Docker, Docker Compose или перейдите к шагу 3 (установочный скрипт выполнит шаги 1-2 в тихом режиме):
|
Для использования тихой установки в скрипте необходимы настроенные репозитории. |
-
Чтобы установить Docker, Docker Compose, выполните команду:
sudo dnf install docker-ce docker-ce-cli docker-compose -
Чтобы установленные компоненты добавить в автозагрузку, выполните команду:
sudo systemctl enable docker --now -
При необходимости выдайте права на запуск скрипта с помощью команды:
sudo chmod +x ./install.sh -
Запустите скрипт:
sudo ./install.sh install -
Введите пароль администратора системы.
-
Укажите имя узла брокера. Имя может быть любым.
-
Появится сообщение:
«What do you want to do? (1/2) 1. Install first node of new cluster 2. Add new node to existing cluster Enter 1 or 2»Укажите «2».
-
Укажите имя хоста базы данных (БД), например «db.example.com».
-
Укажите порт «5432».
-
Укажите имя БД, например «example».
-
Укажите имя пользователя БД, например «termit».
-
Введите пароль для БД.
-
Вставьте скопированный ключ шифрования.
-
Введите адрес, выбранный на шаге 7, и проверьте статус брокера в меню после аутентификации.
Установка брокера занимает около двух минут. Для подтверждения успешной операции перейдите на портал администрирования и проверьте, что в разделе Брокеры брокер появился в списке со статусом «Работает».
8.2. Astra Linux
Перед установкой дополнительного брокера выполните шаги 1-2 по установке Docker, Docker Compose или перейдите к шагу 3 (установочный скрипт выполнит шаги 1-2 в тихом режиме):
|
Для использования тихой установки в скрипте необходимы настроенные репозитории. |
-
Чтобы установить Docker, Docker Compose, выполните команду:
sudo apt install docker.io docker-compose -
Чтобы запустить сервис, выполните команду:
sudo systemctl start docker -
При необходимости выдайте права на запуск скрипта с помощью команды:
sudo chmod +x ./install.sh -
Запустите скрипт:
sudo ./install.sh install -
Введите пароль администратора системы.
-
Укажите имя узла брокера. Имя может быть любым.
-
Появится сообщение:
«What do you want to do? (1/2) 1. Install first node of new cluster 2. Add new node to existing cluster Enter 1 or 2»Укажите «2».
-
Укажите имя хоста базы данных (БД), например «db.example.com».
-
Укажите порт «5432».
-
Укажите имя БД, например «example».
-
Укажите имя пользователя БД, например «termit».
-
Введите пароль для БД.
-
Вставьте скопированный ключ шифрования.
-
Введите адрес, выбранный на шаге 7, и проверьте статус брокера в меню после аутентификации.
Установка брокера занимает около двух минут. Для подтверждения успешной операции перейдите на портал администрирования и проверьте, что в разделе Брокеры брокер появился в списке со статусом «Работает».
8.3. Debian
-
Установите Docker с помощью команды:
sudo apt install docker.io docker-compose -
Добавьте в автозагрузку с помощью команды:
sudo systemctl enable docker --now -
При необходимости выдайте права на запуск скрипта с помощью команды:
sudo chmod +x ./install.sh -
Запустите скрипт:
sudo ./install.sh install -
Введите пароль администратора системы.
-
Укажите имя узла брокера. Имя может быть любым.
-
Появится сообщение:
«What do you want to do? (1/2) 1. Install first node of new cluster 2. Add new node to existing cluster Enter 1 or 2»Укажите «2».
-
Укажите имя хоста базы данных (БД), например «db.example.com».
-
Укажите порт «5432».
-
Укажите имя БД, например «example».
-
Укажите имя пользователя БД, например «termit».
-
Введите пароль для БД.
-
Вставьте скопированный ключ шифрования.
-
Введите адрес, выбранный на шаге 7, и проверьте статус брокера в меню после аутентификации.
Установка брокера занимает около двух минут. Для подтверждения успешной операции перейдите на портал администрирования и проверьте, что в разделе Брокеры брокер появился в списке со статусом «Работает».
8.4. ALT Linux
-
Установите компоненты Docker с помощью команды:
sudo apt-get install docker-ce docker-compose -
Запустите и добавьте службу docker в автозагрузку с помощью команды:
sudo systemctl enable docker --now -
При необходимости выдайте права на запуск скрипта с помощью команды:
sudo chmod +x ./install.sh -
Запустите скрипт:
sudo ./install.sh install -
Введите пароль администратора системы.
-
Укажите имя узла брокера. Имя может быть любым.
-
Появится сообщение:
«What do you want to do? (1/2) 1. Install first node of new cluster 2. Add new node to existing cluster Enter 1 or 2»Укажите «2».
-
Укажите имя хоста базы данных (БД), например «db.example.com».
-
Укажите порт «5432».
-
Укажите имя БД, например «example».
-
Укажите имя пользователя БД, например «termit».
-
Введите пароль для БД.
-
Вставьте скопированный ключ шифрования.
-
Введите адрес, выбранный на шаге 7, и проверьте статус брокера в меню после аутентификации.
Установка брокера занимает около двух минут. Для подтверждения успешной операции перейдите на портал администрирования и проверьте, что в разделе Брокеры брокер появился в списке со статусом «Работает».
8.5. OpenSUSE
-
Установите компоненты Docker с помощью команды:
sudo zypper install docker docker-compose docker-compose-switch -
Запустите службу с помощью команды:
sudo systemctl enable docker --now -
При необходимости выдайте права на запуск скрипта с помощью команды:
sudo chmod +x ./install.sh -
Запустите скрипт:
sudo ./install.sh install -
Введите пароль администратора системы.
-
Укажите имя узла брокера. Имя может быть любым.
-
Появится сообщение:
«What do you want to do? (1/2) 1. Install first node of new cluster 2. Add new node to existing cluster Enter 1 or 2»Укажите «2».
-
Укажите имя хоста базы данных (БД), например «db.example.com».
-
Укажите порт «5432».
-
Укажите имя БД, например «example».
-
Укажите имя пользователя БД, например «termit».
-
Введите пароль для БД.
-
Вставьте скопированный ключ шифрования.
-
Введите адрес, выбранный на шаге 7, и проверьте статус брокера в меню после аутентификации.
Установка брокера занимает около двух минут. Для подтверждения успешной операции перейдите на портал администрирования и проверьте, что в разделе Брокеры брокер появился в списке со статусом «Работает».
9. Установка ПО на терминальный сервер
|
Перед установкой агента на терминальный сервер необходимо установить ПО на терминальный сервер. |
9.1. РЕД ОС
-
В файле конфигурации
sshd (/etc/ssh/sshd_config), в параметреX11Forwarding, укажите значение «yes». -
Чтобы установить Java 11 на терминальный сервер, выполните команду:
sudo dnf install java-11-openjdk -
Чтобы изменить версию Java, используемую по умолчанию, выполните команду:
sudo alternatives --config javaИ выберите пункт меню, соответствующий Java 11.
-
Чтобы установить X2Go server на терминальный сервер, выполните команду:
sudo dnf install x2goserver-xsession x2goserver-fmbindings x2goserver-common x2goserver x2goagent -y -
Установите агент, используя скрипт, полученный при создании сервера.
9.2. Astra Linux
-
В файле конфигурации
sshd (/etc/ssh/sshd_config), в параметреX11Forwarding, укажите значение «yes». -
В файле конфигурации
/etc/systemd/logind.conf, в параметреKillUserProcessesзадайте значениеnoдля корректной работы переподключения сессии и перезагрузите терминальный сервер.
-
Установите компоненты OpenJDK с помощью команды:
sudo apt install openjdk-11-jdkПодробнее об установке OpenJDK можно прочесть на официальном сайте Astra Linux.
-
В случае если ранее были установлены другие версии OpenJDK, выполните дополнительную конфигурацию, выбрав установленную 11 версию с помощью команды:
sudo update-alternatives --config java -
Установите компоненты X2Go сервера с помощью команды:
sudo apt install x2goserver-xsession x2goserver-fmbindings x2goserver-common x2goserver-x2goagent -
Установите агент, используя скрипт, полученный при создании сервера.
-
Установите пакет
xprintidleиз репозитория Debian:-
Чтобы добавить репозиторий Debian 10 (замените «buster» на кодовое имя версии Debian, которую вы хотите использовать) и автоматического создания файла
debian.list, выполните команду:echo "deb http://deb.debian.org/debian buster main" | sudo tee -a /etc/apt/sources.list.d/debian.listЭта команда создаст файл
debian.listв директории/etc/apt/sources.list.d/, если ранее он не был создан, и добавит указанную строку в файл.
-
-
Чтобы добавить отсутствующие GPG-ключи для репозиториев Debian, выполните команду:
sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 648ACFD622F3D138 0E98404D386FA1D9 DCC9EFBF77E11517 -
Обновите список пакетов с помощью команды:
sudo apt update -
Установите xprintidle с помощью apt:
sudo apt install xprintidleПри возникновении затруднений с зависимостями попробуйте разрешить их вручную.
-
При необходимости удалите репозиторий Debian. Это поможет избежать конфликтов в будущем:
sudo rm /etc/apt/sources.list.d/debian.list sudo apt update
9.3. Debian
-
В файле конфигурации
sshd (/etc/ssh/sshd_config), в параметреX11Forwarding, укажите значение «yes». -
Установите компоненты OpenJDK с помощью команды:
sudo apt install openjdk-17-jdk -
В случае если ранее были установлены другие версии OpenJDK, выполните дополнительную конфигурацию, выбрав установленную 17 версию с помощью команды:
sudo update-alternatives --config java -
Установите компоненты X2Go сервера с помощью команды:
sudo apt install x2goserver-xsession x2goserver-fmbindings x2goserver-common x2goserver-x2goagent -
Установите агент, используя скрипт, полученный при создании сервера.
-
Установите пакет
xprintidleиз репозитория Debian:-
Чтобы добавить репозиторий Debian 10 (замените «buster» на кодовое имя версии Debian, которую вы хотите использовать) и автоматического создания файла
debian.list, выполните команду:echo "deb http://deb.debian.org/debian buster main" | sudo tee -a /etc/apt/sources.list.d/debian.listЭта команда создаст файл
debian.listв директории/etc/apt/sources.list.d/, если ранее он не был создан, и добавит указанную строку в файл.
-
-
Чтобы добавить отсутствующие GPG-ключи для репозиториев Debian, выполните команду:
sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 648ACFD622F3D138 0E98404D386FA1D9 DCC9EFBF77E11517 -
Обновите список пакетов с помощью команды:
sudo apt update -
Установите xprintidle с помощью apt:
sudo apt install xprintidleПри возникновении затруднений с зависимостями попробуйте разрешить их вручную.
-
При необходимости удалите репозиторий Debian. Это поможет избежать конфликтов в будущем:
sudo rm /etc/apt/sources.list.d/debian.list sudo apt update
9.4. ALT Linux
-
В файле конфигурации
sshd (/etc/openssh/sshd_config), в параметреX11Forwarding, укажите значение «yes». -
В файле конфигурации
/etc/systemd/logind.conf, в параметреKillUserProcessesзадайте значениеnoдля корректной работы переподключения сессии и перезагрузите терминальный сервер. -
Установите компоненты Java с помощью команды:
sudo apt-get install java-11-openjdk -
Установите компоненты X2Go сервера с помощью команды:
sudo apt-get install x2goserver-xsession x2goserver-fmbindings x2goserver-x2goagent -
Добавьте X2Go в автозапуск с помощью команды:
sudo systemctl enable x2goserver --now -
Установите пакет
xprintidleс помощью команды:sudo apt-get install xprintidle -
Установите агент, используя скрипт, полученный при создании сервера.
9.5. Windows
Ниже описано, как добавить роль, изменить политики, установить OpenJDK 11 и агент на терминальный сервер.
|
Для Windows Server 2012R2 и Windows Server 2016 (редакции ниже 1803) необходимо:
|
-
Активируйте роль «Remote Desktop Session Host» («Узел сеансов удаленных рабочих столов»):
-
Откройте .
-
В правом верхнем углу нажмите Управление.
-
Выберите Добавить роли и компоненты.
-
Нажмите Далее.
-
На вкладке Тип установки оставьте по умолчанию опцию Установка ролей и компонентов.
-
Нажмите Далее.
-
На вкладке Выбор сервера оставьте по умолчанию Выберите сервер из пула серверов.
-
Нажмите Далее.
-
На вкладке Роли сервера активируйте опцию Службы удаленных рабочих столов.
-
Нажмите .
-
На вкладке Службы ролей активируйте опцию Remote Desktop Session Host (Узел сеансов удаленных рабочих столов) и нажмите Добавить компоненты.
-
Нажмите .
После установки и добавления роли перезагрузите ВМ.
-
-
Включите политику «Разрешить удаленный запуск любых программ» и выключите политику «Ограничить пользователей служб удаленных рабочих столов одним сеансов служб удаленных рабочих столов»:
-
Откройте консоль MMC.
-
В левом верхнем углу нажмите Файл и выберите Добавить или удалить оснастку.
-
В доступных оснастках выберите Редактор объектов групповой политики.
-
В параметре Объект групповой политики оставьте по умолчанию Локальный компьютер.
Параметры ниже могут быть настроены с использованием групповой политики или локальной.
-
Нажмите .
-
Раскройте Политика «Локальный компьютер».
-
Раскройте .
-
Выберите .
-
Нажмите два раза левой кнопкой мыши на политику «Разрешить удаленный запуск любых программ».
-
Активируйте опцию Включено и нажмите ОК.
-
Нажмите два раза левой кнопкой мыши на политику «Ограничить пользователей служб удаленных рабочих столов одним сеансов служб удаленных рабочих столов».
-
Активируйте опцию Отключено и нажмите ОК.
-
Откройте
cmd.exeи примените политики с помощью командыgpupdate /forceили перезагрузите сервер.После успешной операции в выводе команды появится сообщение «Computer Policy update has completed successfully».
-
-
Настройте разрешение на подключение пользователей по RDP:
-
Удобным способом откройте Управление компьютером.
-
Выберите Локальные пользователи и группы.
-
Выберите .
-
Двойным кликом мыши нажмите на Пользователи удаленного рабочего стола.
-
Нажмите Добавить.
-
В поле Введите имена выбираемых объектов (примеры): введите Пользователи домена.
-
Нажмите .
-
-
Загрузите OpenJDK 11 и выполните шаги по установке. На шаге Custom Setup включите установку переменной окружения JAVA_HOME:
-
Установите агент, используя скрипт, полученный при создании сервера.
10. Установка шлюза удаленного доступа
В этом разделе описано, как установить шлюз удаленного доступа для аутентификации по LDAP.
-
Установите компонент
openssh-server:РЕД ОС
sudo dnf install openssh-serverAstra Linux
sudo apt install openssh-serverDebian
sudo apt install openssh-serverOpenSUSE
sudo zypper install openssh-serverALT Linux
sudo apt-get install openssh-server -
Настройте шлюз удаленного доступа через ввод в домен. Подробнее о вводе в домен смотрите в статье на сайтах:
11. Установка клиента
Чтобы установить клиент:
-
В браузере, в адресной строке введите адрес, по которому доступна СТД «Термит», например https://broker.example.com.
-
Введите имя пользователя и пароль.
Пользователь входит под доменной учетной записью. Атрибут для имени пользователя —
samAccountName.
Windows
-
В левом меню выберите раздел Скачать клиент.
-
Скачайте Термит клиент для Windows 7/8.1 или Термит клиент для Windows 10/11 и установите его.
Также можно установить клиент в «тихом» режиме. Информация о ходе выполнения отображаться не будет. Для установки в таком режиме добавьте параметр /S: «C:%путь до exe файла%\termit-desktop-2.1.*.exe» /S.
MacOS
-
Скачайте Термит клиент для Mac OS и выполните шаги по установке.
-
Скачайте Клиент X2Go для Mac OS, соответствующий вашей ОС, и выполните шаги по установке.
-
Скачайте XQuartz и выполните шаги по установке.
-
Скачайте и установите приложение Microsoft Remote Desktop из App Store или с сайта macadmins.software, нажав на значок напротив «Remote Desktop Standalone Installer».
При подключении к сессии на терминальном сервере Windows будет открыто приложение Microsoft Remote Desktop и окно для ввода пароля. После ввода пароля запустится сессия. Во время сессии завершать работу приложения Microsoft Remote Desktop нельзя, так как это приведет к отключению от сессии.
| Перед запуском клиента в настройках необходимо разрешить использование СТД «Термит». Для этого выберите в меню , затем в боковом меню нажмите Конфиденциальность и безопасность, прокрутите вниз до параметра Разрешить использование приложений, загруженных из: и выберите App Store и от подтвержденных разработчиков. |
Linux
- Astra Linux
-
-
Скачайте Термит клиент для Linux deb.
-
Установите FreeRDP:
-
Измените параметры файла
sourcesс помощью команды:sudo mcedit /etc/apt/sources.list -
Укажите пароль.
-
Измените параметры файла
sourcesи сохраните.В большинстве дистрибутивов Astra Linux исходный файл sources.listсодержит только репозиторий на CD/DVD для установки с диска. Для использования дополнительных репозиториев Astra Linux добавьте ресурсы с официального сайта Astra Linux в файлsources.list.
-
Обновите репозиторий с помощью команды:
sudo apt update -
Установите FreeRDP:
sudo apt install freerdp2-x11 -
Установите клиент Термит:
sudo apt install ./termit-desktop-2.1.*-amd64.debГде:
./termit-desktop-2.1.*-amd64.deb— название файла.
-
-
- РЕД ОС
-
-
Скачайте Термит клиент для Linux rpm и выполните шаги по установке.
-
Установите FreeRDP:
-
Обновите репозиторий с помощью команды:
sudo dnf update -
Установите FreeRDP:
sudo dnf install freerdp-krb -
Установите клиент Термит:
sudo dnf install ./termit-desktop-2.1.*-amd64.rpmГде:
./termit-desktop-2.1.*-amd64.rpm— название файла.
-
-
- ALT Linux
-
-
Скачайте Термит клиент для Linux rpm.
-
Установите FreeRDP:
-
Обновите репозиторий с помощью команды:
sudo apt-get update -
Установите FreeRDP:
sudo apt-get install freerdp -
Установите клиент Термит:
sudo apt-get install ./termit-desktop-2.1.*-amd64.rpm -
Для корректного запуска клиента Термит установите бит setuid:
sudo chmod 4755 /opt/Термит/chrome-sandbox
-
-
12. Установка сертификата на клиент
Для успешного подключения к СТД «Термит» необходимо, чтобы используемый SSL-сертификат был добавлен в список доверенных на клиенте.
12.1. РЕД ОС
-
Скопируйте файл корневого сертификата в каталог
/etc/pki/ca-trust/source/anchors/с помощью команды:sudo cp %Путь_к_сертификату% /etc/pki/ca-trust/source/anchors/Где: %Путь_к_сертификату% — полный путь к файлу сертификата в формате
PEM. -
Чтобы применить изменения, выполните команды:
sudo update-ca-trust force-enable sudo update-ca-trust extract -
Перезапустите браузер и проверьте доверие сертификату, открыв адрес брокера Термит.
12.2. Astra Linux
|
Сертификат должен быть в формате |
Если формат сертификата отличается, необходимо выполнить его конвертацию используя утилиту openssl, например:
-
Если сертификат имеет кодировку
DER:openssl x509 -inform DER -in %Исходный_Сертификат% -out %Конечный_Сертификат% -
Если исходный сертификат имеет кодировку PEM:
openssl x509 -inform PEM -in %Исходный_Сертификат% -out %Конечный_Сертификат%Где:
-
%Исходный_Сертификат% — путь к исходному сертификату «certificate.cer».
-
%Конечный_Сертификат% — путь к конечному сертификату, например «certificate.crt».
-
Скопируйте полученные выше сертификаты в каталог
/usr/local/share/ca-certificatesс помощью команды:sudo cp %Путь_к_сертификату% /usr/local/share/ca-certificatesГде: %Путь_к_сертификату% — полный путь к файлу сертификата.
-
Чтобы применить изменения, выполните команду:
sudo update-ca-certificates -
Перезапустите браузер и проверьте доверие сертификату, открыв адрес брокера Термит.
-
-
|
Для систем Linux иногда необходима дополнительная ручная конфигурация хранилищ браузеров Firefox и Chrome\Chromium:
|
12.3. ALT Linux
Подробнее об установке сертификата можно прочесть на официальном сайте
-
Скопируйте корневой сертификат в хранилище сертификатов с помощью команды ниже. Сертификат должен быть в формате
.CRT.sudo cp %путь_к_сертификату% /etc/pki/ca-trust/source/anchors/ -
Обновите сертификаты с помощью команды:
sudo update-ca-trust
12.4. Windows
-
Запустите сертификат двойным нажатием на него и выберите опцию Установить сертификат.
-
Выберите опцию Текущий пользователь:
При работе с правами администратора установка возможна в хранилище сертификатов компьютера (для всех пользователей).
-
Выберите опцию Поместить все сертификаты в следующие хранилище, нажмите Обзор и выберите Доверенные корневые центры сертификации.
При наличии промежуточного центра сертификации повторите шаги выше, выбрав хранилище Промежуточные центры сертификации на шаге 3.
-
Перезапустите браузер и проверьте доверие сертификату, открыв адрес брокера Термит.
13. Деинсталляция компонентов
Деинсталляция компонентов СТД «Термит» включает в себя удаление:
-
брокера;
-
агента;
-
клиента.
|
При необходимости удалите XQuartz и X2Go клиенты на MacOS. |
13.1. Удаление брокера
Чтобы удалить брокер терминального сервера:
-
Перейдите в каталог, куда был распакован дистрибутив.
-
Запустите скрипт с параметром
uninstall:sudo ./install.sh uninstall
|
При деинсталляции брокера база данных удаляется вручную. Повторное использование базы данных для новой инсталляции невозможно. |
13.2. Удаление агента
13.3. Удаление клиента
13.3.4. MacOS
Чтобы удалить клиент:
-
Откройте Finder.
-
В боковом меню Finder нажмите Программы.
-
Удалите клиент.
13.3.5. Windows
Чтобы удалить клиент:
-
Введите Панель управления в поле поиска на панели задач, а затем в списке результатов выберите Панель управления.
-
Перейдите в .
-
Удалите клиент.
Также можно удалить клиент в «тихом» режиме. Информация о ходе выполнения отображаться не будет. Для удаления в таком режиме добавьте параметр /S: «C:\Program Files\termit-desktop\Uninstall Термит.exe» /S.