So integrieren Sie LibreOffice mit Nextcloud

LibreOffice hat sich als eine der führenden kostenlosen Produktivitätslösungen unter Linux etabliert. Allerdings stößt die eigenständige Desktop-Anwendung an ihre Grenzen, wenn es um Online-Funktionen, Zusammenarbeit und die Nutzung von Cloud-Diensten wie Google Drive geht.

An dieser Stelle kommt Collabora ins Spiel. Es handelt sich um eine angepasste Version von LibreOffice Online, die eine Vielzahl von Funktionen bietet, die mit proprietären Web-Office-Tools vergleichbar sind. Ein großer Vorteil ist die direkte Integration in viele selbst gehostete Cloud-Lösungen, wie beispielsweise die Einbindung von LibreOffice in Nextcloud.

Die Konfiguration von Collabora ist zwar etwas aufwendig, aber die Mühe lohnt sich, besonders für Anwender, die eine eigene Office-Lösung unter Linux betreiben möchten.

Wichtig: Für die Nutzung von Collabora ist ein Docker-basierter Nextcloud-Server mit einem gültigen SSL-Zertifikat erforderlich. Ein Nextcloud-Server, der mittels Snap installiert wurde, ist hierfür leider nicht geeignet.

Nextcloud auf einem Ubuntu-Server einrichten

Die Basis für die Nutzung von Collabora in Nextcloud ist ein Docker-basierter Nextcloud-Server. Zunächst installieren Sie Docker und laden den aktuellen Nextcloud-Container von Docker Hub.

Dieses Tutorial konzentriert sich hauptsächlich auf Ubuntu-Server, da sich diese Umgebung für Collabora besonders gut eignet. Die Anweisungen sind jedoch auf den meisten Systemen sehr ähnlich, sodass Sie sie auch auf anderen Systemen befolgen können.

sudo docker pull undeadhunter/nextcloud-letsencrypt

Das Herunterladen des Nextcloud-Docker-Containers ähnelt einer Snap-Installation, da keine zusätzliche Einrichtung oder Konfiguration erforderlich ist. Stattdessen beenden Sie den Root-Zugriff und wechseln zu einem regulären Benutzer.

Hinweis: Für den Zugriff auf Collabora außerhalb Ihres lokalen Netzwerks ist eine SSL-Konfiguration für Nextcloud und Docker erforderlich. Die offizielle Dokumentation enthält Anleitungen zur Einrichtung von SSL.

sudo docker run -it --name nextcloud --hostname nextcloud-letsencrypt -e CERTBOT_DOMAIN="nextcloud-letsencrypt" -e CERTBOT_EMAIL="email" -p 80:80 -p 443:443 undeadhunter/nextcloud-letsencrypt

Nach erfolgreicher Ausführung des Befehls sollte Nextcloud betriebsbereit sein. Sie können über einen Webbrowser darauf zugreifen:

https://ip.address:8080

Folgen Sie den Anweisungen, um Nextcloud im Docker-Container einzurichten. Anschließend öffnen Sie einen neuen Tab und generieren ein neues SSL-Zertifikat mit LetsEncrypt.

sudo docker exec -it nextcloud-crypt /certbot.sh

Collabora konfigurieren

Nachdem der Nextcloud-Docker-Server läuft, konfigurieren Sie den Collabora-Server, um die Interaktion mit Nextcloud und dem Collabora Office-Plugin zu ermöglichen.

Ähnlich wie Nextcloud wird auch die Collabora-Software innerhalb eines Docker-Images ausgeführt. Laden Sie die aktuelle Version der Collabora-Serversoftware mit dem folgenden Befehl herunter:

sudo docker pull collabora/code

Collabora muss parallel zu Nextcloud ausgeführt werden. Starten Sie den Server mit dem Befehl `docker run`. Achten Sie darauf, den Befehl anzupassen und „nextcloudserveraddress“ entsprechend Ihren Anforderungen zu ändern.

Wichtig: Entfernen Sie nicht die Backslash-Symbole!

sudo docker run -t -d -p 127.0.0.1:9980:9980 -e 'domain=nextcloudserveraddress' --restart always --cap-add MKNOD collabora/code

Apache-Reverse-Proxy

Für eine reibungslose Funktion benötigt die Collabora-Software einen Reverse-Proxy. Zur Realisierung des Reverse-Proxys ist Apache2 erforderlich. Stellen Sie sicher, dass Apache2 bereits auf Ihrem Server installiert ist. Unter Ubuntu kann Apache2 einfach installiert werden mit:

sudo apt install lamp-server^

Nach der Einrichtung von Apache2 aktivieren Sie die Proxy-Module mit `a2enmod`. Diese Module sind entscheidend, ohne sie funktioniert der Reverse-Proxy nicht.

sudo a2enmod proxy
sudo a2enmod proxy_wstunnel
sudo a2enmod proxy_http
sudo a2enmod ssl

Sind die Module aktiviert, erstellen Sie eine neue Virtual Host-Datei. Verwenden Sie im Terminal `touch`, um eine neue Konfigurationsdatei zu erstellen:

sudo touch /etc/apache2/sites-available/your-collabora-site.com.conf

Collabora benötigt für den Proxy sowie die Software ein SSL-Zertifikat. Der schnellste Weg ist die Verwendung von LetsEncrypt. Führen Sie im Terminal den folgenden Befehl aus, um LetsEncrypt für Apache2 abzurufen:

sudo apt install letsencrypt python-letsencrypt-apache
sudo letsencrypt --apache --agree-tos --email email-address -d collabora-server-ip-or-domain.com

Öffnen Sie die neue Virtual Host-Datei mit Nano:

sudo nano /etc/apache2/sites-available/your-collabora-site.conf

Fügen Sie den folgenden Code in Nano ein:



Servername office.ihre-domain.com

SSLCertificateFile /etc/letsencrypt/live/collabora-server-ip-or-domain.com/fullchain.pem
SSLCertificateKeyFile /etc/letsencrypt/live/collabora-server-ip-or-domain.com/privkey.pem
Include /etc/letsencrypt/options-ssl-apache.conf

# Kodierte Schrägstriche müssen erlaubt sein
AllowEncodedSlashes NoDecode

# Container verwendet ein eindeutiges, nicht signiertes Zertifikat
SSLProxyEngine Ein
SSLProxyVerify Keine
SSLProxyCheckPeerCN Aus
SSLProxyCheckPeerName Aus

# den Host behalten
ProxyPreserveHost Ein

# Statisches HTML, js, Bilder usw., bereitgestellt von loolwsd
# loleaflet ist der Client-Teil von LibreOffice Online
ProxyPass /loleaflet https://127.0.0.1:9980/loleaflet retry=0
ProxyPassReverse /loleaflet https://127.0.0.1:9980/loleaflet

# WOPI-Erkennungs-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

# Hauptwebsocket
ProxyPassMatch “/lool/(.*)/ws$” wss://127.0.0.1:9980/lool/$1/ws nocanon

# Websocket der Admin-Konsole
ProxyPass /lool/adminws wss://127.0.0.1:9980/lool/adminws

# Herunterladen als, Vollbildpräsentation und Hochladen von Bildern
ProxyPass /lool https://127.0.0.1:9980/lool
ProxyPassReverse /lool https://127.0.0.1:9980/lool

Drücken Sie Strg + O, um das Dokument zu speichern und starten Sie dann Apache2 mit folgendem Befehl neu:

sudo systemctl restart apache2

LibreOffice in Nextcloud integrieren

Die gesamte Einrichtung für den Betrieb von Collabora ist nun abgeschlossen. Nun müssen Sie LibreOffice in Nextcloud einbinden. Öffnen Sie dazu die Nextcloud-Weboberfläche, wählen Sie das Zahnradsymbol und klicken Sie auf „Apps“.

Suchen Sie im Bereich „Apps“ nach „Collabora“ und klicken Sie auf die Schaltfläche zur Installation. Gehen Sie anschließend zur Nextcloud-Administrationsoberfläche zurück und klicken Sie auf „Admin“ und dann auf „Collabora Online“.

Geben Sie im Bereich „Collabora Online“ der Admin-Oberfläche die IP-Adresse des Collabora Online-Servers ein und klicken Sie auf „Übernehmen“, um die Einstellungen zu speichern.

Ab sofort kann jeder Anwender von jedem PC über die Nextcloud-Webschnittstelle auf Access Nextcloud Collabora zugreifen und es nutzen.