Описание операций
Настройка сервера как контролер домена
Для создания контроллера домена необходима виртуальная машина с Windows Server 2019 или 2016.
- Нужно прописать сетевые настройки на сервере: ip, маску, шлюз, в dns указываем свой ip, так как на сервере будет использоваться роль dns server, она устанавливается вместе с ролью active directory domain services;
- Откройте Диспетчер серверов, и выберите пункт
«Add roles and features»:
- Укажите Role-based or feature-based installation в качестве типа установки;
- Выберете ваш сервер из пула
- Добавьте роль Active Directory Domain Services (Доменные службы Active Directory);
- Добавьте компоненты;
- Установите все отмеченные компоненты с помощью кнопки
«Установить»; - После установки нажимаем кнопку
«Закрыть»; - Откройте Диспетчер серверов и перейдите в роль
AD DS:
- В меню нажмите на восклицательный знак (уведомления) и выберете
Promote this server to a domain controller(Повысить роль этого сервера до уровня контроллера); - В появившемся окне настроек выберите «Добавить новый лес» (т.к. действия выполняются впервые) и введите ваше доменное имя;
- Если домен новый (как в нашем случае) и в дальнейшем планируется использовать операционные системы не ниже Windows Server 2016, то режим работы леса и режим работы домена не меняем. Проверяем что установлена галочка на DNS-сервер;
- Установите пароль для режима восстановления службы каталогов и нажмите кнопку
«Далее»; - В Параметрах DNS ничего не меняем и нажимаем кнопку
«Далее»; - Укажите удобное имя домена NetBIOS. Рекомендуется оставить значения по умолчанию;
- Укажите пути до базы данных
AD DS, файлов журналов и папкиSYSVOL. Рекомендуется оставить значения по умолчанию; - Проверьте настроенные параметры;
- Проверка предварительных требований сообщит все ли условия соблюдены и выведет отчет. Если проблем никаких не возникло, то мы сможем нажать кнопку
«Установить»; - После выполнения процесса повышения роли сервера до контроллера домена, сервер автоматически перезагрузится.
Настройка Keycloak
- Войдите в Keycloak под технической учетной записью;
- Нажмите на кнопку
«Create realm»:
- Перейдите в раздел меню
User Federationи нажмите кнопкуAdd new provider > LDAP:
- На вкладке
Settingsзаполните поля согласно настройкам вашего AD: Connection URL, Bind ON, Bind credentials:
Для проверки соединения нажмите Test authentication:
- Сохраните настройки с помощью кнопки
«Сохранить»; - Перейдите на вкладку
Mappers, затемAdd mapper:
- Заполните данные согласно рисунку:
- Создайте маппер групп:
Add mapper:
- Сохраните настройки с помощью кнопки
«Сохранить»; - Перейдите в раздел меню
Clientsи создайте клиент для подсистемыRecsystemсогласно картинке:
- На вкладке
Access settingsнастройте клиент как на картинке:
- На вкладке
Advanced settingsнастройте клиент как на картинке:
- Перейдите на вкладку
Service accounts rolesи нажмитеAssign role: - Выберите группы как на картинке:
- Выполните синхронизацию групп:
Установка Docker
- Выполните обновление пакетов:
sudo apt-get update
- Установите вспомогательные пакеты с помощью команды:
apt-get install ca-certificates curl gnupg lsb-release
- Подключите репозиторий с Docker:
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
- Выполните обновление пакетов:
sudo apt-get update
- Установите Docker:
sudo apt-get install docker-ce docker-ce-cli containerd.io
Установка программного комплекса Semantic TextNavigator
Монтирование сетевых папок для модулей STN
Примечание: Этот шаг нужен только если модулям stn-archive/stn-constructor нужно брать или сохранять файлы на сетевой Windows-папке (SMB); если всё хранится локально на сервере, шаг можно пропустить.
- Создайте/проверьте сервисную учётную запись с правами на сетевые папки;
- Создайте файл с учётными данными:
sudo nano /root/.smb_vmuser
Содержимое файла:
username=svc-mountuser
password=UserPassword
- Добавьте точку монтирования в
/etc/fstab(пример):
sudo nano /etc/fstab
Пример строки:
//st-dc01/MSK/STNConstructorFileStorage /mnt/STNConstructorFileStorage cifs credentials=/root/.smb_vmuser,rw,nosharesock,vers=2.0,soft,noperm 0 0
- Примените монтирование папки:
sudo mount -a
- Проверьте доступ к папке:
ls -la /mnt/STNConstructorFileStorage
Копирование дистрибутива STN
- Скопируйте архив
stn-common.zipна целевую машину в/opt(sftp/samba— наиболее удобным способом); - Если
unzipотсутствует, его можно установить следующей командой:
sudo apt install -y unzip
- Распакуйте архив:
sudo unzip /opt/stn-common.zip -d /opt/
После распаковки дистрибутива проверьте, что в каталоге /opt/stn-common/ присутствуют основные файлы и папки:
-
/opt/stn-common/Modules/
-
/opt/stn-common/.env
-
/opt/stn-common/install_stn.sh
-
/opt/stn-common/stn-compose.yml
-
/opt/stn-common/stn-dbtools
Подготовка STN к установке
- Отредактируйте файл окружения:
sudo nano /opt/stn-common/.env
- Выдайте права на выполнение команд:
sudo chmod +x /opt/stn-common/install_stn.sh
sudo chmod +x /opt/stn-common/stn-dbtools
Запуск установки STN
- Запустите установку командой:
cd /opt/stn-common/
sudo ./install_stn.sh
Сборка и запуск docker-compose (если требуется вручную)
Если установка с помощью ./install_stn.sh не работает автоматически, можно запустить вручную stn-compose.yml:
- Перейдите в каталог:
cd /opt/stn-common/
- Запустите docker-compose вручную:
sudo docker compose -f stn-compose.yml up -d
- Проверьте состояние контейнеров:
sudo docker compose -f stn-compose.yml ps
Настройка кластеризации компонентов
Настройка кластеризации поисковых компонентов AIS осуществляется в соответствии с Content AI Intelligent Search - Руководство по установке. Для настройки кластеризации остальных компонентов Системы используется HAProxy по протоколу TCP. Для настройки:
- Откройте конфигурационный файл HAProxy. Обычно он находится в /etc/haproxy/haproxy.cfg на Linux;
- Настройте глобальные параметры:
global
log /dev/log local0
log /dev/log local1 notice
chroot /var/lib/haproxy
stats socket /run/haproxy/admin.sock mode 660 level admin expose-fd listeners
stats timeout 30s
user haproxy
group haproxy
daemon
- Настройте параметры по умолчанию:
defaults
log global
mode tcp
option tcplog
option dontlognull
timeout connect 5000ms
timeout client 50000ms
timeout server 50000ms
maxconn 2048
- Настройте фронтенд и проксибек для балансировки TCP трафика:
frontend my_frontend
bind :N – порт для прослушивания
default_backend my_backend
backend my_backend
balance leastconn
mode tcp
server server1 192.168.1.101:5000 check – Адрес сервера 1
server server2 192.168.1.102:5000 check – Адрес сервера 2
server server3 192.168.1.103:5000 check – Адрес сервера 3
frontend proxyback
bind : N – порт для прослушивания
default_backend my_backend
backend proxyback_backend
balance leastconn
mode tcp
server server1 192.168.1.101:5000 check – Адрес сервера 1
server server2 192.168.1.102:5000 check – Адрес сервера 2
server server3 192.168.1.103:5000 check – Адрес сервера 3
frontend logrel
bind : N – порт для прослушивания
default_backend logrel_backend
backend logrel_backend
balance leastconn
mode tcp
server logrel_server1 192.168.1.101:5000 check – Адрес сервера 1
server logrel_server2 192.168.1.102:5000 check – Адрес сервера 2
server logrel _server3 192.168.1.103:5000 check – Адрес сервера 3
frontend assistant
bind : N – порт для прослушивания
default_backend logrel_backend
backend assistant_backend
balance leastconn
mode tcp
server assistant _server1 192.168.1.101:5000 check – Адрес сервера 1
server assistant_logrel_server2 192.168.1.102:5000 check – Адрес сервера 2
server assistant _server3 192.168.1.103:5000 check – Адрес сервера 3
frontend reksystem
bind : N – порт для прослушивания
default_backend logrel_backend
backend reksystem_backend
balance roundrobin
option tcp-check
server reksystem_server1 192.168.1.107:8000 check
server reksystem_server2 192.168.1.108:8000 check
server reksystem_server3 192.168.1.109:8000 check
- Сохраните и закройте конфигурационный файл;
- Перезапустите HAProxy для применения изменений:
sudo systemctl restart haproxy