Collabora Online Setup

Info

In dieser Anleitung beschreibe ich wie man einen Collabora Online Server aufsetzt. Diese Anleitung bezieht sich auf Apache2.

Was brauche ich?

  • Eine Nextcloud Instanz mit der Collabora App

  • Docker.io (Anwendung)

  • Apache2

  • Subdomain für Collabora

  • Let’s Encrypt oder ein anderes SSL Zertifikat

Installation

Erst sollten wir unsere Paketquellen aktualisieren mit:

sudo apt update

danach installieren wir Docker und aktivieren ihn mit:

sudo apt install docker.io && sudo systemctl enable docker

Einrichtung

Zur Einrichtung des Dockers geben wir:

sudo docker run -t -d -p 127.0.0.1:9980:9980 -e 'domain=cloud\\.mycloudnetwork\\.com' --restart always --cap-add MKNOD collabora/code

Hier müssen wir nur bei 'domain=' etwas ändern. Bei meiner Domain cloud.lukasbonrath.de würde das so aussehen: 'domain=cloud\\.lukasbonrath\\.de'

Als nächstes erstellen wir für Apache einen Virtuellen Host in /etc/apache2/sites-available/office.domain.de.conf die Nennen wir so wie unsere Subdomain nur mit der .conf endung. Beispiel: Domain office.lukasbonrath.de == office.lukasbonrath.de.conf und dort schreiben wir das rein:

<VirtualHost *:80>
	ServerName office.domain.de
</VirtualHost>

Hier nach aktivieren wir die Konfigurationsdatei mit:

sudo a2ensite office.domain.de.conf

Wichtig:

Apache Neustarten nicht vergessen:

sudo apache2ctl restart oder sudo systemctl restart apache2 oder sudo systemctl reload apache2

Jetzt müssen wir sicherstellen, dass der HTTP-Reverse-Proxy eingerichtet ist:

sudo a2enmod proxy proxy_wstunnel proxy_http ssl

Jetzt müssen wir noch etwas an der Apache SSL Konfiguration ändern. Zwischen:

Include /etc/letsencrypt/options-ssl-apache.conf
</VirtualHost>

Fügen wir jetzt per copy und paste das ein:

AllowEncodedSlashes NoDecode

# Container uses a unique non-signed certificate
SSLProxyEngine On
SSLProxyVerify None
SSLProxyCheckPeerCN Off
SSLProxyCheckPeerName Off

# keep the host
ProxyPreserveHost On

# static html, js, images, etc. served from loolwsd
# loleaflet is the client part of LibreOffice Online
ProxyPass /loleaflet https://127.0.0.1:9980/loleaflet retry=0
ProxyPassReverse /loleaflet https://127.0.0.1:9980/loleaflet

# WOPI discovery URL
ProxyPass /hosting/discovery https://127.0.0.1:9980/hosting/discovery retry=0
ProxyPassReverse /hosting/discovery https://127.0.0.1:9980/hosting/discovery

# Main websocket
ProxyPassMatch "/lool/(.*)/ws$" wss://127.0.0.1:9980/lool/$1/ws nocanon

# Admin Console websocket
ProxyPass /lool/adminws wss://127.0.0.1:9980/lool/adminws

# Download as, Fullscreen presentation and Image upload operations
ProxyPass /lool https://127.0.0.1:9980/lool
ProxyPassReverse /lool https://127.0.0.1:9980/lool

Dann müssen wir nur nochmal Apache2 neustarten.

Nextcloud Instanz

Jetzt brauchen wir nur noch die App aus unseren Nextcloud-App-Store "Collabora" dann gehen wir in die Einstellungen und gehen auf dem linken Reiter Collabora Online und dort geben wir bei URL (und Port) des Collabora Online-Servers https://office.domain.de ein und drücken dann auf Anwenden.

Hat mich sehr gefreut wenn ich dir Helfen konnte :)