Содержание
0. Схема
0.1. Описание
Сервис поиска отвечает за обработку индексации файлов, писем, контактов пользователей и поиск по ним. Вынос его требуется для снижения нагрузки на сервер, т.к. поиск и индексация потребляет много ресурсов.
Также возможно увеличить количество сервисов Search, что даёт нам отказоустойчивость в виде нескольких серверов одного сервиса, работающих параллельно.
1. Выполните установку Корпоративного портала 2024
При включенной службе firewalld необходимо выполнить настройку для http и https.
# Добавляем службы: sudo firewall-cmd --permanent --zone=public --add-service=http sudo firewall-cmd --permanent --zone=public --add-service=https # Перезапускаем службу firewalld: sudo firewall-cmd --reload # Проверяем правила для зоны public: sudo firewall-cmd --zone=public --list-all
Установить согласно инструкции.
1.1. Выполните архивацию необходимых файлов и директорий
tar czvf search.tar.gz --selinux /opt/r7-office/SearchApi /var/log/r7-office/CDDisk/SearchApi /var/log/r7-office/CDDisk/Bsa.Search.Api.Host /etc/supervisor /var/r7-office/searchindex
1.1.1. Перенесите удобным Вам способом на ВМ с ролью Поиск
Например, через scp:
scp search.tar.gz ipВМпоиска:/root/
1.2. Узнайте uid и gid пользователя cddisk
id cddisk
Вывод:
id cddisk uid=120(cddisk) gid=132(cddisk) группы=132(cddisk)
1.3. Удалите конфигурационный файл
rm /etc/supervisor/conf.d/cddisk-searchapi.conf
1.3.1. Отредактируйте файл
vi /etc/supervisor/conf.d/cddisk.conf
Приведите к виду:
[group:cddisk] programs=api,filestorage,processing,registry,apisso
1.4. Отредактируйте файл сервиса Registry
vi /opt/r7-office/Service.Registry/appsettings.json
Приведите параметры к виду:
... }, { "id": "ISearchService", "host": "http://192.168.27.77:2664" } ], "ServiceRegistry": { "Host": "http://+:7777" }
Где:
192.168.27.77
— IP-адрес ВМ, где находится сервис Поиска.
Если серверов с сервисом поиска несколько, то вид будет следующим:
... }, { "id": "ISearchService", "host": "http://192.168.27.77:2664" }, { "id": "ISearchService", "host": "http://192.168.27.78:2664" } ], "ServiceRegistry": { "Host": "http://+:7777" }
Где:
192.168.27.77
,192.168.27.78
— IP-адрес ВМ, где находится сервис Поиска.
1.4.1. Перезапустите сервис
systemctl restart supervisor supervisorctl restart all
2. На ВМ с ролью Search
При включенной службе firewalld необходимо выполнить настройку для 2664/tcp.
# Добавляем порт sudo firewall-cmd --permanent --zone=public --add-port=2664/tcp # Перезапускаем службу firewalld sudo firewall-cmd --reload # Проверяем правила для зоны public sudo firewall-cmd --zone=public --list-all
2.1. Установите ключ репозитория
sudo wget -O - https://packages.microsoft.com/keys/microsoft.asc | sudo gpg --dearmor | sudo tee /etc/apt/trusted.gpg.d/microsoft.asc.gpg > /dev/null
2.2. Добавьте репозиторий
sudo wget https://packages.microsoft.com/config/debian/10/prod.list -O /etc/apt/sources.list.d/microsoft-prod.list && sudo apt update
2.3. Установите dotnet
sudo wget https://packages.microsoft.com/debian/10/prod/pool/main/d/dotnet-host/dotnet-host-7.0.3-x64.deb && sudo apt -y install ./dotnet-host*.deb && sudo rm ./dotnet-host*.deb
2.4. Установите остальные пакеты
Для версии 14752 и выше выполните установку следующих пакетов:
sudo apt install supervisor aspnetcore-runtime-6.0 aspnetcore-targeting-pack-6.0 autoconf automake autotools-dev binutils binutils-common binutils-x86-64-linux-gnu dotnet-apphost-pack-6.0 dotnet-hostfxr-6.0 dotnet-runtime-6.0 dotnet-runtime-deps-6.0 dotnet-sdk-6.0 dotnet-targeting-pack-6.0 libbinutils libltdl-dev libodbc1 m4 netstandard-targeting-pack-6.0 odbcinst odbcinst1debian2 unixodbc-dev
Для версий ниже:
sudo apt install supervisor aspnetcore-runtime-3.1 aspnetcore-targeting-pack-3.1 autoconf automake autotools-dev binutils binutils-common binutils-x86-64-linux-gnu dotnet-apphost-pack-3.1 dotnet-hostfxr-3.1 dotnet-runtime-3.1 dotnet-runtime-deps-3.1 dotnet-sdk-3.1 dotnet-targeting-pack-3.1 libbinutils libltdl-dev libodbc1 m4 netstandard-targeting-pack-2.1 odbcinst odbcinst1debian2 unixodbc-dev
2.5. Создание группы и пользователя cddisk
Из п.1.2 Вы узнали uid и gid пользователя.
Создайте его с помощью следующих команд:
2.5.1. Создайте группу cddisk
groupadd -g 132 cddisk
Где:
132
— id группы;cddisk
— имя группы.
2.5.2. Создайте пользователя cddisk
useradd -u 120 -g 132 cddisk
Где:
120
— id пользователя;132
— id группы;cddisk
— имя пользователя.
2.6. Распакуйте архив search.tar.gz
tar -xzvf search.tar.gz --selinux -C /
2.6.1. Удалите лишние конфигурационные файлы /etc/supervisor/conf.d
rm /etc/supervisor/conf.d/{cddisk-api,cddisk-filestorage,cddisk-registry,cddisk-ssoapi,cddisk-processing}.conf
2.6.2. Отредактируйте конфигурационный файл cddisk.conf
vi /etc/supervisor/conf.d/cddisk.conf
2.6.2.1. Приведите к виду
[group:cddisk] programs=searchapi
2.6.3. Отредактируйте конфигурационный файл
vi /opt/r7-office/SearchApi/appsettings.json
2.6.3.1. Приведите к виду
... "Bsa.Search.Api": { "Host": "http://+:2664" } ...
2.7. Перезапустите сервис
systemctl restart supervisor supervisorctl restart cddisk:searchapi
3. Проверьте работу Поиска