Данная статья служит инструкцией по установке сервера Docsvision на Linux (Astra Linux) и сопутствующего ПО. Статья последовательна, т.е. каждый шаг выполняется друг за другом.
Цель: выполнив все шаги, получить работоспособную систему Docsvision, работающую под управлением ОС Linux.
Описание машин, на которых происходит установка.
1) Сервер администрирования Docsvision.
Машина на Windows Server 2019, будет служить сервером администрирования, для работы инструментов:
- Консоли настройки Docsvision
- Конструктора веб разметок
- Панели управления Веб клиента
- Работа утилит из состава Resource Kit
Название: DocsvisionAdmin
IP-адрес: 192.168.1.54
Домен: green.local
2) Сервер приложений Docsvision.
Машина на Astra Linux 1.7.4 , с политикой безопасности «Орёл». Будет использоваться для установки северных компонентов Docsvision.
Название: AppServer
IP-адрес: 192.168.1.53
Домен: green.local
3) Сервер баз данных.
Машина под управлением Astra Linux 1.7.4. На данной машине установим СУБД Postgres.
Название: PostgresAstra
IP-адрес: 192.168.1.55
4) Контроллер домена.
Машина на Windows Server 2019 с поднятой ролью Active Directory и развернутым доменом green.local .
Название: AdminNode
IP-адрес: 192.168.1.52
Установка PostgreSQL и планировщика задач pgAgent.
Для создания базы данных и работы Docsvision, нам потребуется выполнить установку и настройку сервера PostgreSQL. Отмечу сразу, что заниматься тюнингом в данной статье мы не будем, так как это тема отдельной статьи.
Действия производятся на сервере баз данных.
1. Скорректируем список репозиториев Astra Linux, отредактировав sources.list, с помощь команды:
sudo nano /etc/apt/sources.listЗакомментируем репозитории «cdrom» и уберем комментарии на нужных и добавим последней строкой репозиторий astra-ce, получим файл следующего вида:
# Astra Linux repository description https://wiki.astralinux.ru/x/0oLiC
# deb cdrom:[OS Astra Linux 1.7.4 1.7_x86-64 DVD ]/ 1.7_x86-64 contrib main non-free
# deb cdrom:[OS Astra Linux 1.7.4 1.7_x86-64 DVD ]/ 1.7_x86-64 contrib main non-free
deb https://download.astralinux.ru/astra/stable/1.7_x86-64/repository-main/ 1.7_x86-64 main contrib non-free
deb https://download.astralinux.ru/astra/stable/1.7_x86-64/repository-update/ 1.7_x86-64 main contrib non-free
deb https://download.astralinux.ru/astra/stable/1.7_x86-64/repository-base/ 1.7_x86-64 main contrib non-free
deb https://download.astralinux.ru/astra/stable/1.7_x86-64/repository-extended/ 1.7_x86-64 main contrib non-free
deb https://dl.astralinux.ru/astra/stable/1.7_x86-64/repository-extended/ 1.7_x86-64 astra-ceВ данной статье, все изменения будут производиться редактором nano. Чтобы сохранить изменения в редакторе, необходимо воспользоваться сочетанием клавиш CTRL+O, чтобы закрыть редактор нажмите сочетание CTRL+X. Подробное описание команд вы сможете найти здесь. Все дальнейшие изменения в конфигурационных файлах будут подразумевать — открытие, изменение, сохранение и выход из редактора.
Обновим базу данных пакетов:
sudo apt update2. Установим PostgreSQL, версии 14.
sudo apt install postgresql-143. Изменим пароль для роли postgres на P@ssw0rd. Для этого выполним переход на пользователя postgres, командой:
sudo -su postgresВоспользуемся psql. Это консольная утилита с помощью которой можно подключится к серверу баз данных и начать с ним работать.
psqlУтилита предложит ввести команды, выполним последовательно:
ALTER USER postgres WITH PASSWORD 'P@ssw0rd';
exit;Завершим работу с пользователем postgres, еще раз выполнив команду выхода:
exit;3. Разрешим удаленный доступ к серверу PostgreSQL:
sudo nano /etc/postgresql/14/main/pg_hba.confДобавим в конфигурационный файл строку:
host all all 0.0.0.0/0 scram-sha-256Отредактируем конфигурационный файл postgresql.conf
sudo nano /etc/postgresql/14/main/postgresql.confПропишите\измените ряд настроек в файле, часть из них закомментировано, требуется убрать комментарий и внести изменения:
listen_addresses = '*'
timezone = 'Europe/Moscow'
lc_messages = 'ru_RU.UTF-8'
standard_conforming_strings = on
shared_buffers = 1024MB
plan_cache_mode = force_generic_planshared_buffers — установлено значение равное 25% от общего размера ОЗУ)
4. Перезапустим PostgreSQL:
sudo systemctl restart postgresqlПроверим статус сервиса, убедитесь, что он имеет статус Active:
sudo systemctl status postgresqlУстановим планировщик pgAgent:
sudo apt install pgagentСкопируем файлы расширения в папку с актуальной версией PostgreSQL:
sudo cp /usr/share/postgresql/11/extension/* /usr/share/postgresql/14/extension/Выполним вход под пользователем postgres:
sudo -su postgresЗапустим psql:
psqlВыполним команду создания расширения:
CREATE EXTENSION pgagent;По результату вы должны увидеть строку «CREATE EXTENSION».
Блок установки и настройки PostgreSQL завершен. К pgAgent мы еще вернемся в одном из разделов статьи.
Ввод сервера приложений Docsvision в домен.
По умолчанию, сервер приложений Docsvision должен состоять в домене. Чтобы не обращаться лишний раз к документации Astra Linux, опишем здесь процесс ввода машины в домен. Если ваш сервер приложений уже введен в домен, то данный раздел можно пропустить.
Выполняем действия на сервере приложений Docsvision (AppServer.green.local).
Установим пакет resolveconf, выполнив команду:
sudo apt install resolvconfОтредактируем список DNS серверов. Для начала откроем файл head:
sudo nano /etc/resolvconf/resolv.conf.d/headУкажем строку с адресом нашего контроллера домена \ dns сервера:
nameserver 192.168.1.52Выполним перезапуск системы:
sudo rebootПосле перезапуска выполним ввод машины в домен:
sudo astra-ad-sssd-client -d green.local -u dvadminПодготовка сервера приложений Docsvision.
Выполняем действия на сервере приложений Docsvision (AppServer.green.local).
1. Скорректируем список репозиториев Astra Linux, отредактировав sources.list, как это ранее делали на сервере баз данных, с помощь команды:
sudo nano /etc/apt/sources.listЗакомментируем репозитории «cdrom» и уберем комментарии на нужных и добавим последней строкой репозиторий astra-ce, получим файл следующего вида:
# Astra Linux repository description https://wiki.astralinux.ru/x/0oLiC
# deb cdrom:[OS Astra Linux 1.7.4 1.7_x86-64 DVD ]/ 1.7_x86-64 contrib main non-free
# deb cdrom:[OS Astra Linux 1.7.4 1.7_x86-64 DVD ]/ 1.7_x86-64 contrib main non-free
deb https://download.astralinux.ru/astra/stable/1.7_x86-64/repository-main/ 1.7_x86-64 main contrib non-free
deb https://download.astralinux.ru/astra/stable/1.7_x86-64/repository-update/ 1.7_x86-64 main contrib non-free
deb https://download.astralinux.ru/astra/stable/1.7_x86-64/repository-base/ 1.7_x86-64 main contrib non-free
deb https://download.astralinux.ru/astra/stable/1.7_x86-64/repository-extended/ 1.7_x86-64 main contrib non-free
deb https://dl.astralinux.ru/astra/stable/1.7_x86-64/repository-extended/ 1.7_x86-64 astra-ceОбновим базу данных пакетов, выполним команду:
sudo apt updateУстановим следующие пакеты командой:
sudo apt install ca-certificates curl gnupg lsb-releaseПодключим официальный репозиторий Docsvision, последовательно выполнив команды:
sudo curl -fsSL https://packages.docsvision.com/astra/gpg | sudo gpg --dearmor -o /etc/apt/trusted.gpg.d/docsvision.gpg
sudo echo "deb https://packages.docsvision.com/astra $(. /etc/os-release && echo $VERSION_CODENAME) 6.1" | sudo tee /etc/apt/sources.list.d/docsvision.list > /dev/null
sudo apt updateВыполним установку пакета, с подключением репозитория, для дальнейшего подключения репозитория Microsoft, выполнив последовательно команды :
sudo wget -O - https://packages.microsoft.com/keys/microsoft.asc | gpg --dearmor | sudo tee /etc/apt/trusted.gpg.d/microsoft.asc.gpg > /dev/null
sudo wget https://packages.microsoft.com/config/debian/10/prod.list -O /etc/apt/sources.list.d/microsoft-prod.list
sudo apt update
sudo apt install packages-microsoft-prodПоднимем приоритет пакетов из репозитория Microsoft, для этого создадим файл /etc/apt/preferences.d/microsoft.pref и добавим в него следующие строки:
sudo nano /etc/apt/preferences.d/microsoft.prefПропишем содержимое следующего вида:
Package: dotnet* aspnet* netstandard*
Pin: origin packages.microsoft.com
Pin-Priority: 910Обновим базу данных пакетов:
sudo apt updateУстановка и настройка модуля Платформа.
Выполняем действия на сервере приложений Docsvision (AppServer.green.local).
1. Установка модуля «Платформа».
Выполним установку модуля «Платформа»:
sudo apt-get install docsvision-platformВместе с модулем Платформа команда установит модули Базовые объекты и Конструктор согласований.
Выполним установку утилиты активации лицензии:
sudo apt-get install docsvision-activationВыполним активацию сервера Docsvision, последовательно выполнив команды, указав серийный номер. В нашем случае используем активацию онлайн.
cd /usr/lib/docsvision/tools/activation
sudo ./activation online XXXX-XXXX-XXXX-XXXX-XXXX-XXXX2. Настройка модуля «Платформа».
Откройте конфигурационный файл модуля:
nano /usr/lib/docsvision/platform/appsettings.jsonДанный файл представляет из себя json, с различным набором ключей, отвечающими за настройки различного типа. Рассмотрим блок настроек самого сервера, укажем здесь те настройки, что подлежат изменению.
"Platform": {
"Server": {
"DefaultBaseName": "dvlinux",
"WindowsSecurityServerName": " DocsvisionAdmin.green.local",
"Databases": {
"dvlinux": "Server=192.168.1.55;port=5432;database=dvlinux;Username=postgres;Password=P@ssw0rd"
}
}DefaultBaseName — псевдоним базы данных. Должен совпадать с псевдонимом подключаемой базы в Консоли настройки. Можно заполнить заранее, или вернуться позже, после создания из Консоли управления.
WindowsSecurityServerName — необходимо указать имя любого компьютера в текущем домене Active Directory. Используется при получении списка доступных членов домена при настройке дискреционной безопасности в Windows-клиенте, РМА и DVExplorer.
Databases (dvlinux — псевдоним используемой БД, для которой задаётся строка подключения). Для формирования строки подключения, можно воспользоваться специальной формой.
Следующий блок настроек касается сервиса настроек:
"SettingsService": {
"ConnectionString": "ConnectAddress=http://127.0.0.1:5200/api",
"ApiKey": "apikey-settingsservice"
}ConnectionString — полный адрес Сервиса настроек. Так как сервис настроек у нас будет находиться на этой же машине, то укажем http://127.0.0.1:5200/api .
ApiKey — API-ключ для подключения к Сервису настроек, можно оставить значение по умолчанию или изменить, главное условие, чтобы значения в конфигурации модулей Сервис настроек и Платформа были одинаковые. Адрес и API-ключ требуется указать, если планируется переходить в Консоль управления Docsvision из карточек Web-клиента и Windows-клиента.
Укажем настройки по группам безопасности сервера Docsvision:
"Groups": {
"DocsVision Administrators": [
"green\\dvadmin"
],
"DocsVision Security Administrators": [
"green\\dvadmin"
]
},
Выполним настройки домена и LDAP:
"Ldap": {
"AuthType": "Basic",
"Credential": {
"UserName": "dvadmin@green.local",
"Password": "P@ssw0rd"
}
},
"Domains": [
"GREEN.LOCAL"
],
Ldap — имя и пароль учётной записи, под которой процесс обращается к ActiveDirectory.
AuthType — тип аутентификации: Basic — аутентификация через LDAP, Oauth — аутентификация через ЕСИА или Azure.
UserName — логин пользователя модуля для аутентификации LDAP.
Password — пароль учётной записи пользователя для аутентификации LDAP в открытом или в зашифрованном виде. В текущем примере рассмотрим открытый вид. Возможности шифрования паролей рассмотрим в отдельной статье.
Domains — домен сервера Docsvision, заглавными буквами.
Укажем настройки системных учетных записей:
"SystemUserAccount": "dvadmin@green.local",
"SystemUserPassword": "P@ssw0rd",SystemUserAccount — имя системной учётной записи Docsvision.
SystemUserPassword — пароль системной УЗ .
Запустим службу модуля «Платформа».
sudo systemctl start dvappserverПроверим состояние службы:
sudo systemctl status dvappserverЕсли статус будет отличаться от active (running), то проверьте файл конфигурации json на корректность заполнения данными и валидность (очень легко забыть запятую), валидность можно проверить с помощью онлайн сервиса https://jsonformatter.org или аналогичные.
Базовые настройки на этом завершены. Чтобы была цельная картина полученного JSON, в статье будем прикреплять файл, после настройки каждого модуля.
Полученный файл JSON:
Установка и настройка базовых модулей Docsvision.
Выполняем действия на сервере приложений Docsvision (AppServer.green.local).
1. Установка и настройка файлового сервиса.
Выполним установку модуля:
sudo apt-get install docsvision-fileserviceВыполним редактирование конфигурационного файла:
nano /usr/lib/docsvision/fileservice/appsettings.jsonУкажем строку подключения, аналогично той, что мы указывали в файле конфигурации модуля «Платформа».
"DocsVision": {
"Platform": {
"Server": {
"Databases": {
"dvlinux": "Server=192.168.1.55;port=5432;database=dvlinux;Username=postgres;Password=P@ssw0rd"
}
}
}Полученный файл JSON:
2. Установка сервиса полнотекстового индексирования
Выполним установку модуля, с помощью команды:
sudo apt-get install docsvision-fulltextserviceВыполним редактирование конфигурационного файла:
sudo nano /usr/lib/docsvision/fulltextservice/appsettings.jsonНеобходимо указать строку подключения к индексируемой БД и данные системной учетной запись.
{
"DocsVision": {
"Platform": {
"Server": {
"Databases": {
"dvlinux": "host=192.168.1.55;port=5432;database=dvlinux;Username=postgres;Password=P@ssw0rd"
}
}
}
},
"SystemUserAccount": "dvadmin@green.local",
"SystemUserPassword": "P@ssw0rd"
}
Полученный файл JSON:
3. Установка Web-клиента
Выполним установку модуля Веб клиент.
sudo apt-get install docsvision-webclientВыполним редактирование конфигурационного файла:
sudo nano /usr/lib/docsvision/webclient/appsettings.jsonУкажем данные системной учетной записи:
"SystemUserAccount": "dvadmin@green.local",
"SystemUserPassword": "P@ssw0rd"Укажем настройки LDAP и раздел с доменом:
"Ldap": {
"AuthType": "Basic",
"Credential": {
"UserName": "dvadmin@green.local",
"Password": "P@ssw0rd"
}
"Authentication": {
"DefaultDomain": "GREEN.LOCAL"
},
DefaultDomain — домен по умолчанию в формате FQDN.
Полученный файл JSON:
4. Установка и настройка Сервиса настроек.
Выполним установку:
sudo apt-get install docsvision-settingsserviceВыполним редактирование конфигурационного файла:
sudo nano /usr/lib/docsvision/settingsservice/appsettings.jsonВыполним настройки:
"StorageOptions": {
"Providers": [
{
"Alias": "SqlStorage",
"Default": true,
"StorageType": "PgSql",
"StorageOptions": "host=192.168.1.55;port=5432;database=SettingsDB;Username=postgres;Password=P@ssw0rd",
"ProviderType": "Hierarchy"
}
]
},StorageType — необходимо указать тип СУБД: MsSql – Microsoft SQL Server, PgSql – PostgreSQL.
StorageOptions — необходимо указать строку подключения к базе данных, в которой будут храниться настройки сервиса настроек. Не стоит ее путать с базой данных Docsvision, это разные базы данных, поэтому задайте этой базе данных уникальное название. Для формирования строки подключения, можно воспользоваться специальной формой. Предварительно базу данных создавать не нужно, она будет создана автоматически в момент запуска сервиса, если после запуска она создана не была, то проверьте корректность файла конфигурации, строки подключения, доступности SQL сервера и прав пользователя на создание базы, указанного в строке подключения.
Полученный файл JSON:
5. Установка Сервиса внешнего API Консоли управления Docsvision
Выполним установку:
sudo apt-get install docsvision-externalapiНастроек в файле конфигурации модуля должно быть достаточно и редактировать их не потребуется, при размещении модуля на одном сервере с модулем сервиса настроек.
6. Установка консоли управления Docsvision
Выполним установку:
sudo apt-get install docsvision-managementconsoleВыполним редактирование конфигурационного файла:
sudo nano /usr/lib/docsvision/managementconsole/appsettings.jsonВ данном блоке необходимо указать через запятую тех пользователей, которым будет разрешен вход в панель управления. Мы пока укажем нашего единственного пользователя.
"Groups": {
"Docsvision Management Console Administrators": [
"dvadmin@green.local"
]
}Полученный файл JSON:
7. Установка службы фоновых операций (Worker Service)
Выполним установку:
sudo apt-get install docsvision-workerserviceПо умолчанию редактировать файл конфигурации не нужно.
Файл JSON:
8. Установка СУБП (Workflow)
Выполним установку модуля:
sudo apt-get install docsvision-workflowВыполним редактирование конфигурационного файла:
sudo nano /usr/lib/docsvision/workflow/appsettings.jsonУкажите название базы данных, бизнес процессы в которой требуется обрабатывать, в нашем случае это база будет называться dvlinux.
"BaseName": "dvlinux"Если потребуется, чтобы бизнес-процессы могли рассылать почту с помощью почтового шлюза, то укажите отдельно почтовые настройки. Если такой необходимости не будет, то пропустите данный пункт.
Укажите данные системной учетной записи Docsvision:
"SystemUserAccount": "dvadmin@green.local",
"SystemUserPassword": "P@ssw0rd"Полученный файл JSON:
9. Перезапуск платформы и остановка базовых модулей:
Выполним перезапуск модуля «Платформа»:
sudo systemctl restart dvappserverОстановим сервисы базовых модулей Docsvision перед следующим этапом настройки сервера администрирования и созданием базы данных.
sudo systemctl stop dvwebclient dvsettings dvexternalapi dvconsole dvworkerservice dvworkflow dvfileservice dvfulltextserviceПодготовка сервера администрирования на Windows.
Выполняем действия на сервере администрирования Docsvision (DocsvisionAdmin.green.local).
1. Скачаем и установим следующие компоненты:
- ASP.NET Core Runtime (Hosting Bundle) версии 6.0.3
- NET Desktop Runtime x86 версии 6.0.3
- NET Desktop Runtime x64 версии 6.0.3
- Microsoft Visual C++ Redistributable х86
- Microsoft Visual C++ Redistributable х64
- .NET Framework 3.5 (Windows / Windows Server)
2. Установка серверных и клиентских дистрибутивов Docsvision.
Скачиваем установочные пакеты для Linux из центра загрузок Docsvision, обращаем внимание, что если модуль есть в разделе «Накопительные обновления», то забираем его оттуда, так как в нем содержатся все изменения\исправления, выпущенные на текущий момент.
Итого, мы должны получили следующие серверные дистрибутивы (располагаются в папке server). Выполним установку каждого дистрибутива модуля .msi , в указанной последовательности:
- Платформа.
- Служба фоновых операций.
- Конструктор согласований.
- Базовые объекты.
- Управление документами.
- Делопроизводство 4.5.
- Windows-клиент.
- Управление процессами.
- Web-клиент. (сначала Docsvision web-client server extension, потом Docsvision web-client)
Аналогично выполним установку клиентских компонентов, в следующей последовательности:
- Платформа.
- Служба фоновых операций.
- Конструктор согласований.
- Базовые объекты.
- Управление документами.
- Windows-клиент. (в ходе установки будет предложено ввести адрес севрера, в нашем случае: http://AppServer.green.local:5000)
- Делопроизводство 4.5.
- Управление процессами.

3. Выполним изменения в реестре Windows.
В реестре машины укажим фактический адрес Linux-сервера, на котором установлен сервер Docsvision. Откроем командную строку Windows с правами администратора и выполним команду с указанием адреса сервера Docsvision:
reg add HKEY_LOCAL_MACHINE\SOFTWARE\DocsVision\Platform\Site /v ServerURL /t REG_SZ /d http://AppServer.green.local:5000/api/v1
4. Добавим переменные окружения.
Добавим данные системной учётной записи Docsvision в переменные окружения.
Под указанной учётной записью, консоль настройки Docsvision, конструктор Web-разметок и ‘панель управления Web-клиентом’ будут подключаться к серверу Docsvision. Аналогично запустим командную строку Windows с правами администратора и выполним последовательно команды с указанием данных учетной записи:
setx DV_SystemUserAccount dvadmin@green.local
setx DV_SystemUserPassword P@ssw0rd5. Укажите адрес подключения ‘Панели управления Web-клиентом’ к серверу Docsvision в файлах конфигурации.
Для этого откроем файл C:\Program Files (x86)\Docsvision\WebClient\WebClientAdminConsole.appsettings.json в текстовом редакторе с правами администратора (рекомендую Notepad++, он сам предложит переключиться в режим администратора).
В разделе «Server» укажем ConnectionAddress и BaseName.
"Server": {
"SessionManagerConnection": {
"ConnectionAddress": "http://AppServer.green.local:5000",
"BaseName": "dvlinux"
}
}ConnectionAddress — Адрес сервера Docsvision.
BaseName — название БД, от имени которой будет запускаться программа ‘Панель управления Web-клиентом’.
6. Укажем адрес подключения «Панели управления Web-клиентом» к серверу Docsvision в файлах конфигурации.
Откройте файл C:\Program Files (x86)\Docsvision\WebClient\WebLayoutsDesigner.appsettings.json в текстовом редакторе с правами администратора.
В разделе «Server» укажите ConnectionAddress и BaseName, по аналогии, как это сделали ранее для файла конфигурации панели управления Web-клиентом.
"Server": {
"SessionManagerConnection": {
"ConnectionAddress": "http://AppServer.green.local:5000",
"BaseName": "dvlinux"
}
}Создание и дополнительные действия над базой данных Docsvision.
Выполняем действия на сервере администрирования Docsvision (DocsvisionAdmin.green.local).
1. Создание базы данных Docsvision.
Откроем консоль настройки под пользователем от имени администратора. Перейдем в раздел «Базы данных», нажмем кнопку «Мастер баз данных».

Выберем пункт «Создать новую базу данных и подключить ее к серверу».
Введем данные подключения к SQL серверу, если подключение прошло успешно, то будет предложено указать имя базы данных, в нашем случае это та самая база dvlinux, которую мы указывали в конфигурационных файлах. Проходим дальнейшие шаги, без изменений, по кнопке «Далее».
После того, как база данных будет создана, консоль настройки предложит загрузить библиотеки и настроек карточек дополнительных модулей.

Выберем все модули, но перед тем, как продолжить (выполнить нажатие кнопку «Завершить»), обязательно выполним перезапуск сервера Docsvision.
Переключимся на сервер приложений Docsvision — AppServer.green.local и выполним последовательно команды :
sudo systemctl restart dvappserver
sudo systemctl start dvwebclient dvsettings dvexternalapi dvconsole dvworkerservice dvworkflow dvfileservice dvfulltextserviceВернемся на сервер администрирования Docsvision (DocsvisionAdmin.green.local), нажмем кнопку «Завершить» и дождемся завершение установки.
2. Добавим системного пользователя в справочник сотрудников.
Откроем Windows клиент и добавим системного сотрудника в справочник сотрудников, создав предварительно организацию.

3. Импортируем стандартные решения ВК.
Откроем консоль настройки ВК, перейдем на вкладку «Решения» и нажмем кнопку «Импортировать стандартные решения», дождемся загрузки данных.

Дополнительно в последних версиях замечено, что ВК не открывается и конструктор разметок ВК запускается с ошибкой «Не найдена локализация». Чтобы этого избежать, откроем вкладку «Языки» в консоли настройки ВК, выберем базу данных, дождемся загрузки локализаций.

4. Перезапустим сервис Веб клиента.
Переключимся на сервер приложений Docsvision — AppServer.green.local и выполним команду :
systemctl restart dvwebclient5. Откроем веб клиент в браузере.
Пробуем открыть веб клиент, в нашем случае по ссылке, он должен быть доступен и открыт: http://appserver.green.local:5004/ .
Дополнительные шаги:
Установка и настройка Р7-Офис для работы предпросмотра.
Выполняем действия на сервере баз данных (PostgresAstra.green.local).
Создадим базу данных, пользователя и назначим права для Р7-Офис, для этого выполним последовательно команды:
sudo -i -u postgres psql -c "CREATE USER r7office WITH password 'r7office';"
sudo -i -u postgres psql -c "CREATE DATABASE r7office OWNER r7office;"
sudo -i -u postgres psql -c "GRANT ALL privileges ON DATABASE r7office TO r7office;"Далее переключаемся на сервер приложений Docsvision (AppServer.green.local) и выполняем дальнейшие действия там.
Подключим репозиторий Р7-Офис, выполним последовательно команды:
sudo echo "deb https://download.r7-office.ru/repo/debian squeeze main" | sudo tee /etc/apt/sources.list.d/r7-office.list
sudo curl -s https://download.r7-office.ru/repo/gpgkey/r7-office.gpg.key | sudo apt-key add -Обновим базу данных пакетов:
sudo apt updateУстановим пакет RabbitMQ:
sudo apt-get install rabbitmq-serverУстановим Nginx:
sudo apt-get install nginx-extrasУстановим Radis:
sudo apt-get install redis-serverЗаранее укажем ответы на вопросы debconf, касакмые подключения к серверу баз данных, выполним последовательно команды, но обратите внимание, что адрес подключения я указываю свой 192.168.1.55, вам же необходимо его будет изменить, остальное без изменений, с учетом созданной ранее базы данных и пользователя на SQL сервере.
sudo echo r7-office-documentserver-ee ds/db-host string 192.168.1.55 | sudo debconf-set-selections
sudo echo r7-office-documentserver-ee ds/db-pwd select r7office | sudo debconf-set-selections
sudo echo r7-office-documentserver-ee ds/db-user select r7office | sudo debconf-set-selections
sudo echo r7-office-documentserver-ee ds/db-name select r7office | sudo debconf-set-selectionsВыполним установку пакетов, требуемых для дальнейшей установки шрифтов:
sudo apt install cabextract libmspack0 libpcre2-8-0 wget xfonts-encodings xfonts-utilsВ репозитории Astra отсутствует пакет ttf-mscorefonts-installer_3.8.1_all.deb.
Поэтому перенесите его в папку вашего пользователя на сервере Linux и установите вручную. Я лично делаю это с помощью SFTP, через приложение. FileZilla. Вы можете сделать это любым другим удобным инструментом. Если на этом этапе у вас возникнут проблемы, задайте вопрос в комментариях, я вам помогу. Установку пакета выполним следующей командой:
sudo dpkg -i ttf-mscorefonts-installer_3.8.1_all.debДождемся завершения установки шрифтов и выполним установку пакета Р7-Офис.Сервер документов:
sudo apt-get install r7-office-documentserver-eeСовместно с лицензией Docsvision вы должны были получить файл лицензии Р7-Офис.Сервер документов, если файла лицензии нет, то Р7-Офис будет работать 3 месяца в пробном режиме.
Необходимо поместить файл лицензии (<имя файла лицензии>.lic) в папке /var/www/r7-office/Data/ командой:
cp <имя файла лицензии>.lic /var/www/r7-office/Data/license.licИмя файла лицензии должно быть строго license.lic. Назначьте права на файл license.lic:
chmod 644 /var/www/r7-office/Data/license.licСоздайте файл конфигурации для Р7-Офис «ds-docsvision.conf» командой:
touch /etc/nginx/includes/ds-docsvision.confВыполните команду, чтобы новый конфигурационный файл прочитался:
systemctl reload nginxОткройте конфигурационный файл:
sudo nano /etc/nginx/includes/ds-docsvision.confДобавьте в конфигурационный файл, следующие строки:
location ~* ^(\/upload.*)(\/.*) {
alias /tmp$1$2;
add_header Content-Disposition "attachment; filename*=UTF-8''$arg_filename";
}Откройте файл /etc/r7-office/documentserver/local.json:
sudo nano /etc/r7-office/documentserver/local.jsonЗадайте для параметров inbox, outbox и browser значение false. Затем перезапустите службу сервера документов:
sudo systemctl restart ds-docservice.serviceТак как Р7-Офис и Web-клиент находятся на одной машине и для связи между собой используют один частный IP адрес, для корректного отображения предварительного просмотра необходимо изменить значение параметров в файле /etc/r7-office/documentserver/default.json:
sudo nano /etc/r7-office/documentserver/default.jsonНайдите ключ «request-filtering-agent» и внесите изменения (по умолчанию значение параметров – false, измените их на true):
"request-filtering-agent" : {
"allowPrivateIPAddress": true,
"allowMetaIPAddress": true
},После изменения параметров необходимо перезапустить службы командами:
sudo apt install supervisor
sudo systemctl restart ds-converter
sudo service nginx restart && sudo supervisorctl restart allОткройте файл конфигурации веб клиента и добавьте следующие параметры: «ServerR7ConnectionAddress», «ServerR7UploadDirectory», «FilePreviewMode». Для этого откроем файл конфигурации веб клиента:
sudo nano /usr/lib/docsvision/webclient/appsettings.jsonДобавим параметры в раздел «Docsvision»-«WebClient»-«SettingGroups»-«WebClient» со следующими значениями:
"Docsvision": {
"WebClient": {
"SettingGroups": {
"WebClient": {
"ServerR7ConnectionAddress": "http://AppServer.green.local",
"ServerR7UploadDirectory": "/tmp/upload",
"FilePreviewMode": "2"
}
}
}
}
ServerR7ConnectionAddress — URL сервера документов Р7-Офис/OnlyOffice. Настройка обязательна для заполнения. Если URL сервера документов Р7 не указан, остальные настройки будет проигнорированы, и будет использоваться стандартный инструмент предварительного просмотра PDF.js. Адрес необходимо указать в формате FQDN.
ServerR7UploadDirectory — каталог загрузки консолидируемых файлов.
FilePreviewMode — определяет, какой компонент используется для предпросмотра. Значения: 0 — предпросмотр отключен, 2 — предпросмотр с помощью Р7.
Полученный файл JSON:
Выполните перезапуск сервиса веб клиента.
sudo systemctl restart dvwebclientУстановка Криптосервиса.
Выполняем действия на сервере приложений Docsvision (AppServer.green.local).
1. Установка и настройка криптосервиса ЭП
Для использования криптосервиса ЭП требуется Docker. Установим его:
sudo apt install docker.ioЗапустим контейнер, загрузив образ криптосервиса:
sudo docker run -d -p 8100:8094 packages.docsvision.com/cryptoserviceКонтейнер поставляется в комплекте со следующими сертификатами:
- Защищённые сертификаты Минцифры.
- Сертификаты УЦ «Контур».
- Сертификаты «Крипто-Про УЦ 2.0» (TLS CA).
- Сертификаты УЦ ООО «Крипто-Про».
Необязательно: для проверки давайте добавим сертификат тестового УЦ КриптоПро. Создадим папку Cert:
mkdir CertДалее в данную папку загрузим сертификат тестового УЦ КриптоПро. (по аналогии с файлом шрифтов, например, через FileZilla).
Посмотрим список запущенных контейнеров:
sudo docker psИз вывода необходимо скопировать CONTAINER ID для контейнера криптосервиса. В моем случае это 5243393e3ca1 и выполним остановку контейнера:
sudo docker stop 5243393e3ca1Теперь необходимо смонтировать папку Cert (где лежит наш сертификат(ы)) в каталог /var/cryptoservice/cacerts Docker-контейнера и запустить контейнер. При запуске контейнера всё содержимое папки будет импортировано в хранилище. Сделать это можно командой:
sudo docker run -d -p 8100:8094 -v ./Cert:/var/cryptoservice/cacerts packages.docsvision.com/cryptoserviceУстановка криптосервиса завершена, теперь создайте файл с расширением .json и любым именем по пути /usr/lib/docsvision/platform/config :
sudo nano /usr/lib/docsvision/platform/config/Crypto.jsonДобавьте в него содержимое, указав адрес расположения криптосервиса :
{
"DocsVision": {
"BackOffice": {
"Server": {
"Extension": {
"ComplexSignatureServiceAddress": "ConnectAddress=http://AppServer.green.local:8100/cryptoservice/api/v1"
}
}
}
}
}
2. Выполним настройки в консоли настройки.
Откроем консоль управления по ссылке: http://appserver.green.local:5100/
Пройдем авторизацию и перейдем в настройки – соединения. Добавим новое соединение по кнопке «Создать экземпляр», если оно не было создано ранее:

Имя соединения: произвольное (я укажу DVLINUX)
Адрес сервера: http://appserver.green.local:5000 (вам необходимо указать свой)
База данных: dvlinux (вам необходимо указать свою)
Логин: укажите системную учетную запись (в моем случае green\dvadmin)
Пароль: пароль от системной учетной записи (в моем случае P@ssw0rd)
Пройдем на вкладку «Служба фоновых процессов» и нажмем кнопку «Подключить процесс», введем произвольное имя процесса (я укажу Worker DVAdmin Backoffice) и выберем тип конфигурации «Базовые объекты», нажмем «сохранить» и укажем ранее созданное соединение – DVLINUX. Можете настроить еще и почтовое соединение, указав его в настройках процесса, но почтовые уведомления это тем отдельной статьи.

Аналогично создайте новый процесс с типом «Обслуживание ЭП» и укажите соединение. Я назвал свой сервис Worker DVAdmin Crypto:

Создание и запуск службы для pgAgent.
Ранее в статье мы выполняли установку pgAgent и создали расширение, однако этого недостаточно для работы планировщика. Дополнительно необходимо выполнить запуск pgAgent.
Создадим нового пользователя useragent. Для этого перейдем под пользователем postgres
sudo -su postgresОткроем psql:
psqlВыполним последовательно команды на создание пользователя useragent с паролем P@ssw0rd и присвоим ему полные права:
CREATE USER useragent WITH PASSWORD 'P@ssw0rd';
ALTER ROLE useragent SUPERUSER CREATEDB CREATEROLE REPLICATION BYPASSRLS;Выполните выход из psql:
exit;и выполните выход из пользователя postgres, также c помощью команды:
exit;Создайте файл .pgpass в /var/lib/postgresql/ с помощью команды:
sudo nano /var/lib/postgresql/.pgpassВ файле пропишите строку подключения пользователя, от которого будет запускаться pgagent.
Формат строки: имя или ip-адрес хоста:порт:*:имя пользователя:пароль
Пример строки:
127.0.0.1:5432:*:useragent:P@ssw0rdНазначаем пользователя postrgres владельцем файла /var/lib/postgresql/.pgpass командой:
sudo chown postgres:postgres /var/lib/postgresql/.pgpassПрисвоим права 600 на файл .pgpass, т.к. если разрешения будут менее строгими, этот файл не будет прочитан.
sudo chmod 600 /var/lib/postgresql/.pgpassВ частности файл .pgpass нужен, чтобы конфиг файл юнита службы pgagent не содержал в себе пароль в открытом виде (в целях безопасности).
Создаем файл конфигурации pgAgent:
nano /etc/pgagent.confУкажем в нем содержимое, где:
DBNAME — имя системной базы данных.
DBUSER — пользователь под которым будет происходить подключение pgagent.
DBHOST — адрес сервера баз данных, в данном случае 127.0.0.1, так как pgAgent располагается на одной машине с PostgreSQL.
DBPORT — порт PostgreSQL.
LOGFILE — файл лога.
#/etc/pgagent.conf
DBNAME=postgres
DBUSER=useragent
DBHOST=127.0.0.1
DBPORT=5432
# ERROR=0, WARNING=1, DEBUG=2
LOGLEVEL=1
LOGFILE="/var/log/pgagent/pgagent.log"
Создаем сервис pgagent путем создания файла pgagent.service:
sudo nano /lib/systemd/system/pgagent.serviceВнесем настройки в файл:
[Unit]
Description=PgAgent for PostgreSQL
After=syslog.target
After=network.target
[Service]
Type=forking
User=postgres
Group=postgres
# Location of the configuration file
EnvironmentFile=/etc/pgagent.conf
# Where to send early-startup messages from the server (before the logging
# options of pgagent.conf take effect)
# This is normally controlled by the global default set by systemd
# StandardOutput=syslog
# Disable OOM kill on the postmaster
OOMScoreAdjust=-1000
ExecStart=/usr/bin/pgagent -s ${LOGFILE} -l ${LOGLEVEL} host=${DBHOST} dbname=${DBNAME} user=${DBUSER} port=${DBPORT}
KillMode=mixed
KillSignal=SIGINT
Restart=on-failure
# Give a reasonable amount of time for the server to start up/shut down
TimeoutSec=300
[Install]
WantedBy=multi-user.targetСоздадим папку для логов pagent и настроим ей права:
sudo mkdir /var/log/pgagent
sudo chown postgres:postgres /var/log/pgagent/
sudo chmod g+w /var/log/pgagentВыполняем последовательно команды:
sudo systemctl daemon-reload
sudo systemctl enable pgagent
sudo systemctl start pgagentpgAgent запущен и теперь управляется инструментом для управления службами в Linux — systemctl.
Работу pgagent можно проверить следующим способом: создайте в системе карточку, удалите ее, карточка будет перемещена в корзину. Теперь выполните вручную джоб dvjob_имя_бд_purge_deleted_cards . Если после этого корзина будет очищена, то можем считать, что pgagent работает штатно.
Полезное.
| Название модуля | Название сервиса | Файл конфигурации |
| Платформа | dvappserver | /usr/lib/docsvision/platform/appsettings.json |
| Web-клиент | dvwebclient | /usr/lib/docsvision/webclient/appsettings.json |
| Сервис настроек | dvsettings | /usr/lib/docsvision/settingsservice/appsettings.json |
| Сервис внешнего API Консоли управления Docsvision | dvexternalapi | /usr/lib/docsvision/externalapi/appsettings.json |
| Консоль управления Docsvision | dvconsole | /usr/lib/docsvision/managementconsole/appsettings.json |
| Служба фоновых операций | dvworkerservice | /usr/lib/docsvision/workerservice/Configuration.json |
| СУБП (Workflow) | dvworkflow | /usr/lib/docsvision/workflow/appsettings.json |
| Файловый сервиса | dvfileservice | /usr/lib/docsvision/fileservice/appsettings.json |
| Cервис полнотекстового индексирования | dvfulltextservice | /usr/lib/docsvision/fulltextservice/appsettings.json |

Добавить комментарий