Совместное редактирование документов для сотрудников организации — это необходимость. Представить себе организацию электронного документооборота без этой функции невозможно. В Nextcloud это возможно при использовании ряда инструментов. Один из таких инструментов Collabora Online. Ранее мы уже рассматривали использование другого офисного пакета OnlyOffice.

Collabora Online — это онлайн-офисный пакет, поддерживающий все основные форматы документов, электронных таблиц и файлов презентаций, которые вы можете интегрировать в свою собственную инфраструктуру. Ключевыми функциями являются совместное редактирование и отличная поддержка различных форматов.

Содержание:
  1. Подготовка контейнера в Proxmox.
  2. Установка Collabora Online.
  3. Настройка проксирования ssl для coolwsd при помощи веб сервера apache2.
  4. Подключение офисного пакета для online редактирования Collabora Office в Nextcloud.
  5. Панель управления сервером.

1. Подготовка контейнера в Proxmox

Как и в предыдущих случаях развернем сервер Collabora Online на базе контейнера в Proxmox.

1. 1. Создаем контейнер:

1.2. Указываем шаблон:

1.3. Задаем параметры системы. Важно учесть, что Collabora Online чрезвычайно требователен к ресурсам системы, так как все действия производятся на сервере, а не в браузере клиента. Особенно будет задействована ОЗУ сервера:

1.4. Задаем настройки сети:

1.5. Запускаем процесс создания контейнера:

2.  Установка Collabora Online

Переходим в консоль операционной системы и приступаем к установке сервера Collabora Online.

2.1. Переходим в директорию /usr/share/keyrings и скачиваем ключ репозитория:

cd /usr/share/keyrings

wget https://collaboraoffice.com/downloads/gpg/collaboraonline-release-keyring.gpg

2.2. В директории /etc/apt/sources.list.d создаем файла с параметрами подключения к репозиторию Colabora Online для Debian 11:

mcedit /etc/apt/sources.list.d/collaboraonline.sources

Записываем в файл:

Types: deb
URIs: https://www.collaboraoffice.com/repos/CollaboraOnline/CODE-debian11
Suites: ./
Signed-By: /usr/share/keyrings/collaboraonline-release-keyring.gpg

И сохраняем изменения.

2.3. Обновляем индексы репозитория и устанавливаем сервер Collabora Office:

apt update && apt install coolwsd code-brand

Для поддержки русского языка и функции правописания установим пакеты: collaboraofficebasis-ru, collaboraoffice-dict-ru и collaboraoffice-dict-en. Так в редакторе появится выбор проверки правописания для русского и английского языка.

2.4. Теперь необходимо выполнить настройку сервера Collabora Office. Для этого необходимо выполнить последовательность команд:

coolconfig set ssl.termination true
coolconfig set storage.wopi.host collabora.example.com
coolconfig set-admin-password
systemctl restart coolwsd

Эти команды вносят изменения в конфигурационный файл-сервера coolwsd:

  1. Включают шифрование.
  2. Меняют адрес сервера на collabora.example.com (здесь необходимо указать свой адрес, по которому будет доступен офисный пакет).
  3. Изменяем пароль доступа к панели управления сервером.
  4. Перезапускают сервер coolwsd.
3. Настройка проксирования ssl для coolwsd при помощи веб сервера apache2

Для того чтобы получить доступ к офисному пакету нам необходим веб сервер с настройкой проксирования протокола шифрования ssl и сертификат безопасности от  Let’s Encrypt.

3.1. Установим веб сервер apache2 с поддержкой certbot:

apt install certbot

apt install python3-certbot-apache

3.2. Создаем конфигурационный файл для нашего сервера:

mcedit /etc/apache2/sites-available/collabora.example.com.conf

и указываем в нем параметры проксирования:

########################################

 # Reverse proxy for Collabora Online
 #

 ########################################

 AllowEncodedSlashes NoDecode
 ProxyPreserveHost On

 # static html, js, images, etc. served from coolwsd
 # browser is the client part of Collabora Online
 ProxyPass           /browser http://127.0.0.1:9980/browser retry=0
 ProxyPassReverse    /browser http://127.0.0.1:9980/browser

 # WOPI discovery URL
 ProxyPass           /hosting/discovery http://127.0.0.1:9980/hosting/discovery retry=0
 ProxyPassReverse    /hosting/discovery http://127.0.0.1:9980/hosting/discovery

 # Capabilities
 ProxyPass           /hosting/capabilities http://127.0.0.1:9980/hosting/capabilities retry=0
 ProxyPassReverse    /hosting/capabilities http://127.0.0.1:9980/hosting/capabilities

 # Main websocket
 ProxyPassMatch      "/cool/(.*)/ws$"      ws://127.0.0.1:9980/cool/$1/ws nocanon

 # Admin Console websocket
 ProxyPass           /cool/adminws ws://127.0.0.1:9980/cool/adminws

 # Download as, Fullscreen presentation and Image upload operations
 ProxyPass           /cool http://127.0.0.1:9980/cool
 ProxyPassReverse    /cool http://127.0.0.1:9980/cool
 # Compatibility with integrations that use the /lool/convert-to endpoint
 ProxyPass           /lool http://127.0.0.1:9980/cool
 ProxyPassReverse    /lool http://127.0.0.1:9980/cool

3.3. Подключаем сайт:

a2ensite collabora.example.com.conf

a2enmod proxy

a2enmod proxy_wstunnel

a2enmod proxy_http

a2enmod ssl

systemctl reload apache2

3.4. Запускаем команду создания сертификата Let’s Encrypt.

Сервер должен быть доступен по протоколу http (порт 80)

certbot --apache --agree-tos --redirect --hsts --staple-ocsp --email admin@example.com -d collabora.example.com.conf

Теперь наш сервер будет доступен по адресу https://collabora.example.com.

4. Подключение офисного пакета для online редактирования Collabora Office в Nextcloud

4.1. Переходим в Nextcloud в режим «Настройки»:

4.2. Выбираем пункт «Офис» и указываем параметры подключения к серверу совместного редактирования документов:

Сохраняем изменения и переходим в раздел «Файлы». Создаем документ:

Указываем название документа и переходим к его редактированию:

5. Панель управления сервером

Для удобства управления сервером  предусмотрена панель управления. Она доступна по адресу: https://collabora.example.com/browser/dist/admin/admin.html

Источники: