Установка и настройка локального сервера Collabora и его связка с Nextcloud/Owncloud

Для совместной работы с документами в облачном сервисе Nextcloud/Owncloud есть несколько популярных программных продуктов, например, ONLYOFFICE, LibreOffice Online и Collabora Online. Последний может быть развернут локально и использоваться бесплатно.




Рассмотрим процесс установки Collabora Online на одном сервере с Nextcloud без привязки к конкретной системе Linux (это может быт CentOS, Ubuntu, Debian и так далее). Предполагается, что Nextcloud установлен, иначе, можно воспользоваться инструкцией 




Подготовка системы




Для работы Collabora используется TCP-порт 9980, чтобы его добавить в Linux вводим команды, в зависимости от используемой утилиты управления netfilter.




а) если firewalld:




firewall-cmd --permanent --add-port=9980/tcp




firewall-cmd --reload




б) если iptables:




iptables -A INPUT -p tcp --dport 9980 -j ACCEPT




netfilter-persistent save




Установка и запуск сервера Collabora




На практике лучше работает Collabora, установленная в качестве docker-контейнера.




Для начала необходимо установить docker. В зависимости от используемой системы Linux, действия будут немного отличаться. Подробнее процесс описан в инструкции Установка Docker на Linux.




После готов, как мы установили и запустили Docker, для получения нужного нам контейнера вводим команду:




docker pull collabora/code




Процесс загрузки займет несколько минут — в итоге мы должны увидеть:




Status: Downloaded newer image for collabora/code:latest




Для запуска контейнера нам нужен правильный сертификат, полученный на домен. Его можно купить или запросить бесплатно в Let’s Encrypt. Предположим, что мы сохранили наш сертификат по пути /etc/letsencrypt/live/collabora.dmosk.ru.




Команда для запуска контейнера с сервером collabora следующая:




docker run --name collabora -t -d -p 9980:9980 --add-host "nextcloud.dmosk.ru":192.168.1.15 -v "/etc/letsencrypt/live/collabora.dmosk.ru/fullchain.pem":/etc/loolwsd/ca-chain.cert.pem -v "/etc/letsencrypt/live/collabora.dmosk.ru/privkey.pem":/etc/loolwsd/key.pem -v "/etc/letsencrypt/live/collabora.dmosk.ru/fullchain.pem":/etc/loolwsd/cert.pem -e 'DONT_GEN_SSL_CERT=true' -e "domain=nextcloud\.dmosk\.ru" -e "dictionaries=en ru" -e "username=admin" -e "password=passadmin" --restart always --cap-add MKNOD collabora/code




* в итоге, наш контейнер будет слушать сетевые запросы на порту 9980 (параметр -p); мы добавим для разрешения имени nextcloud.dmosk.ru (нашего сервера Nextcloud) IP-адрес 192.168.1.15 (—add-host); в контейнер добавим файлы сертификатов (-v); в конфигурацию collabora добавим запрет на создание нового сертификата, добавим наш сервер nextcloud для разрешения подключаться к серверу; используем русский и английские языки; задаем логин и пароль для администратора nextcloud.




Настройка Nextcloud




В данной инструкции мы рассмотрим пример связки Collabora с Nextcloud. Для Owncloud действия будут похожи.




Для интеграции Collabora с Nextcloud заходим на веб-интерфейс последней и заходим в настройки:







В меню слева кликаем по Collabora Online Development Edition:







В поле URL-адрес (и порт) сервера документов Collabora Online добавляем адрес нашего сервера collabora:







* важно, чтобы запрос был на доменное имя. Таким образом, домен должен быть зарегистрирован в DNS. Если у нас есть недочеты с сертификатом (например, нет полной цепочки) ставим галочку Отключить проверку сертификата (небезопасно).




Переходим к папкам и файлам на облачном сервисе. Пробуем открыть любой документ docx или создать новый — он должен открыться в Collabora:






2021-06-15T23:49:07
Software