menu

Встановлення Collabora Online

Встановлення

Для початку увійдемо у режим суперкористувача та встановити змінну середовища, яка ідентифікує клієнта. Це потрібно для подальшого налаштування Collabora Online.

sudo -s
export customer_hash=Example-413539ece39485afc35b4a469adfde0a279d2fd2
exit

Щоб завантажити та перевірити цифрові підписи пакунків Collabora Online, потрібно додати GPG-ключ репозиторію. Це забезпечить безпечне встановлення програмного забезпечення.

cd /usr/share/keyrings
sudo wget https://collaboraoffice.com/downloads/gpg/collaboraonline-release-keyring.gpg

Потім додамо новий репозиторій Collabora Online до списку джерел пакетів. Це дозволить отримувати актуальні версії програмного забезпечення безпосередньо від розробників.

# /etc/apt/sources.list.d/collaboraonline.sources
Types: deb
URIs: https://www.collaboraoffice.com/repos/CollaboraOnline/CODE-ubuntu2204
Suites: ./
Signed-By: /usr/share/keyrings/collaboraonline-release-keyring.gpg

Далі оновимо список доступних пакетів та встановлюємо необхідні компоненти, включаючи сервер Apache, інструмент для керування сертифікатами та сам Collabora Online.

sudo apt update && sudo apt install apache2 certbot python3-certbot-apache coolwsd code-brand collaboraoffice*uk -y

Для правильної роботи Collabora Online через веб-сервер Apache увімкнемо відповідні модулі. Після цього потрібно перезапустити Apache, щоб зміни набрали чинності.

sudo a2enmod proxy
sudo a2enmod proxy_wstunnel
sudo a2enmod proxy_http
sudo a2enmod ssl
sudo systemctl restart apache2

Щоб забезпечити безперервне оновлення SSL-сертифікатів, налаштуємо автоматичне їх продовження через cron. Це гарантує, що сайт завжди буде працювати через захищене з’єднання.

sudo crontab -e

...

0 */3 * * * /usr/bin/certbot renew --quiet

Далі отримаємо SSL-сертифікат для сервера за допомогою Let’s Encrypt. Це дозволить встановити безпечне HTTPS-з’єднання.

sudo certbot --apache -d coda.site.net

Створюємо конфігураційний файл /etc/apache2/sites-available/docs-clb.conf для віртуального хосту в Apache, який буде обробляти запити до Collabora Online. У цьому файлі налаштовується перенаправлення HTTP на HTTPS та запитів.

# /etc/apache2/sites-available/docs-clb.conf

<VirtualHost *:80> 
ServerName collabora.trkm.top
Redirect permanent / https://collabora.trkm.top
RewriteEngine on
RewriteCond %{SERVER_NAME} =collabora.trkm.top
RewriteRule ^ https://%{SERVER_NAME}%{REQUEST_URI} [END,NE,R=permanent]
</VirtualHost>

<VirtualHost *:443>
ServerName collabora.trkm.top

# SSL configuration, you may want to take the easy route instead and use Lets Encrypt!
SSLEngine on
SSLCertificateFile /etc/letsencrypt/live/collabora.trkm.top/fullchain.pem
SSLCertificateKeyFile /etc/letsencrypt/live/collabora.trkm.top/privkey.pem
SSLCertificateChainFile /etc/letsencrypt/live/collabora.trkm.top/chain.pem
SSLProtocol             all -SSLv2 -SSLv3
SSLCipherSuite ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA256:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES256-SHA384:ECDHE-RSA-AES128-SHA:ECDHE-ECDSA-AES256-SHA384:ECDHE-ECDSA-AES256-SHA:ECDHE-RSA-AES256-SHA:DHE-RSA-AES128-SHA256:DHE-RSA-AES128-SHA:DHE-RSA-AES256-SHA256:DHE-RSA-AES256-SHA:ECDHE-ECDSA-DES-CBC3-SHA:ECDHE-RSA-DES-CBC3-SHA:EDH-RSA-DES-CBC3-SHA:AES128-GCM-SHA256:AES256-GCM-SHA384:AES128-SHA256:AES256-SHA256:AES128-SHA:AES256-SHA:DES-CBC3-SHA:!DSS
SSLHonorCipherOrder     on

AllowEncodedSlashes NoDecode
ProxyPreserveHost On


ProxyPass           /browser http://localhost:9980/browser retry=0
ProxyPassReverse    /browser http://localhost:9980/browser

ProxyPass           /hosting/discovery http://localhost:9980/hosting/discovery retry=0
ProxyPassReverse    /hosting/discovery http://localhost:9980/hosting/discovery

ProxyPass           /hosting/capabilities http://localhost:9980/hosting/capabilities retry=0
ProxyPassReverse    /hosting/capabilities http://localhost:9980/hosting/capabilities

ProxyPassMatch      "/cool/(.*)/ws$"      ws://localhost:9980/cool/$1/ws nocanon
ProxyPass           /cool/adminws ws://localhost:9980/cool/adminws

ProxyPass           /cool http://localhost:9980/cool
ProxyPassReverse    /cool http://localhost:9980/cool

ProxyPass           /lool http://localhost:9980/cool
ProxyPassReverse    /lool http://localhost:9980/cool

</VirtualHost>

Увімкнемо віртуальний хост coda в Apache.

sudo a2ensite coda.conf

Тепер потрібно внести зміни в конфігурацію Collabora Online, щоб вона коректно працювала з Apache. Ми відключаємо вбудований SSL, активуємо обробку запитів через проксі-сервер і вказуємо основний домен.

sudo coolconfig set ssl.enable false
sudo coolconfig set ssl.termination true
sudo coolconfig set net.listen loopback
sudo coolconfig set storage.wopi.host coda.site.net
sudo coolconfig set-admin-password

Встановимо потрібні права доступу для конфігураційних файлів

sudo chmod 644 /etc/coolwsd/coolwsd.xml
sudo chmod 755 /etc/coolwsd

Після внесення змін перезапускаємо служби Collabora Online та Apache, щоб застосувати всі налаштування.

sudo systemctl restart coolwsd
sudo systemctl reload apache2

Для перевірки роботи серверів можна переглянути їхні логи. Це допоможе знайти можливі помилки або проблеми у налаштуванні.

sudo journalctl -eu coolwsd
sudo journalctl -eu apache2

Щоб перевірити, чи працює Collabora Online, відкрийте у браузері наступну сторінку. Якщо все налаштовано правильно, ви побачите панель адміністратора Collabora Online.

https://coda.site.net/browser/dist/admin/admin.html

Якщо все гаразд, перейдемо в Nextcloud і встановимо додаток Nextcloud Office. Після цього перейдемо до Settings > Administration > Office і додамо адресу нашого сервера в полі Use your own server. Після цього спробуємо відкрити файл Word чи Excel який знаходиться у хмарі Nextcloud.

Налаштування

Якщо під час відкриття документа з’являється повідомлення server audit позбутись його можна якщо у файлі /etc/coolwsd/coolwsd.xml встановити опцію disable_server_audit в true як показано нижче.

 <disable_server_audit type="bool">true</disable_server_audit>

Після внесення змін перезапустимо служби Collabora Online та Apache, щоб застосувати всі налаштування.

sudo systemctl restart coolwsd
sudo systemctl reload apache2