Как интегрировать Collabora Online на Ubuntu 22.04

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.

Теперь мы можем создать новую электронную таблицу и начать ее использовать.

Поделитесь с друзьями

Добавить комментарий

0 комментариев
Вбудовані Відгуки
Переглянути всі коментарі
0
Ми любимо ваші думки, будь ласка, прокоментуйте.x