Collabora Online — установка сервера в Debian 11
Совместное редактирование документов для сотрудников организации — это необходимость. Представить себе организацию электронного документооборота без этой функции невозможно. В Nextcloud это возможно при использовании ряда инструментов. Один из таких инструментов Collabora Online. Ранее мы уже рассматривали использование другого офисного пакета OnlyOffice.
Содержание:
- Подготовка контейнера в Proxmox.
- Установка Collabora Online.
- Настройка проксирования ssl для coolwsd при помощи веб сервера apache2.
- Подключение офисного пакета для online редактирования Collabora Office в Nextcloud.
- Панель управления сервером.
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:
- Включают шифрование.
- Меняют адрес сервера на collabora.example.com (здесь необходимо указать свой адрес, по которому будет доступен офисный пакет).
- Изменяем пароль доступа к панели управления сервером.
- Перезапускают сервер 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 #Maybe not necessary systemctl reload apache2
3.4. Запускаем команду создания сертификата Let’s Encrypt.
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
Источники:
- https://www.onlyoffice.com/blog/ru/2018/08/onlyoffice-protiv-collabora-v-bitve-za-sovmestnoe-redaktirovanie/
- https://www.collaboraoffice.com/
- https://habr.com/ru/company/teamlab/blog/341522/
- https://www.collaboraoffice.com/code/linux-packages/
- https://www.collaboraoffice.com/repos/CollaboraOnline/21.11-CODE/CODE-debian11/
- https://www.collaboraoffice.com/comparing-collabora-with-onlyoffice/
- https://www.linuxbabe.com/ubuntu/integrate-collabora-onlinenextcloud-without-docker
- https://help.nextcloud.com/t/how-to-set-up-apache-server-for-collabor-online/131722
Хорошая статья.
Не подскажете как настроить apache2 если он находится на другом сервере в локальной сети?
Не пробовал. Но думаю что все упрется в ip адреса.