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.
Тепер ми можемо створити нову електронну таблицю і почати її використовувати.