Подключите Seafile и Collabora, используя правильный URL-адрес WOPI.

Для подключения Seafile к Collabora Online необходимо включить HTTPS в Seafile, развернуть Collabora и указать в интеграции Seafile с Office конечную точку обнаружения Collabora. Если обе службы работают в одной сети Docker, в текущем руководстве по интеграции Seafile используется внутренний URL-адрес http://collabora:9980/hosting/discovery; если Collabora работает на отдельном хосте, используйте вместо него ее публичный URL-адрес HTTPS.

В текущем руководстве администратора Seafile описана специальная collabora.ymlинтеграция с Compose и соответствующие настройки seahub_settings.py. Точные файлы развертывания могут отличаться в зависимости от версии Seafile, поэтому при адаптации этих примеров используйте руководство, соответствующее вашей установленной версии.

Прежде чем начать

  • Используйте HTTPS-адрес Seafile с действующим TLS-сертификатом. Seafile указывает HTTPS в качестве обязательного условия для интеграции с Collabora.
  • Узнайте, будет ли Collabora работать как отдельный контейнер на том же хосте Docker или как отдельная размещенная служба.
  • Необходимо иметь права администратора для доступа к каталогу развертывания Seafile и seahub_settings.py.
  • Выберите, какие форматы документов разрешать для предварительного просмотра и редактирования. Эти списки расширений управляются настройками Seafile.

Seafile и Collabora обмениваются данными по протоколу WOPI. Seafile предоставляет информацию для доступа к документу, а Collabora запрашивает файл у Seafile. URL-адрес обнаружения сообщает Seafile, какой сервис Collabora использовать и какие возможности редактора он рекламирует.

1. Подтвердите HTTPS в Seafile.

Откройте Seafile в браузере и убедитесь, что его обычный адрес начинается с определенного префикса https://, а сертификат действителен. В руководстве по развертыванию Seafile в Docker показано, как настроить HTTPS-соединение SEAFILE_SERVER_PROTOCOL=httpsв .envфайле, а затем завершить настройку HTTPS через настроенный обратный прокси-сервер. Не используйте общедоступную конечную точку Seafile с обычным HTTP.

# In the Seafile deployment .env file
SEAFILE_SERVER_PROTOCOL=https

Храните сам сертификат и закрытый ключ под контролем вашего TLS-прокси или менеджера сертификатов. Эта настройка сама по себе не выдает сертификат и не настраивает обратный прокси; завершите шаги по настройке HTTPS для вашего развертывания, прежде чем включать онлайн-редактирование Office.

2. Добавьте Collabora в развертывание Docker Seafile.

Для описанной в документации настройки Docker на одном хосте используйте файл Compose из Collabora, предоставленный Seafile, вместо создания несвязанного определения контейнера. В каталоге развертывания Seafile загрузите файл для соответствующей версии руководства и добавьте его collabora.ymlв существующий COMPOSE_FILEсписок в .env. Сохраните файлы Compose, уже используемые вашей установкой.

# Example for a Seafile 14.0 deployment
wget https://manual.seafile.com/14.0/repo/docker/collabora.yml

Установите переменные Collabora, описанные в Seafile, в следующем формате .env:

COLLABORA_IMAGE=collabora/code
COLLABORA_PORT=6232
COLLABORA_USERNAME=your_admin_username
COLLABORA_PASSWORD=use_a_long_unique_secret
COLLABORA_ENABLE_ADMIN_CONSOLE=true
COLLABORA_ENABLE_FILE_LOGGING=false

Используйте уникальный надежный пароль и ограничьте доступ к .envфайлу, поскольку он содержит учетные данные. Пример порта — это открытый порт в конфигурации интеграции Seafile; не предполагайте, что это публичный порт вашего обратного прокси-сервера. Следуйте инструкциям в соответствующем collabora.ymlфайле и настройкам прокси-сервера для вашей версии.

После добавления сервиса в развертывание запустите или обновите стек Compose, используя обычную процедуру Seafile. Избегайте прямой публикации внутреннего порта Collabora в интернете, если это явно не требуется в вашей системе и вы не защитили конечную точку.

3. Направьте Seafile на URL-адрес обнаружения Collabora.

Отредактируйте активный seahub_settings.pyфайл и добавьте параметры интеграции. Для настройки Compose на одном хосте в руководстве Seafile используется имя службы и внутренний порт Collabora:

OFFICE_SERVER_TYPE = 'CollaboraOffice'
ENABLE_OFFICE_WEB_APP = True
OFFICE_WEB_APP_BASE_URL = 'http://collabora:9980/hosting/discovery'
WOPI_ACCESS_TOKEN_EXPIRATION = 30 * 60

OFFICE_WEB_APP_FILE_EXTENSION = (
    'odp', 'ods', 'odt', 'xls', 'xlsb', 'xlsm', 'xlsx',
    'ppsx', 'ppt', 'pptm', 'pptx', 'doc', 'docm', 'docx'
)

ENABLE_OFFICE_WEB_APP_EDIT = True
OFFICE_WEB_APP_EDIT_FILE_EXTENSION = (
    'odp', 'ods', 'odt', 'xls', 'xlsb', 'xlsm', 'xlsx',
    'ppsx', 'ppt', 'pptm', 'pptx', 'doc', 'docm', 'docx'
)

Указанный http://здесь URL — это внутренний адрес между сервисами в документированной сети Docker компании Seafile. Для доступа к сайту Seafile через браузер по-прежнему требуется HTTPS. Не копируйте этот внутренний адрес в развертывание на отдельном хосте.

Для Collabora на другом хосте настройте Collabora за HTTPS на стандартном общедоступном порту, а обратный прокси будет перенаправлять запросы на порт прослушивания Collabora. Установите базовый URL-адрес на фактическое имя вашего общедоступного хоста, например:

OFFICE_WEB_APP_BASE_URL = 'https://office.example.com/hosting/discovery'

Убедитесь, что имя хоста в URL-адресе разрешается и предоставляет действительный сертификат от клиентов, которым необходимо открыть документы. Также настройте список разрешенных хостов WOPI в Collabora так, чтобы он принимал хост сервера Seafile. В официальной документации Docker для Collabora описана переменная aliasgroupсреды для объявления разрешенного хоста WOPI; точно совместите хост и схему, используемые Seafile, и избегайте широкого доступа с использованием подстановочных знаков на производственном сервере.

4. Перезагрузите устройство и проверьте соединение.

Перезапустите Seafile, чтобы Seahub загрузил новые настройки Python. Используйте процедуру перезапуска, соответствующую вашему пакету, стеку Compose или настройке Kubernetes; имена служб и команды различаются в зависимости от развертывания. Если вы добавили новый файл Compose, убедитесь, что контейнер Collabora запущен, прежде чем тестировать рабочий процесс в браузере.

Откройте поддерживаемый документ Office через веб-интерфейс Seafile. Файл должен открыться в редакторе Collabora, отобразить свое содержимое и сохранить небольшое тестовое изменение обратно в Seafile. Успешное открытие документа более полезно, чем просто проверка страницы обнаружения, поскольку оно проверяет браузер, Seafile, Collabora и передачу файлов WOPI.

Для устранения неполадок проверьте каждое соединение.

  • Seahub сообщает об ошибке обнаружения: Confirm OFFICE_WEB_APP_BASE_URLдоступен из службы Seafile. Используйте внутреннее имя службы Docker только в том случае, если оба контейнера используют эту сеть.
  • Редактор загружает, но не может получить файл: проверьте журналы Collabora и Seafile. Убедитесь, что Collabora разрешает доступ к хосту Seafile WOPI и что сертификат HTTPS Seafile является доверенным.
  • Это работает на том же хосте, но не удаленно: замените внутренний URL-адрес на общедоступный URL-адрес обнаружения HTTPS, подтвердите DNS и TLS и убедитесь, что прокси-сервер перенаправляет запросы Collabora на порт 9980.
  • Доступны только некоторые форматы: Review OFFICE_WEB_APP_FILE_EXTENSIONи OFFICE_WEB_APP_EDIT_FILE_EXTENSION. Ограничьте эти списки форматами, необходимыми вашим пользователям и поддерживаемыми вашей системой Collabora.
  • Настройки отображаются без изменений после перезапуска: подтвердите, что вы отредактировали активный параметр seahub_settings.pyи перезапустили правильную службу Seafile.

Для автономного узла Collabora Seafile специально направляет администраторов к документации по развертыванию Collabora, а не к встроенному файлу collabora.yml. Встроенный файл предназначен для той же конфигурации хоста/сети Docker, описанной выше.

Официальные ссылки

Оставить комментарий

Подключите Seafile и Collabora, используя правильный URL-адрес WOPI.

Подключите Seafile и Collabora, используя правильный URL-адрес WOPI.

Обеспечьте безопасное редактирование документов в Seafile, настроив URL-адрес обнаружения Collabora, HTTPS и доступ WOPI для вашей системы.

Восстановить функции копирования и вставки между Collabora и настольными приложениями.

Восстановить функции копирования и вставки между Collabora и настольными приложениями.

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

Сделайте пользовательские шрифты доступными в Docker-контейнере Collabora CODE.

Сделайте пользовательские шрифты доступными в Docker-контейнере Collabora CODE.

Смонтируйте файлы шрифтов в Docker и системную панель Collabora, чтобы пользовательские шрифты отображались в редакторе и корректно отображались в документах.

Восстановите настройки кода Collabora без потери изменений развертывания.

Восстановите настройки кода Collabora без потери изменений развертывания.

Создайте резервную копию файла coolwsd.xml и его исходных файлов развертывания, безопасно восстановите их и проверьте код, прежде чем пользователи вернутся к редактированию.

Исправьте проверку хоста WOPI в CODE, сопоставив источник хоста.

Исправьте проверку хоста WOPI в CODE, сопоставив источник хоста.

Разрешите использование именно Nextcloud или другого источника WOPI в коде, затем проверьте список разрешенных активных хостов и сопоставьте его с ограничением Nextcloud по IP-адресу источника.

Исправлена ​​ошибка Collabora «Ну, это неловко».

Исправлена ​​ошибка Collabora «Ну, это неловко».

Проанализируйте соединения Collabora с браузером, WOPI и WebSocket, чтобы выяснить, почему документ не открывается, а затем примените исправление, соответствующее вашей настройке Nextcloud.

Запуск Collabora Online на узлах Kubernetes

Запуск Collabora Online на узлах Kubernetes

Разверните реплики Collabora CODE с помощью Helm, разместите каждый документ в отдельном поде с помощью привязки WOPI и проверьте входящий трафик, размещение узлов и редактирование в Nextcloud.

Восстановите WebSocket-соединение Collabora через прокси-сервер.

Восстановите WebSocket-соединение Collabora через прокси-сервер.

Проследите за ошибкой установления соединения между браузером и coolwsd, затем сопоставьте маршрут обратного прокси с вашей версией Collabora, включая изменение Apache в коде 26.04.

Устранение ошибок подтверждения WOPI путем проверки ключей, обнаружения и URL-адресов.

Устранение ошибок подтверждения WOPI путем проверки ключей, обнаружения и URL-адресов.

Обнаруживайте причины сбоев подтверждения WOPI в Collabora, такие как несоответствие ключей, устаревшие данные обнаружения, смещение времени или изменения URL-адресов прокси-сервера, — без ослабления проверки.

Исправлена ​​ошибка отображения выпадающего списка размеров шрифта в Collabora Online.

Исправлена ​​ошибка отображения выпадающего списка размеров шрифта в Collabora Online.

Сбросьте масштаб браузера, протестируйте чистую сессию и определите, когда меню с некорректным размером требует обновления сервера Collabora.