Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Предварительные требования (Обязательное условие)

Для настройки интеграции необходимо предварительно развернуть сервер ONLYOFFICE Docs (Document Server).

Warning
titleВажно

Установка ONLYOFFICE Docs должна производиться на отдельной машине (выделенном сервере), обособленно от сервера Vitro-CAD.

Официальные дистрибутивы ONLYOFFICE Docs Community для различных операционных систем, а также руководства по их установке доступны в официальной документации ONLYOFFICE.

После успешного развертывания ONLYOFFICE Docs на отдельном сервере можно переходить к пошаговой настройке интеграции с Vitro-CAD.



1. Схема сетевого взаимодействия

Для работы редактора должны выполняться 4 сетевых соединения:

Инициатор

Адрес назначения

Назначение

Браузер пользователя

Vitro-CAD

Открытие страницы редактора и получение конфигурации

Браузер пользователя

DocumentServerUrl

Загрузка интерфейса и ресурсов ONLYOFFICE

ONLYOFFICE Docs

PortalPublicUrl

Загрузка исходного файла и отправка результата сохранения (callback)

Vitro-CAD

DocumentServerUrl

Проверка активной сессии и загрузка сохраненного файла

  • DocumentServerUrl — сетевой адрес сервера ONLYOFFICE Docs. Должен быть доступен из браузеров пользователей и с сервера Vitro-CAD.
  • PortalPublicUrl — сетевой адрес сервера Vitro-CAD. Должен быть доступен с сервера ONLYOFFICE Docs.



2. Проверка Vitro-CAD и настройка просмотрщика файлов

Проверка версии

  1. Убедитесь, что версия серверной части Vitro-CAD — не ниже 2026.1.5.3.
  2. Если потребовалось обновление сервера, после его проведения перезапустите службу Vitro Server.

Настройка просмотрщика в Центре администрирования (GUI)

Чтобы при клике на файл соответствующего формата открывался редактор ONLYOFFICE Docs, необходимо вручную назначить просмотрщик для нужных расширений:

  1. Перейдите в Центр администрирования Vitro-CAD.
  2. В левом боковом меню выберите раздел НастройкиСпискиРасширения файлов. Список скрытый.
  3. Нажмите на необходимое расширение в списке (например, docx, xlsx, pptx и т. д.).
  4. В правой панели свойств найдите поле Просмотрщик файлов.
  5. Введите или выберите из выпадающего списка значение Only Office (onlyOffice).
  6. Сохраните изменения.
  7. Повторите процедуру для остальных целевых расширений файлов.
Info
titleПримечание

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

Поддерживаемые форматы:

  • Документы: doc, docm, docx, dot, dotm, dotx, odt, ott, rtf, txt;
  • Таблицы: csv, ods, ots, xls, xlsb, xlsm, xlsx, xlt, xltm, xltx;
  • Презентации: odp, otp, pot, potm, potx, pps, ppsm, ppsx, ppt, pptm, pptx.

Проверка назначения просмотрщика через БД (опционально)

Проверить корректность привязки просмотрщика в базе данных можно с помощью SQL-запроса:

Code Block
sql
sql
SELECT
fe.internal_name AS extension,
fv.internal_name AS viewer
FROM public.file_extension fe
LEFT JOIN public.file_viewer fv ON fv.id = fe.file_viewer
WHERE fe.internal_name IN (
'doc', 'docm', 'docx', 'dot', 'dotm', 'dotx', 'odt', 'ott', 'rtf', 'txt',
'csv', 'ods', 'ots', 'xls', 'xlsb', 'xlsm', 'xlsx', 'xlt', 'xltm', 'xltx',
'odp', 'otp', 'pot', 'potm', 'potx', 'pps', 'ppsm', 'ppsx', 'ppt', 'pptm', 'pptx'
)
ORDER BY fe.internal_name;

Для всех настроенных расширений в колонке viewer должно отображаться значение onlyOffice.



3. Сетевой доступ между серверами

  1. Выберите адреса подключения:
    1. DocumentServerUrl (например, https://docs.example.ru/ —  сетевой адрес сервера ONLYOFFICE Docs, доступный с рабочих мест и с сервера Vitro-CAD.
    2. PortalPublicUrl (например, https://vitro.example.ru/ —  сетевой адрес Vitro-CAD, доступный с сервера ONLYOFFICE Docs.

  2. Проверьте доступность адресов и портов между серверами:
    1. Windows (PowerShell):
      Code Block
      languagepowershell
      Test-NetConnection docs.example.ru -Port 443
      Test-NetConnection vitro.example.ru -Port 443
    2. Linux (Bash):
      Code Block
      languagebash
      curl -I https://docs.example.ru/healthcheck
      curl -I https://vitro.example.ru/

Warning
titleВажно

Если страница Vitro-CAD открывается по HTTPS, адрес DocumentServerUrl также обязан использовать HTTPS. В противном случае браузер заблокирует загрузку ONLYOFFICE как Mixed Content.



4. Настройка Vitro-CAD (onlyoffice.json)

  1. Создайте или отредактируйте файл onlyoffice.json на сервере Vitro-CAD:
    1. Windows: C:\Program Files\Vitro Software\Vitro\Server\Conf\onlyoffice.json
    2. Linux: /etc/Vitro/Server/Conf/onlyoffice.json
  2. Укажите параметры конфигурации:
    Code Block
    {
    	"DocumentServerUrl": "https://docs.example.ru/",
    	"PortalPublicUrl": "https://vitro.example.ru/",
    	"JwtSecret": "<JWT_SECRET>",
    	"SessionLookupDays": 7
    }

Параметры конфигурации:

Параметр

Обязательный

Назначение

DocumentServerUrl

Да

Корневой адрес ONLYOFFICE Docs (доступный клиентам и серверу Vitro-CAD)

PortalPublicUrl

Да

Корневой адрес Vitro-CAD (доступный с сервера ONLYOFFICE Docs)

JwtSecret

Да

Секрет подписи запросов между Vitro-CAD и ONLYOFFICE Docs

SessionLookupDays

Нет

Глубина поиска активной сессии в днях (по умолчанию 7)

Warning
titleВажно

Протокол и порт должны точно соответствовать реальному адресу.

После изменения onlyoffice.json необходимо перезапустить Vitro Server.



5. Настройка JWT в ONLYOFFICE Docs

  1. Сгенерируйте случайный секрет длиной 32 байта:
    • Windows (PowerShell):
      Code Block
      powershell
      powershell
      $bytes = New-Object byte[] 32
      $generator = [System.Security.Cryptography.RandomNumberGenerator]::Create()
      $generator.GetBytes($bytes)
      [Convert]::ToBase64String($bytes)
      $generator.Dispose()
      
    • Linux:
      Code Block
      bash
      bash
      openssl rand -base64 32
      
  1. Укажите полученное значение в параметре JwtSecret файла onlyoffice.json.
  2. Откройте файл local.json на сервере ONLYOFFICE Docs:
    1. Windows: C:\Program Files\ONLYOFFICE\DocumentServer\config\local.json
    2. Linux: /etc/onlyoffice/documentserver/local.json
  3. Включите проверку JWT и укажите тот же секрет:
    Code Block
    {
      "services": {
        "CoAuthoring": {
          "token": {
            "enable": {
              "browser": true,
              "request": {
                "inbox": true,
                "outbox": true
              }
            }
          },
          "secret": {
            "inbox": {
              "string": "<JWT_SECRET>"
            },
            "outbox": {
              "string": "<JWT_SECRET>"
            },
            "session": {
              "string": "<JWT_SECRET>"
            }
          }
        }
      }
    }
Warning
titleВажно

Значения JwtSecret, secret.inbox.string, secret.outbox.string и secret.session.string должны полностью совпадать.

Warning
titleВажно

Не изменяйте файл default.json, так как его параметры восстанавливаются при обновлении ONLYOFFICE Docs.

Разрешение доступа к частным IP-адресам

Если PortalPublicUrl содержит частный IP-адрес, ONLYOFFICE Docs может заблокировать загрузку файла и callback. В этом случае добавьте в local.json на сервере ONLYOFFICE Docs:

Code Block
json
json
{
  "services": {
    "CoAuthoring": {
      "request-filtering-agent": {
        "allowPrivateIPAddress": true,
        "allowMetaIPAddress": false
      }
    }
  }
}



6. HTTPS и сертификаты

Для производственной установки следует использовать доверенные сертификаты и HTTPS для Vitro-CAD и ONLYOFFICE Docs.

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

  1. Браузеры пользователей доверяют сертификату DocumentServerUrl.
  2. Сервер ONLYOFFICE Docs доверяет сертификату PortalPublicUrl.

Самоподписанный сертификат, принятый пользователем в браузере, не становится автоматически доверенным для службы ONLYOFFICE Docs. 
Параметр services.CoAuthoring.requestDefaults.rejectUnauthorized: false допускается использовать только для временной диагностики.



7. Перезапуск служб

После изменения local.json на сервере ONLYOFFICE Docs и onlyoffice.json на сервере Vitro-CAD перезапустите службы.

На сервере ONLYOFFICE Docs и Vitro-CAD (Linux):

Code Block
bash
bash
sudo systemctl restart ds-converter ds-docservice ds-metrics
sudo systemctl restart vitro-server

На сервере ONLYOFFICE Docs (Windows PowerShell от имени администратора):

Code Block
powershell
powershell
Restart-Service DsConverterSvc
Restart-Service DsDocServiceSvc
Restart-Service DsProxySvc

После этого перезапустите службу Vitro Server на сервере Vitro-CAD. Открытые вкладки редактора в браузерах пользователей необходимо перезагрузить.



8. Проверка работы интеграции

Проверка доступности ONLYOFFICE Docs

С рабочего места пользователя и с сервера Vitro-CAD выполните:

Code Block
powershell
powershell
Invoke-WebRequest "https://docs.example.ru/healthcheck" -UseBasicParsing
Invoke-WebRequest "https://docs.example.ru/web-apps/apps/api/documents/api.js" -UseBasicParsing

Запрос healthcheck должен вернуть true, оба запроса должны завершиться со статусом 200.

Проверка связи ONLYOFFICE с Vitro-CAD

С сервера ONLYOFFICE Docs проверьте доступность PortalPublicUrl:

Code Block
bash
bash
curl -I https://vitro.example.ru/

После открытия документа ONLYOFFICE Docs обращается к адресу:

Code Block
none
none
/onlyOffice/api/editor/getDocument/...

Проверка открытия и сохранения

  1. В Vitro-CAD откройте файл docx, xlsx или pptx.
  2. Убедитесь, что файл открылся в новой вкладке ONLYOFFICE.
  3. Внесите изменение и нажмите кнопку сохранения.
  4. Закройте вкладку редактора.
  5. Проверьте появление новой версии файла в Vitro-CAD.

При нажатии кнопки сохранения ONLYOFFICE выполняет ForceSave и отправляет callback со статусом 6. После закрытия измененного документа отправляется финальный callback со статусом 2.



9. Права пользователей

Vitro-CAD передает в ONLYOFFICE идентификатор и имя пользователя текущей сессии.

Права Vitro-CAD

Режим ONLYOFFICE

Нет Read

Открытие запрещено

Есть Read, нет Upload

Только просмотр

Есть Read и Upload

Редактирование актуальной версии

Открыта конкретная версия

Только просмотр независимо от Upload



10. Диагностика и устранение неполадок

Симптом

Причина и решение

Вместо редактора скачивается файл

  1. Расширению не назначен просмотрщик onlyOffice в Центре администрирования.
  2. Запрос GET /onlyOffice/api/editor/getConfig/ возвращает не статус 200.
  3. Ошибки Mixed Content или сертификата в консоли браузера.
  4. Не совпадают JWT-секреты.

Пустой документ или «Загрузка не удалась»

ONLYOFFICE Docs не смог загрузить файл с сервера Vitro-CAD.

Проверьте PortalPublicUrl, маршрутизацию и файрволл между серверами, параметр allowPrivateIPAddress и логи docservice.

«Не удается сохранить документ»

ONLYOFFICE не может отправить POST на /onlyOffice/api/editor/processCallback/...

или

Vitro-CAD не может скачать файл по предоставленному адресу.

Invalid token или код команды 6

Не совпадают секреты JWT в onlyoffice.json и local.json (inbox, outbox, session), либо службы не были перезапущены.

socket hang up, ECONNREFUSED

ONLYOFFICE Docs не может подключиться к PortalPublicUrl

(например, ошибочно указан HTTP-протокол на HTTPS-порту или сетевое подключение заблокировано).

Журналы (логи) ONLYOFFICE Docs:

  • Windows: C:\Program Files\ONLYOFFICE\DocumentServer\Log\docservice, ...\converter
  • Linux: /var/log/onlyoffice/documentserver/docservice/, ...\converter



11. Текущие ограничения

  • История изменений и changes.zip не сохраняются отдельно в Vitro-CAD и не отображаются в интерфейсе истории ONLYOFFICE.
  • Сравнение версий средствами ONLYOFFICE не подключено.
  • Редактируется только актуальная версия; исторические версии открываются только для просмотра.
  • После ForceSave финальный callback со статусом 2 может создать дополнительную версию с тем же содержимым.