Установка на трех серверах

Способ предназначен для рабочих сред и подразумевает разделение служб системы между тремя серверами:

  1. Staffcop Enterprise, NFS-сервер. На сервере включается механизм присвоения конфигурации rustSrv.

  2. Файловый сканер, NFS-клиент.

  3. База данных файлового сканера в PostgreSQL.

Внимание

Перед установкой ознакомьтесь с требованиями к системе.

Настройка сервера Staffcop

Перед настройкой установите сервер Staffcop Enterprise с лицензией файлового сервера.

Ссылка на дистрибутив Staffcop

Активация rustSrv и параметра  FILE_TAG_MANAGER

Файловый сканер взаимодействует с rustSrvмеханизмом присвоения конфигурации. Вы могли включить его раньше.

  1. Проверьте статус rustSrv:

staffcop info | grep RustSrv

При активном статусе вывод: RustrSrv = True.

  1. Активируйте rustSrv, если он выключен:

sudo staffcop enable rustsrv
  1. Установите флаг FILE_TAG_MANAGER в конфигурации Staffcop:

sudo sh -c 'echo "FILE_TAG_MANAGER = True" >> /etc/staffcop/config'
  1. Укажите путь к локальной папке спуллера для файлового сканера:

echo "SPOOLER_SCANNER_PATH = \"/var/lib/etl/scanner_queue\"" | sudo tee -a /etc/staffcop/config

Примечание

Не пропускайте этот шаг. Если путь к локальной папке не указать, модуль ETL может не найти очередь заданий сканера. Это приведет к сбою в извлечении и передаче данных для сканирования.

  1. Перезапустите службы Staffcop для применения изменений:

sudo staffcop restart

Настройка общей файловой системы (NFS)

NFS используется для передачи файлов из Staffcop в файловый сканер для анализа. Staffcop помещает файлы в общую папку на NFS-сервере, а файловый сканер забирает их для сканирования.

  1. Установите NFS-сервер:

sudo apt update && sudo apt install nfs-kernel-server -y
  1. Узнайте UID/GID пользователя  staffcop:

id staffcop

# Пример вывода: uid=116(staffcop) gid=119(staffcop).

Внимание

Важно, чтобы UID/GID пользователя Staffcop совпадали на обоих серверах.

  1. Создайте и настройте каталог спуллера.

sudo mkdir -p /var/lib/etl/scanner_queue
sudo chown 116:119 /var/lib/etl/scanner_queue  # Используйте ВАШИ значения uid:gid из п.2!
sudo chmod 775 /var/lib/etl/scanner_queue
  1. Настройте экспорт папки для сервера файлового сканера:

echo "/var/lib/etl/scanner_queue <IP_Сервера_с_ФС>(rw,sync,no_subtree_check,all_squash,anonuid=<uid п.№2>,anongid=<gid п.№2>)" | sudo tee -a /etc/exports


/var/lib/etl/scanner_queue 10.10.133.214(rw,sync,no_subtree_check,all_squash,anonuid=1001,anongid=1001)
  1. Примените настройки и перезапустите службу:

sudo exportfs -ra
sudo systemctl restart nfs-kernel-server

Настройка сервера базы данных

Настройка зависит от программного обеспечения на сервере:

Установка PostgreSQL

  1. Добавьте репозиторий PostgreSQL:

    sudo sh -c 'echo "deb http://apt.postgresql.org/pub/repos/apt $(lsb_release -cs)-pgdg main" > /etc/apt/sources.list.d/pgdg.list'
    wget --quiet -O - https://www.postgresql.org/media/keys/ACCC4CF8.asc | sudo apt-key add -
    
  2. Установите выбранную версию, например, 15:

    sudo apt update
    sudo apt -y --no-install-recommends install postgresql-15
    

    Далее все команды адаптированы под версию 15. Подставьте вместо 15 номер вашей версии.

  3. Для базовой настройки разрешите подключения:

sudo sed -i "s/#listen_addresses = 'localhost'/listen_addresses = '*'/" /etc/postgresql/15/main/postgresql.conf
  1. Увеличьте лимит соединений:

    sudo sed -i 's/max_connections = .*/max_connections = 500/' /etc/postgresql/15/main/postgresql.conf
    
  1. Установите пакет локализации:

    sudo locale-gen ru_RU.UTF-8
    
  2. Перезапустите службы для применения изменений:

    sudo systemctl restart postgresql@15-main
    

Создание пользователя и базы данных

  1. Подключитесь к БД:

    sudo -u postgres psql
    
  2. Создайте пользователя:

    CREATE USER file_scanner WITH PASSWORD 'ваш_сложный_пароль';
    
  3. Создайте базу данных:

    CREATE DATABASE file_scanner WITH OWNER = file_scanner TEMPLATE = template0 ENCODING = 'UTF8' LC_COLLATE = 'ru_RU.UTF-8' LC_CTYPE = 'ru_RU.UTF-8';
    
  4. Предоставьте пользователю право создавать базы данных:

    ALTER USER file_scanner CREATEDB;
    
  5. Выйдите из консоли PostgreSQL:

    \q
    

Настройка доступа для пользователя

  1. Настройте доступ для пользователя file_scanner. Откройте файл pg_hba.conf:

    sudo nano /etc/postgresql/15/main/pg_hba.conf
    
  2. Добавьте в файл строку для доступа из локального интерфейса:

    host    file_scanner    file_scanner    samenet            md5
    
  3. Перезапустите PostgreSQL:

    sudo systemctl restart postgresql@15-main
    

Настройка сервера файлового сканера

Установка файлового сканера

  1. Скачайте из репозитория сборок актуальный для вашей ОС deb-пакет. Для Ubuntu 22.04:

wget http://distr.staffcop.su/file-scanner/ubuntu-22.04/file-scanner.deb

Astra Linux 1.8:

curl -O http://distr.staffcop.su/file-scanner/astra-1.8/file-scanner-0.1.1-3-astra-1.8.deb
  1. Установите пакет:

sudo apt install ./file-scanner.deb
  1. Во время установки интерактивный скрипт запросит параметры подключения к базе данных. Введите следующие значения:

  • Database name — название базы данных файлового сканера;

  • Database user — имя пользователя базы данных файлового сканера;

  • Database password — пароль, заданный при создании пользователя файлового сканера;

  • Database host — IP-адрес сервера БД;

  • Database port5432 — стандартный порт PostgreSQL.

Инициализация словарей tsearch

При распределенной установке файловый сканер использует выделенную базу данных PostgreSQL. В отличие от основной базы Staffcop, она не содержит словарей для корректной обработки текста на русском языке. Установите словари самостоятельно.

  1. Установите права на папку словаря на сервере базы данных:

# Для PostgreSQL 15. Укажите вашу версию (13, 14).

sudo chmod -R 777 /usr/share/postgresql/15/tsearch_data/
  1. На сервере файлового сканера скопируйте словари:

sudo scp /usr/share/file-scanner/assets/postgresql/ispell/* support@<IP_сервера_с_БД_ФС>:/usr/share/postgresql/15/tsearch_data/

Инициализация сканера

Выполните инициализацию:

sudo file-scanner init

Проверка работы сканера

Проверьте состояние службы:

sudo systemctl status file-scanner

Статус должен быть active.

Установка и настройка NFS-клиента

  1. Установите NFS-клиент:

sudo apt update && sudo apt install nfs-common -y
  1. Создайте точку монтирования:

sudo mkdir -p /var/lib/etl/scanner_queue
sudo chmod 775 /var/lib/etl/scanner_queue
  1. Настройте автоматическое монтирование при загрузке. Для Ubuntu:

echo "<IP_Staffcop>:/var/lib/etl/scanner_queue /var/lib/etl/scanner_queue nfs defaults 0 0" | sudo tee -a /etc/fstab

где <IP_Staffcop> — адрес NFS-сервера.

Для Astra Linux:

echo -e "\n<IP_Staffcop>:/var/lib/etl/scanner_queue /var/lib/etl/scanner_queue nfs defaults 0 0" | sudo tee -a /etc/fstab

где <IP_Staffcop> — адрес NFS-сервера.

  1. Смонтируйте папку:

sudo mount -a
  1. Проверьте монтирование:

mount | grep etl

Должна отобразиться смонтированная NFS-папка.

  1. Добавьте строку SPOOLER_SCANNER_PATH = "/var/lib/etl/scanner_queue" в файл конфигурации:

sudo nano /etc/file-scanner/config
  1. Перезапустите файловый сканер:

sudo systemctl restart file-scanner

Финальная настройка серверов

Завершить установку можно в любое время после установки файлового сканера.

Получение токена API из Staffcop

  1. Войдите в веб-интерфейс Staffcop Enterprise под администратором.

  2. Перейдите в раздел АдминистрированиеПараметры сервера.

  3. Найдите параметр API_TOKEN для файлового сканера, скопируйте и сохраните его значение.

Вставка токена в конфигурацию файлового сканера

  1. Откройте файл конфигурации файлового сканера:

sudo nano /etc/file-scanner/config
  1. Найдите строку API_TOKEN = "" и впишите скопированный токен между кавычек:

API_TOKEN = "СКОПИРОВАННЫЙ_ТОКЕН"
  1. Сохраните изменения Ctrl+O, Enter и выйдите Ctrl+X.

  2. Перезапустите службу файлового сканера:

sudo systemctl restart file-scanner

Указание URL Файлового сканера в Staffcop

  1. Вернитесь в веб-интерфейс Staffcop.

  2. Перейдите в раздел АдминистрированиеПараметры сервера.

  3. Найдите поле URL Файлового сканера

  4. Введите полный HTTP-адрес сервера файлового сканера в формате http://<IP_Сервера_с_ФС>:8081.

  5. Нажмите Сохранить.

Проверка работоспособности

Убедитесь, что все ключевые службы работают:

  1. На сервере Staffcop:

staffcop info | grep RustSrv

Убедитесь, что rustSrv = True.

  1. На сервере файлового сканера:

sudo systemctl status file-scanner

Если служба находится в состоянии active (running), установка и первоначальная настройка файлового сканера завершены успешно.

Опционально. Защита канала передачи данных (NFS)

Для защиты передаваемых данных вы можете настроить шифрование трафика NFS с помощью IPsec.

Последнее обновление: 16.12.25