Главная
» Как сделать
»
Подключите Nextcloud к самостоятельно размещенному контейнеру Collabora CODE.
Подключите Nextcloud к самостоятельно размещенному контейнеру Collabora CODE.
Для подключения Nextcloud к контейнеру Collabora Online Development Edition (CODE), размещенному на собственном сервере, запустите CODE на отдельном хосте, разместите его за HTTPS и введите его публичный URL-адрес в Nextcloud Office. Контейнер CODE также должен разрешать использование хоста WOPI для доступа к сайту Nextcloud. В приведенном ниже примере Nextcloud — это , cloud.example.comа Collabora — office.example.com; замените оба имени на ваши реальные имена хостов.
Контекст терминала с командой, использованной для загрузки образа Collabora CODE.
Что нужно подготовить перед началом работы?
Для работы вам потребуется установленный Nextcloud, хост Docker, способный запускать контейнер CODE, DNS-записи для имен хостов Nextcloud и Collabora, а также действительные HTTPS-сертификаты для обоих общедоступных сайтов. Хост Nextcloud и сервер Collabora должны иметь возможность взаимодействовать друг с другом по сети. Выделенный сервер Collabora предназначен для повышения производительности по сравнению со встроенным вариантом CODE; это пока версия для разработчиков, поэтому перед использованием в более масштабных или критически важных для бизнеса проектах ознакомьтесь с текущими условиями и рекомендациями Collabora по выпуску.
В этом пошаговом руководстве предполагается, что обратный прокси-сервер работает на хосте Docker и перенаправляет HTTPS-трафик на office.example.comлокальный порт контейнера. Если ваш прокси-сервер работает в другом контейнере или на другой машине, не копируйте сопоставление портов обратной связи без изменений: используйте частную сеть Docker или частный адрес хоста, к которому может получить доступ прокси-сервер, и заблокируйте бэкэнд брандмауэром, чтобы он не был доступен публично.
1. Запустите контейнер CODE.
Сначала загрузите образ и запустите контейнер. В настройках псевдонима используйте публичный источник Nextcloud, включая протокол и порт. Не указывайте там URL-адрес Collabora. В примере установки Docker от Nextcloud используется следующий шаблон:
Использование обратной связи означает, что порт 9980 доступен только с хоста Docker, например, через обратный прокси-сервер на этом же хосте. Прокси-сервер предоставляет браузерам и Nextcloud публичную конечную точку HTTPS, сохраняя при этом порт контейнера закрытым. Если Nextcloud обслуживается на нестандартном порту или через другое публичное имя хоста, настройте псевдоним так, чтобы он соответствовал источнику, который фактически используют пользователи. Если у вас несколько экземпляров Nextcloud, настройте каждый разрешенный хост WOPI, используя документированный синтаксис Collabora, а не разрешая произвольные домены.
Приведенная выше команда соответствует примеру Docker из руководства администратора Nextcloud 35. Перед использованием в производственной среде ознакомьтесь с текущей документацией по образам CODE и выберите политику обновления релизов/тегов, которая соответствует вашему процессу обслуживания. Ссылка на образ по умолчанию может меняться по мере публикации релизов; планируйте обновления, отслеживайте состояние контейнера и повторно тестируйте редактирование документации после обновлений.
В разделе администрирования приложений отображается, что Nextcloud Office включен до настройки сервера.
2. Разместите контейнер за обратным прокси-сервером HTTPS.
Настройте существующий прокси-сервер для обработки https://office.example.comи переадресации запросов к сервису CODE по адресу 127.0.0.1:9980. Используйте текущую конфигурацию обратного прокси-сервера Collabora для вашего прокси-программного обеспечения. Прокси-сервер должен сохранять необходимые пути и поддерживать обновления WebSocket; сессия браузера редактора зависит от них. Пример Docker для Nextcloud включает маршруты для /browser, /hosting/discovery, /hosting/capabilities, и /cool, включая конечную точку WebSocket. Некоторые интеграции также используют /loolмаршрут совместимости.
Не следует рассматривать успешную загрузку главной страницы как доказательство работоспособности прокси-сервера. Прокси, обрабатывающий обычные HTTPS-запросы, но не способный обновить WebSocket-соединения, может отображать окно редактора, а затем оставлять его загружающимся или разорванным. Используйте действительный публичный сертификат для имени хоста Collabora. Держите порт 9980 закрытым для доступа из общедоступного интернета, если прокси-сервер предназначен быть единственной точкой входа.
3. Включите Nextcloud Office и введите URL-адрес сервера.
Выберите опцию внешнего сервера и введите общедоступный HTTPS-адрес Collabora.
В Nextcloud откройте «Приложения» и установите или включите Nextcloud Office ( richdocumentsинтеграцию). Затем откройте «Администрирование» → «Office» , выберите опцию внешнего сервера Collabora и введите [ адрес сервера] https://office.example.com. Сохраните настройку. Используйте общедоступный URL-адрес, а не [адрес сервера] localhost:9980: сервер Nextcloud и браузеры пользователей должны разрешать один и тот же внешний адрес Collabora.
В руководстве администратора Nextcloud указано, что настроенный URL-адрес сервера должен использовать тот же протокол, что и в установке Collabora, и рекомендуется HTTPS. После сохранения Nextcloud может отобразить статус подключения или обнаружения. Если он сообщает о проблеме с сертификатом, DNS или WOPI, устраните эту конкретную проблему, прежде чем пытаться открыть файл.
4. Проверьте путь WOPI и откройте тестовый документ.
WOPI — это протокол, который Nextcloud использует для предоставления Collabora контролируемого доступа к документу. В настройках администрирования Office в Nextcloud проверьте список разрешенных запросов WOPI и ограничьте запросы IP-адресами, с которых ваша служба Collabora обращается к Nextcloud. Также настройте Collabora так, чтобы она принимала только адрес хоста, для которого предназначен WOPI. Точный адрес может отличаться, если используются контейнеры, NAT или обратный прокси-сервер, поэтому используйте фактический адрес источника, который Nextcloud видит в своих журналах, а не гадайте.
Открытый документ с панелью инструментов редактирования — это окончательная визуальная проверка, на которую реагирует интеграция с Office.
Для проверки работоспособности войдите в систему как обычный пользователь Nextcloud, создайте или загрузите небольшой файл DOCX или ODT и откройте его из меню «Файлы». Убедитесь, что редактор загрузился, внесите безобидные изменения, дождитесь появления индикатора сохранения, закройте документ, затем снова откройте его и убедитесь, что изменения сохранились. Протестируйте с каждым типом файла и группой пользователей, которые важны для вашей системы; успешная проверка DOCX не доказывает, что настроены все форматы или пути доступа.
Что следует проверить, если редактор не открывается?
Ошибка обнаружения или подключения: Убедитесь, что office.example.comсоединение разрешается с сервера Nextcloud и браузера, что сертификат действителен и что прокси-сервер отправляет данные /hosting/discoveryв CODE.
Бесконечная загрузка или отключение редактора: проверьте обработку обновления WebSocket обратным прокси-сервером и /coolмаршруты. Просмотрите журналы прокси-сервера и контейнера на предмет отклоненных запросов.
Хост WOPI отклонен: сравните настроенный хост aliasgroup1с точным публичным источником Nextcloud, включая схему и порт. Проверьте список разрешенных WOPI в Nextcloud на соответствие IP-адресу источника Collabora, видимому для Nextcloud.
Работает на хосте, но не в Nextcloud: проверьте подключение сервера Nextcloud к общедоступному URL-адресу Collabora. Внутреннее имя хоста контейнера или адрес localhost хоста Docker не всегда автоматически доступны из других контейнеров.
Предупреждение о сертификате: Исправьте несоответствие цепочки сертификатов или имени хоста. Отключение проверки сертификатов может скрыть причину и ослабить соединение.