RU

Запуск СЭД Docsvision на ОС Astra Linux

Актуальный релиз платформы Docsvision Linux Edition, доступный в ECM-редакции с 1 января 2023 года, позволяет развернуть систему на ОС Astra Linux, а также на СУБД PostgreSQL. Таким образом, платформа Docsvision поддержала работу на отечественном стеке ИТ и ответила на актуальный запрос бизнес-сообщества. В этой статье мы рассмотрим практические кейсы перевода СЭД на ОС Linux.

Бенчмаркинг ИТ-рынка в России

С 2022 года, когда приоритет импортозамещения в корпорациях и государственных органах приобрёл первостепенное значение, организации массово закупали «железо»: сервера, системы хранения данных. Экстренные и значительные инвестиции в инфраструктуру забрали бюджет на ПО и развитие систем, по мнению экспертов. После того, как организации завершили проекты по построению инфраструктуры с новыми требованиями и условиями рынка, ожидается старт отложенных проектов по развитию корпоративных систем, переход на импортонезависимые бизнес-приложения.

«Диджитал Дизайн», ТОП-5 поставщиков на рынке СЭД и BPM в России, делится статистикой перевода клиентов на импортонезависимый стек, включая работу на ОС Astra Linux, СУБД PostgreSQL, Postgres Pro.

В 2022 году только 30% клиентов «Дидижитал Дизайн» полностью завершили проекты импоротозамещения в части СЭД. В 2023 году скорость миграции возросла – почти 60%, изначально Microsoft-ориентированных, внедрений «переобулись». Стоит ожидать, что в ближайшие 2 года, государственные органы почти полностью мигрируют решения на Microsoft-незасивимый стек технологий. Согласно новым рекомендациям Минцифры (январь 2024 года), госкорпорации и компании с государственным участием с 1 января 2025 года должны будут использовать российские операционные системы (ОС), офисные пакеты, антивирусы.

Опыт миграции на ОС Linux

Как правило перевод системы на ОС Linux совмещен и с миграцией БД с MS SQL на PostgreSQL. Эти этапы желательно выполнять последовательно. В начале, еще на Docsvision 5.5.5 выполнить конвертацию БД при помощи утилиты миграции на PostgreSQL. Подключить и протестировать работу БД PostgreSQL на Docsvision 5.5.5. И уже затем проектная команда должна развернуть второй контур на Linux и в оговоренное время «переключить» систему на ОС Linux.

Пошаговая инструкция по миграции от Docsvision

  1. Подготовить 2 машины: одну на Linux, вторую на Windows
    Для запуска Docsvision на ОС Astra Linux потребуется одна машина сервера Linux, которая будет выполнять роль сервера приложений, web-клиент, и всех остальных модулей docsvision. И вторая машина с Windows-сервером, необходимая для администрирования системы, работы консоли настройки, консоли web-клиента.
  2. Установить и сконфигурировать Р7-офис на сервере web-клиента для возможности предпросмотра и объединения версий.
  3. Установить и сконфигурировать Linux компоненты Docsvision.
  4. Установить и сконфигурировать Windows компоненты Docsvision.
  5. Подключить и обновить БД Docsvision через консоль настройки.

Рассмотрим подробнее последовательность шагов.

Подготовка места администратора на Windows

Для работы сервера приложений обязательно требуются его взаимодействие с Active Directory, либо с другими контроллерами домена поддерживающими совместимость с Active Directory, например Samba DC. Мы на Windows-машине развернули контроллер домена (Active Directory). Этого можно не делать, если есть свой домен.
Дополнительно на Windows-машине, с которой мы будем запускать консоль настройки Docsvision, устанавливаем дополнительные компоненты:

  • Установить контроллер домена AD DS (опционально)
  • Установить ASP.NET Core Runtime (Hosting Bundle) версии 6.0.3 и выше
  • Установить .NET Desktop Runtime (x86 и x64) версии 6.0.3 и выше
  • Сгенерировать keytab-файл на контроллере домена, например при помощи консольной утилиты ktpass

Пример команды:

ktpass -princ HTTP/server.example.com@EXAMPLE.COM -mapuser administrator@example.com -crypto RC4-HMAC-NT -ptype KRB5_NT_PRINCIPAL -pass Password -out C:\\\krb5.keytab

Обратите внимание что .NET Desktop Runtime нужно установить в двух версиях 64-битный и 32-битный, потому что клиентские компоненты работают в 32-битном режиме. Дополнительно на контроллере домена создаём при помощи специальной утилиты keytab файл, который потребуется для работы Kerberos аутентификации.

Подготовка сервера на Linux

  • Astra Linux Special Edition 1.7 и выше
    Требования к версии обусловлены особенностями установки сторонних компонентов, в частности, R7 Office.
  • Добавление keytab файла в каталог /etc/
  • Установить дополнительные компоненты для корректной установки пакетов Docsvision sudo apt-get install ca-certificates curl gnupg lsb-release
  • Ввести машину в домен, например при помощи инструментов astra-winbind, или astra-ad-sssd-client

Пример команды:

sudo astra-ad-sssd-client -d example.com -u Администратор

где:

-d example.com - указание имени домена;

-u Администратор - указание имени администратора домена;

Установка Р7-офис. Сервер документов для Astra Linux на сервер web-клиента

Для возможности предпросмотра файлов в web-клиенте, их консолидации и объединения версий файлов, на сервере web-клиента нужно установить Р7-офис сервер документов. Ставить его нужно именно на Linux-сервер, где запущен сервер web -клиента.

Самый быстрый вариант разворачивания Р7-офис сервер документов описан в статье вендора данного продукта.

В ней предлагается развернуть уже настроенный docker контейнер со всеми необходимыми компонентами.

Установка Docsvision на Astra Linux

После подготовительных работ можем приступать непосредственно к установке Docsvision на сервере Astra Linux. Предварительно требуется подключить репозитории Microsoft, чтобы установить дополнительные компоненты поддержки работы кода, написанного на .NET 6

  • Подключить репозиторий Docsvision (добавить ключ подписи репозитория, добавить репозиторий, обновить БД пакетов)
  • Подключить репозитории Microsoft
  • sudo apt-get install packages-microsoft-prod
  • Поднять приоритет пакетов репозитория Microsoft

в файл /etc/apt/preferences.d/microsoft.pref добавить строки:

Package: dotnet* aspnet* netstandard*

Pin: origin packages.microsoft.com

Pin-Priority: 910

После подготовки устанавливаем модуль платформы, а вместе с ним пакеты базовых объектов и конструктор согласований, утилиту активации, файловый сервис и модуль полнотекстового индексирования. Дополнительно можно сразу установить оставшиеся базовые модули платформы, чтобы не возвращаться к этой задаче позже: web-клиент, сервис настроек, сервис внешнего API, консоль управления docsvision, службу фоновых процессов и модуль управления процессами.

Конфигурирование Docsvision на Astra Linux

После установки модулей Docsvision начинаем работать с файлом конфигурации платформы. Он включает различные параметры. Обратим внимание на форматы ввода данных. В одних параметрах учётная запись указывается: «имя пользователя @ домен», а в других «домен / пользователь» - эти особенности форматов указаны в документации, в шаблонах конфигураций. Актуальные версии платформы поддерживают сразу нескольких доменов, значит, в систему могут войти пользователи из разных доменов.

Дополнительно посмотрим на параметр ApiKey. Для корректной работы строка, указанная в этом параметре, должна быть одинаковой для всех модулей, которые взаимодействуют друг с другом. То есть, если в одном из конфигурационных файлов модулей есть данный параметр, то его нужно указать точно таким же, как он указан в конфигурационном файле платформы.

Затем не забываем активировать сервер Docsvision и завершаем заполнение конфигурационного файла и сервиса полнотекстового индексирования.

Установка Docsvision на Windows

Пакет поставки Docsvision Linux Edition содержит в себе Windows-компоненты, необходимые для работы консоли настройки, консоли web-клиента и конструктора разметок. Так как сам сервер находится на отдельной Linux машине, то нужно добавить специальный ключ в реестр Windows машины и добавить две переменные окружения, для того чтобы консоль смогла подключиться к серверу на Linux.

  • В реестре добавить адрес сервера приложений Docsvision
    reg add HKEY_LOCAL_MACHINE\SOFTWARE\DocsVision\Platform\Site /v ServerURL /t REG_SZ /d http://dvserver.domain.com:5000/api/v1
  • Добавить системную учётную запись Docsvision в переменные окружения
    setx DV_SystemUserAccount account@domain.com
    
                setx DV_SystemUserPassword password

Добавление БД Docsvision

Выполнив все предыдущие шаги и удостоверившись в работоспособности сервера приложений, можно запустить консоль настройки Docsvision и подключить существующую базу данных, после чего обновить ее. В консоли настройки часть функциональности, например связанная с настройкой workflow, либо с настройкой сайта docsvision будет недоступна, так как эти настройки теперь выполняются на уровне конфигурационных файлов находящихся на Linux сервере.

Конфигурирование базовых модулей на Astra Linux

После подключения базы можно перейти к конфигурированию базовых модулей на сервере Astra Linux. Файлы и пути, по которым будет выполняться конфигурация модулей:

  • Конфигурация Web-клиента в файле /usr/lib/docsvision/webclient/appsettings.json 
  • Конфигурация Сервиса настроек /usr/lib/docsvision/settingsservice/appsettings.json 
  • Конфигурация Сервиса внешнего API Консоли управления Docsvision/usr/lib/docsvision/externalapi/appsettings.json
  • Конфигурация Консоли управления Docsvision /usr/lib/docsvision/managementconsole/appsettings.json
  • Конфигурирование Службы фоновых операций /usr/lib/docsvision/workerservice/Configuration.json и /usr/lib/docsvision/workerservice/appsettings.json 
  • Конфигурирование модуля управления процессами /usr/lib/docsvision/workflow/appsettings.json

Настройка web-клиента на Windows

Так как сервер web-клиента расположен на другой машине, то для его запуска требуется прописать адрес сервера Docsvision в панели управления web-клиента и базу данных в конфигурационном файле панели. Для работы конструктора web-разметок также нужно дописать конфигурационный файл конструктора.

Подготовка рабочего места администратора на Windows

  • Скачать клиентскую часть модулей Платформа и Windows-клиент
  • Установить модули в режиме для всех пользователей
  • Запустить Windows-клиент, при первом запуске произведется установка всех оставшихся модулей
  • Завести пользователей в справочнике сотрудников и включить их во все необходимые системные группы

Чтобы обеспечить пользователям доступ к системе через web-клиент, администратор системы должны завести пользователей в справочнике сотрудника. Для этого администратор системы должен запустить систему на Windows-машине. Добавить пользователя в группу можно либо через конфигурационный файл, который находится на Linux-сервере, или через справочник сотрудников. В справочник сотрудника теперь добавлены системные группы на подобие тех, что были ранее в Windows-версии Docsvision.

Настройка Kerberos аутентификации на клиентской стороне

Для работы kerberos аутентификации мы в самом начале добавляли на Linux-машину keytab-файл. Далее чтобы на клиенте можно было авторизоваться без ввода своих учётных данных, создадим нужные политики на клиентских машинах Linux, либо Windows, для запуска веб-клиента в браузере Google Chrome. Эти политики обязательно должны быть настроены и для браузера, в котором будет запускаться консоль управления, иначе администратор не сможет ее открыть.

  • На Linux для браузера Chrome в файле /etc/chromium/policies/managed/test_policy.json (путь для Astra Linux)

{

    "AuthNegotiateDelegateAllowlist": "*. domain.com",

    "AuthServerAllowlist": "*. domain.com",

    "AuthSchemes": "ntlm,negotiate"

    }

  • На Windows в реестре в ветке HKEY_CURRENT_USER\SOFTWARE\Policies\Google\Chrome создать строковые ключи AuthNegotiateDelegateAllowlist, AuthServerAllowlist, AuthSchemes со значениями как указано выше

Настройка службы фоновых операций через консоль управления

Настройка подключения службы фоновых операций к серверу Docsvision не отличается от предыдущих версий платформы.

DVWebTool

Если пользователи web-клиента Docsvision продолжают работать на Windows, то в некоторых сценариях работы на машине должна быть запущена утилита DVWebTool. Чтобы эта утилита была доступна для установки пользователям, необходимо выполнить следующие шаги:

  • На главной странице Панели управления нажмите кнопку Пересобрать DVWebTool
  • Скопировать каталог DVWebTool на сервер Linux по пути /lib/docsvision/webclient/Content/Tools
  • Перезапустить сервис dvwebclient

DVSupService

Аналогичная по функциональности, но для машин пользователей web-клиента на Linux, создана утилита DVSupService. Описание её установки:

  • Установить на клиентское место сервис DVSupService
    sudo apt-get install docsvision-dvsupservice
  • При необходимости отредактировать конфигурационный файл /usr/lib/docsvision/dvsupservice/appsettings.json

Установка компонентов КриптоПро для возможности подписания

Если пользователи работают с веб-клиентом со своей Linux-машины, то для работы простой подписи потребуется установка на клиентской машине компонентов КриптоПро. Установить их можно вручную по указанной ссылке так и развернув подготовленный нами докер контейнер. На Windows машине для простой подписи компоненты КриптоПро не нужны. Если же требуется подписание сертификатом, то как для Windows так и для Linux клиентских мест необходимо развернуть докер контейнер с конфигурированным в нём компонентами КриптоПро.

Похожие публикации
30 мая 2025
Сегодня ситуация с обработкой электронных документов постоянно меняется: развивается нормативная база, появляются новые отраслевые требования и технологические решения, что влияет на функциональность корпоративных СЭД. Дайджест новостей ЭДО от Docsvision помогает пользователям СЭД своевременно узнавать обо всех этих изменениях.
12 мая 2025
Как разрешить противоречие между долгосрочным планом развития СЭД и потребностями в новом функционале, возникшими «здесь и сейчас»? Один из возможных путей показывает проект модернизации ИТ-решения на платформе Docsvision, выполненный для крупной FMCG-компании.
Подпишитесь на рассылку
Нажимая на кнопку «Отправить», вы даёте согласие на обработку ваших персональных данных, в соответствии с политикой «ДоксВижн» в отношении обработки персональных данных.