Настройка "Р7-Офис" в Консоли управления Docsvision

Данный раздел описывает установку и настройку "Р7-Офис. Сервер документов" (далее "Р7-Офис") в Консоли управления Docsvision, а также подготовку Web-клиента для использования функций предварительного просмотра и консолидации.

Для установки Р7-Офис требуется минимальная версия ОС Astra Linux 1.7.3.

Настройка "Р7-Офис" в Консоли управления Docsvision
Рисунок 1. Настройка "Р7-Офис" в Консоли управления Docsvision

Обратите внимание, в Web-клиенте версии ниже версии 6.1, сборка 735 и выше Р7-Офис необходимо было устанавливать на сервер Web-клиента, в противном случае функции консолидации и объединения версий оказывались недоступными, также могли возникать проблемы с редактированием файлов.

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

Р7-Офис или "OnlyOffice" используется для предварительного просмотра файлов в карточках и для консолидации версий документов при согласовании.

Предварительный просмотр при помощи Р7-Офис или OnlyOffice позволяет отображать предпросмотр не печатной версии документа, а непосредственно файла. Р7-Офис позволяет скопировать данные из документа Excel с сохранением структуры и форматирования. Некоторые функции ограничены возможностями Р7, например, новый компонент не поддерживает функцию поворота на 90 градусов.

Р7-Офис может быть установлен и настроен самостоятельно по инструкции ниже или можно сразу подключиться к активному серверу Р7. Если планируется подключаться к активному серверу, перейдите сразу к указанию адреса Р7 Сервера документов в конфигурационном файле Web-клиента.

Установка Р7-Офис

Чтобы настроить работу Р7-Офис для включения предварительного просмотра и работы консолидации:
  1. Убедитесь, что в Windows-клиенте указан Адрес сервера Web-клиента, см. подробнее в разделе "Системные настройки модуля Windows-клиент".

  2. Установите Р7-Офис согласно официальной инструкции на сайте Р7-Офис для Linux или для Windows. Потребуется лицензия на Р7-Офис. В случае установки лицензии в ручном режиме, дополнительно может потребоваться назначить права на файл license.lic:

    chmod 644 /var/www/r7-office/Data/license.lic
  3. Если все действия выполнены правильно, при открытии в браузере адреса http://localhost:port появится сообщение "Сервер документов запущен".

  4. Создайте файл конфигурации для Р7-Офис /etc/nginx/includes/ds-docsvision.conf.

  5. Выполните команду, чтобы новый конфигурационный файл прочитался:

    systemctl reload nginx
  6. В конфигурационный файл добавьте следующие строки:

    location ~* ^(\/upload.*)(\/.*) {
      alias /tmp$1$2;
      add_header Content-Disposition "attachment; filename*=UTF-8''$arg_filename";
    }
  7. В файле /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:

    {
    "request-filtering-agent" : {
      "allowPrivateIPAddress": false,
      "allowMetaIPAddress": false
    }
    }

    По умолчанию значение параметров установлено в false, необходимо изменить его на true.

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

    sudo service nginx restart && sudo supervisorctl restart all
  8. В целях повышения безопасности настоятельно рекомендуется перевести сервер документов на использование HTTPS. Если переводить сервер документов на HTTPS не планируется, перейдите к пункту Конфигурация Web-клиента. Для этого на сервере с установленным Р7 необходимо установить самоподписанный сертификат.

  9. Создать сертификат можно при помощи утилиты OpenSSL. Запустите Win64 OpenSSL Command Prompt от имени администратора, перейдите в директорию, в которой располагается файл r7-cert.pfx

  10. Выполните команду:

    openssl req -x509 -newkey rsa:2048 -keyout test.key -nodes -out test.crt -subj "/CN=r7.domain.com (1)
    1 Вместо r7.domain.com укажите имя сервера с установленным Р7.
  11. Установите сертификат в системе на сервере Web-клиент, поместив его в папку /usr/local/share/ca-certificates/, после чего необходимо будет выполнить команду:

    sudo update-ca-certificates -v -f.
  12. После установки сертификата переключите Р7 на использование HTTPS с созданным сертификатом согласно https официальной инструкции на сайте Р7.

  13. Переведите Web-клиент на использование HTTPS.

Конфигурация Web-клиента

Для использования Р7-Офис с целью повышения безопасности настоятельно рекомендуется перевести Web-клиент на использование HTTPS. Если переводить Web-клиент на использование HTTPS не планируется, перейдите сразу к указанию адреса Р7 Сервера документов в конфигурационном файле Web-клиента.

  1. Создайте самоподписанный сертификат при помощи утилиты OpenSSL:

    openssl req -x509 -newkey rsa:4096 -sha256 -keyout .\out\cert.key -out .\out\certificate.crt -subj "/CN=http://WebClientDomain.com" -days 600
  2. Откройте конфигурационный файл Web-клиента по адресу /usr/lib/docsvision/webclient/appsettings.json в Linux или C:\Program Files\Docsvision\WebClient\appsettings.json в Windows любым текстовым редактором и отредактируйте следующие параметры:

    {
      "Kestrel": {
        "Endpoints": {
          "Http": {
            "Url": "https://*:5004", (1)
            "Certificate": {
            "Path": "/path/to/your.crt", (2)
            "KeyPath": "/path/to/your.key" (3)
          }
        }
      }
    }
    1 Адрес, по которому будет доступен Web-клиент.
    2 Путь к сертификату.
    3 Путь к закрытому ключу сертификата.
  3. Следующим шагом в Консоли управления Docsvision перейдите на страницу Серверы  Имя-сервера  Web-клиент, перейдите к разделу Работа с файлами  Настройка Р7-Офис и отредактируйте следующие параметры:

    Для корректной работы предварительного просмотра убедитесь, что URL сервера документов Р7-Офис/OnlyOffice доступен с клиентских рабочих мест.
    • Адрес сервера документов Р7-Офис/OnlyOffice — URL сервера документов Р7-Офис/OnlyOffice. Если URL сервера документов Р7 не указан, остальные настройки будет проигнорированы.

    • Каталог загрузки консолидируемых файлов — каталог на сервере Р7-Офис, в который временно будут загружаться консолидируемые файлы.

  4. Откройте в браузере адрес Р7-Офис сервер документов, например, https://dvserver.preview.com.

  5. Откройте карточку с приложенным файлом. Предпросмотр должен отображаться.

Авторизация с помощью токена

Работа с Р7-Офис сервер документов для консолидации и предварительного просмотра поддерживает авторизацию с помощью токена, что является более безопасным вариантом стандартного режима работы.

Чтобы настроить авторизацию с помощью токена:
  1. В конфигурационном файле Р7-Офис по адресу /etc/r7-office/documentserver/local.json установите параметры inbox, outbox и browser в значение true для использования токенов.

  2. В том же конфигурационном файле 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.
  3. Перезапустите сервер документов Р7.

  4. В Консоли управления Docsvision, на странице Серверы  Имя-сервера  Web-клиент, перейдите к разделу Работа с файлами  Настройка Р7-Офис и укажите значение секретного слова в параметре Секретное слово.

  5. Перезапустите службу сервера Web-клиент.

  6. Если предыдущие шаги настройки выполнены корректно, Р7-Офис сервер документов должен работать без ошибок. Если при предварительном просмотре или консолидации возникают ошибки с упоминанием токена в тексте ошибки, настройка выполнена некорректно, проверьте правильность выполнения описанных выше шагов.