Встановлення 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