Настройка "Р7-Офис. Сервер документов"
|
"Р7-Офис. Сервер документов" или "OnlyOffice" используется для предварительного просмотра файлов в карточках и для консолидации версий документов при согласовании. Данный раздел описывает установку и настройку Р7-Офис. Сервер документов, а также подготовку Web-клиента для использования функций предварительного просмотра и консолидации.
Предварительный просмотр при помощи "Р7-Офис. Сервер документов" или OnlyOffice позволяет отображать предпросмотр не печатной версии документа, а непосредственно файла. Например, для документа Excel появляется возможность скопировать данные из файла с сохранением структуры и форматирования. Возможность предварительного просмотра сохраняется, но функциональность ограничена набором возможностей Р7, например, новый компоненте не поддерживает функцию поворота на 90 градусов.
Р7-Офис сервер документов может быть установлен и настроен самостоятельно по инструкции ниже или можно сразу подключиться к активному серверу Р7. Если планируется подключаться к активному серверу, перейдите сразу к указанию адреса Р7 Сервера документов в конфигурационном файле Web-клиента. |
Установка Р7-Офис. Сервер документов
-
Установите "Р7-Офис. Сервер документов" согласно официальной инструкции на сайте Р7-Офис. Потребуется лицензия на Р7-Офис. В случае установки лицензии в ручном режиме, дополнительно может потребоваться назначить права на файл
license.lic
:chmod 644 /var/www/r7-office/Data/license.lic
-
Если все действия выполнены правильно, при открытии в браузере адреса
http://localhost:port
появится сообщение "Сервер документов запущен". -
Создайте файл конфигурации для Р7-Офис
/etc/nginx/includes/ds-docsvision.conf
. -
Выполните команду, чтобы новый конфигурационный файл прочитался:
systemctl reload nginx
-
В конфигурационный файл добавьте следующие строки:
location ~* ^(\/upload.*)(\/.*) { alias /tmp$1$2; add_header Content-Disposition "attachment; filename*=UTF-8''$arg_filename"; }
-
В файле
/etc/r7-office/documentserver/local.json
задайте для параметровinbox
,outbox
иbrowser
значениеfalse
. Затем перезапустите службу сервера документов:sudo systemctl restart ds-docservice.service
-
В целях повышения безопасности настоятельно рекомендуется перевести сервер документов на использование HTTPS. Если переводить сервер документов на HTTPS не планируется, перейдите к пункту Конфигурация Web-клиента. Для этого на сервере с установленным Р7 необходимо установить самоподписанный сертификат.
-
Создать сертификат можно при помощи утилиты OpenSSL. Запустите Win64 OpenSSL Command Prompt от имени администратора, перейдите в директорию, в которой располагается файл
r7-cert.pfx
-
Выполните команду:
openssl req -x509 -newkey rsa:2048 -keyout test.key -nodes -out test.crt -subj "/CN=r7.domain.com (1)
1 Вместо r7.domain.com
укажите имя сервера с установленным Р7. -
Установите сертификат в системе на сервере Web-клиент, поместив его в папку
/usr/local/share/ca-certificates/
, после чего необходимо будет выполнить команду:sudo update-ca-certificates -v -f.
-
После установки сертификата переключите Р7 на использование HTTPS с созданным сертификатом согласно https официальной инструкции на сайте Р7.
-
Переведите Web-клиент на использование HTTPS.
Конфигурация Web-клиента
Для использования "Р7-Офис. Сервер документов" с целью повышения безопасности настоятельно рекомендуется перевести Web-клиент на использование HTTPS. Если переводить Web-клиент на использование HTTPS не планируется, перейдите сразу к указанию адреса Р7 Сервера документов в конфигурационном файле Web-клиента.
-
Создайте самоподписанный сертификат при помощи утилиты OpenSSL:
openssl req -x509 -newkey rsa:4096 -sha256 -keyout .\out\cert.key -out .\out\certificate.crt -subj "/CN=http://WebClientDomain.com" -days 600
-
Откройте конфигурационный файл Web-клиента по адресу
/usr/lib/docsvision/webclient/appsettings.json
в любом текстовом редакторе и отредактируйте следующие параметры:"Kestrel": { "Endpoints": { "Http": { "Url": "https://*:5004", (1) "Certificate": { "Path": "/path/to/your.crt", (2) "KeyPath": "/path/to/your.key" (3) } } }
1 Адрес, по которому будет доступен Web-клиент. 2 Путь к сертификату. 3 Путь к закрытому ключу сертификата. -
Следующим шагом в том же конфигурационном файле необходимо указать адрес сервера документов Р7 и определить режим предварительного просмотра:
"Docsvision": { "WebClient": { "SettingGroups": { "WebClient": { "ServerR7ConnectionAddress": "https://dvserver.preview.com", (1) "ServerR7UploadDirectory": "/tmp/upload", (2) "FilePreviewMode": "2", (3) } } } }
1 ServerR7ConnectionAddress
— URL сервера документов Р7-Офис/OnlyOffice. Настройка обязательна для заполнения. Если URL сервера документов Р7 не указан, остальные настройки будет проигнорированы, и будет использоваться стандартный инструмент предварительного просмотра PDF.js.2 ServerR7UploadDirectory
— каталог загрузки консолидируемых файлов.3 FilePreviewMode
— определяет, какой компонент используется для предпросмотра. Значения:0
— предпросмотр отключен,2
— предпросмотр с помощью Р7. -
Откройте в браузере адрес Р7-Офис сервер документов, например,
https://dvserver.preview.com
. -
Откройте карточку с приложенным файлом. Предпросмотр должен отображаться.
Авторизация с помощью токена
Работа с Р7-Офис сервер документов для консолидации и предварительного просмотра поддерживает авторизацию с помощью токена, что является более безопасным вариантом стандартного режима работы.
-
В конфигурационном файле Р7-Офис по адресу
/etc/r7-office/documentserver/local.json
установите параметрыinbox
,outbox
иbrowser
в значениеtrue
для использования токенов. -
В том же конфигурационном фйле
local.json
укажите секретное слово для параметровinbox
,outbox
,session
, используя цифры и буквы латинского алфавита, фрагмент конфигурационного файла см. ниже."services": { "CoAuthoring": { "sql": { "type": "postgres", "dbHost": "localhost", "dbPort": "5432", "dbName": "r7office", "dbUser": "r7office", "dbPass": "r7office" }, "redis": { "host": "localhost" }, "token": { "enable": { "request": { "inbox": true, "outbox": true }, "browser": true }, "inbox": { "header": "Authorization" }, "outbox": { "header": "Authorization" } }, "secret": { "inbox": { "string": "verysecretstring" (1) }, "outbox": { "string": "verysecretstring" (2) }, "session": { "string": "verysecretstring" (3) } } } },
1 Секретное слово для параметра inbox
.2 Секретное слово для параметра outbox
.3 Секретное слово для параметра session
. -
Перезапустите сервер документов Р7.
-
В конфигурационном файле Web-клиента по адресу
/usr/lib/docsvision/webclient/appsettings.json
в разделеукажите параметр
ServerR7SecretToken
со значением секретного слова. -
Перезапустите dvwebclient.
-
Если предыдущие шаги настройки выполнены корректно, Р7-Офис сервер документов должен работать без ошибок. Если при предварительном просмотре или консолидации возникают ошибки с упоминанием токена в тексте ошибки, настройка выполнена некорректно, проверьте правильность выполнения описанных выше шагов.