Продукты Р7
Корпоративный сервер 2024
Корпоративный сервер 2024
Сервер документов
Сервер документов
Редакторы
Редакторы
Корпоративный сервер 2019
Корпоративный сервер 2019
Графика
Графика
Команда
Команда
Мобильные редакторы
Мобильные редакторы
Облачный офис
Облачный офис
Почта
Почта
Органайзер
Органайзер
Дополнительно
Часто задаваемые вопросы
Разработчикам
Интеграции
Новые возможности

Вынос сервиса Search для Astra Linux

Обновлено: 24.12.25

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. Проверьте работу Поиска