Collabora Online — это офис с открытым исходным кодом, построенный на базе технологии LibreOffice. Он предоставляет множество возможностей, и одна из самых полезных — Collabora обеспечивает редактирование в реальном времени документов Word, электронных таблиц, презентаций и т.д.
Мы предполагаем, что у вас есть рабочий экземпляр Nextcloud со стеком LAMPS, поскольку Collabora должна быть интегрирована с ним.
Установка Collabora Online и интеграция с Nextcloud — несложный процесс, который может занять до 20 минут.
Необходимые условия
- Сервер с Ubuntu 22.04 в качестве ОС
- Привилегии пользователя: root или не root пользователь с правами sudo
- Действующий домен, указанный на IP-адрес вашего сервера
Шаг 1. Обновление системы
Перед установкой сервиса Collabora Online необходимо обновить системные пакеты до последних доступных версий.
sudo apt update -y && sudo apt upgrade -y
Шаг 2. Установка Collabora Online
Сначала мы установим некоторые предварительные условия:
sudo apt install apt-transport-https ca-certificates
После этого добавьте ключ и репозиторий Collabora, поскольку в официальном репозитории Ubuntu 22.04 он отсутствует.
cd /usr/share/keyrings
sudo wget https://collaboraoffice.com/downloads/gpg/collaboraonline-release-keyring.gpg
Ключ добавлен, теперь создайте следующий файл с помощью приведенной ниже команды:
touch /etc/apt/sources.list.d/collaboraonline.sources
Откройте этот файл в своем любимом редакторе и вставьте следующие строки кода:
Types: deb
URIs: https://www.collaboraoffice.com/repos/CollaboraOnline/CODE-ubuntu2004
Suites: ./
Signed-By: /usr/share/keyrings/collaboraonline-release-keyring.gpg
Сохраните файл, закройте его, обновите систему и установите сервис Collabora Online.
sudo apt update -y
sudo apt install coolwsd code-brand -y
После установки запустите и включите службу Collabora coolwsd.
sudo systemctl start coolwsd && sudo systemctl enable coolwsd
Чтобы проверить состояние службы, выполните следующую команду:
sudo systemctl status coolwsd
Вы должны получить следующий результат:
Перед подключением Collabora к экземпляру NextCloud необходимо выполнить следующие команды:
sudo coolconfig set ssl.enable false
sudo coolconfig set ssl.termination true
Приведенные выше команды предназначены для отключения TLS, поскольку служба не может найти файл сертификата. Эти две настройки мы включим позже.
Далее необходимо разрешить подключение к существующему экземпляру Nextcloud, используя домен Nextcloud, с помощью следующей команды:
sudo coolconfig set storage.wopi.host YourNextCloudDomain
После выполнения команды вы должны получить следующий вывод:
После этого установите пароль администратора Collabora Online:
sudo coolconfig set-admin-password
Необходимо ввести имя пользователя admin и надежный пароль.
Перезапустите службу Collabora после внесения любых изменений в файл /etc/coolwsd/coolwsd.xml
sudo systemctl restart coolwsd
Шаг 3. Настройка Apache в качестве обратного прокси-сервера
Наконец, когда Collabora Online установлена, и все в порядке с сервисом, мы можем настроить обратный прокси. Дополнительной информацией для этого является то, что служба Collabora работает на порту 9980. Чтобы проверить это, выполните следующую команду:
root@host:~# netstat -tunlp | grep 9980
Вы должны получить следующий результат:
Создайте файл виртуального хоста Apache:
touch /etc/apache2/sites-available/collabora.conf
Откройте его в своем любимом редакторе и вставьте следующие строки кода:
<VirtualHost *:80>
ServerName collabora.yourdomain.com
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
</VirtualHost>
Сохраните файл и закройте его. После этого включите модули сайта и прокси:
sudo a2ensite collabora.conf
sudo a2enmod proxy proxy_http proxy_wstunnel
Проверьте синтаксис Apache:
apachectl -t
Вы должны получить следующий результат:
Теперь можно перезапустить службу Apache.
sudo systemctl restart apache2
Шаг 4. Установка сертификата Let’s Encrypt
Для установки certbot выполните следующую команду:
sudo apt install certbot python3-certbot-apache -y
Теперь, чтобы установить SSL-сертификат, просто выполните следующую команду:
sudo certbot --apache
Добавьте email администратора, согласитесь с условиями и выберите нужный домен, либо оставьте поле ввода пустым, и certbot установит Let’s Encrypt на все домены на вашем сервере.
Шаг 5. Интеграция Collabora с NextCloud
Последний шаг этого руководства — интеграция Collabora с существующим экземпляром NextCloud. Войдите в свой экземпляр NextCloud и перейдите в раздел настроек
В меню Администрирование слева выберите пункт NextCloud Office
Затем выберите пункт Использовать собственный сервер и введите URL-адрес Collabora. В меню Advanced установите флажок для файлов OpenXML.
Теперь мы можем создать новую электронную таблицу и начать ее использовать.