DecaTec

Home-Server | Linux | Nextcloud | Raspberry Pi | Programmierung | Fotografie

Nextcloud: Online-Office mit Collabora

Nextcloud Logo

Nextcloud bietet schon seit einiger Zeit ein Feature namens Collabora: Durch die gleichnamige Nextcloud-App ist es möglich, Office-Dokumente live in der Cloud über einen Browser zu bearbeiten – auch durch mehrere Nutzer der Cloud gleichzeitig.

Da es nicht einfach mit der Aktivierung der Collabora-App getan ist, zeigt der folgende Artikel, welche Voraussetzungen für Collabora erfüllt sein müssen und wie das Online-Office für Nextcloud installiert und konfiguriert wird.

Als Basis dient wie immer der Artikel Nextcloud auf Ubuntu Server mit nginx, MariaDB, PHP, Let’s Encrypt, Redis und Fail2ban.

Update-Historie ((letztes Update 20.01.2019)
  • 20.01.2019:
    • Hinwies hinzugefügt, wie die Verfügbarkeit eines Updates für Collabora erkannt werden kann.
  • 15.01.2019:
    • Hinweis hinzugefügt, dass das mobile Bearbeiten von Dokumenten mit aktiver Server-seitigen Verschlüsselung nicht möglich ist.
  • 13.01.2019:
    • Fehler beim Kommando zum Starten des Docker-Containers bereinigt.
  • 07.01.2019:
    • Anweisungen im Gateway-Host überarbeitet.
    • Nun ist auch die Bearbeitung von Dokumenten mit der Nextcloud App möglich.
    • Start-Anweisungen für den Docker-Container angepasst, so dass auch die Admin-Oberfläche von Collabora verfügbar ist.
  • 17.12.2018:
    • Der Docker-Container für Collabora wird nun mit einem Namen gestartet, damit dieser später nicht über die ID angesprochen werden muss.
    • Vorgehen zum Update des Docker-Containers aktualisiert.
    • Neuer Absatz Troubleshooting, falls Collabora nicht wie erwartet funktioniert.
  • 09.03.2018:
    • Hinweis auf Reboot nach Collabora-installation hinzugefügt.
  • 16.06.2018:
    • Hinweis auf den Parameter overwriteprotocol in der config.php von Nextcloud hinzugefügt.

Online-Office in Nextcloud integriert: Collabora

Mit Collabora Online bietet Nextcloud Online-Office-Funktionalitäten, die mancher vermutlich schon von Google Docs kennt: Office-Dateien wie doc, docx, ppt, pptx, xls, xlsx und Open Document Formate können so direkt über einen beliebigen Browser live in der Cloud bearbeitet werden.

Neben der gleichnamigen Nextcloud-App sind hier noch einige weitere Voraussetzungen zu erfüllen. Die eigentliche Arbeit übernimmt hierbei ein Docker-Container. Wer mit den Grundlagen zu Docker noch nicht vertraut ist, sollte sich dazu erst einmal den Artikel Docker auf Ubuntu Server durchlesen. Hier wird neben den Docker-Grundlagen auch die Installation auf einem Ubuntu Server erklärt.

Durch den Einsatz eines Docker-Containers muss für den Einsatz von Collabora recht wenig installiert und konfiguriert werden: Das Docker-Image bringt alle Voraussetzungen und Abhängigkeiten mit, so dass der Administrator sich hier nicht mit dem wie und warum beschäftigen muss. Der Container ist hier eine Art Blackbox, die dafür sorgt, dass das Feature Online-Office in Nextcloud ganz einfach funktioniert.

Collabora installieren und konfigurieren

Genug der Theorie, nun installieren und konfigurieren wir Collabora, so dass Nextcloud um Online-Office-Funktionalitäten erweitert werden kann.

Voraussetzungen

Um Collabora einsetzen zu können, sind einige Voraussetzungen zu erfüllen:

  • Ein System, welches Docker ausführen kann. Wie man Docker auf Ubuntu Server installiert, habe ich bereits im Artikel Docker auf Ubuntu Server erklärt.
  • Eine Subdomain, auf der Collabora später erreichbar ist. Hier reicht es aus, wenn Nextcloud über eine Subdomain (z.B. nextcloudtutorial.goip.de) erreichbar ist.
  • Nextcloud muss über eine gesicherte SSL-Verbindung (HTTPS) angesprochen werden können. Da wir für die Subdomain nextcloudtutorial.goip.de ein gültiges SSL-Zertifikat über Let’s Encrpyt erzeugt haben, ist diese Voraussetzungen in unserem Fall erfüllt.

Im Zusammenhang mit dem letzten Punkt ist noch zu beachten, dass der Parameter overwriteprotocol in der Konfiguration von Nextcloud gesetzt ist:

Hier muss folgender Eintrag zu finden sein:

Falls diese Einstellung nicht zu finden ist, dann sollte diese vor der Installation von Collabora noch vorgenommen werden.

Collabora installieren

Wenn Docker bereits auf dem System eingerichtet ist und alle Voraussetzungen für Collabora erfüllt sind, dann kann das Docker-Image heruntergeladen werden:

Der Download dauert eine Weile, da knapp 1 GB an Daten heruntergeladen werden müssen.

Anschließend wird der Collabora-Container gestartet:

Diese Anweisung sorgt dafür, dass der Collabora-Container beim Systemstart immer automatisch geladen wird. Alle Anweisungen an Port 9980 werden an den Container weitergeleitet. Wichtig ist hier auch die Subdomain, unter der Collabora später erreichbar sein soll. Wichtig: Alle Punkte müssen in der Domain mit einem doppelten Backslash escaped werden (also nextcloudtutorial.goip.de wird zu nextcloudtutorial\\.goip\\.de).

Mit username bzw. password werden die Anmeldedaten für die Admin-Konsole von Collabora vergeben (dazu später mehr). Wenn die Admin-Konsole nicht benötigt wird, kann man diese Parameter auch einfach weglassen.

Damit der Webserver nginx Anweisungen an den Collabora-Container weiterleiten kann, müssen folgende Anweisungen in den Gateway-Host von nginx hinzugefügt werden (im server-Block für HTTPS). Hier helfen uns die Reverse-Proxy-Fähigkeiten von nginx:

Nach der Installation von Collabora sollte man das System nochmals komplett neu starten. Wenn dieser Punkt ausgelassen wird (oder nur der Webserver neu gestartet wird), dann führt dies in einigen Fällen danach zu Problemen.

Danach ist die Installation von Collabora abgeschlossen.

Collabora in Nextcloud einrichten

Weiter geht es in Nextcloud. Einloggen als Admin und anschließend kann unter Apps Collabora Online aktiviert werden:

Collabora Online App im Nextcloud App Store

Collabora Online App im Nextcloud App Store

Bevor Collabora nun verwendet werden kann, muss die App noch konfiguriert werden. Dazu wechseln wir in den Admin-Bereich von Nextcloud. Unter Collabora Online muss hier noch die URL eingetragen werden, unter der Collabora läuft. Dies ist die gleiche URL, wie wir beim Starten des Docker-Containers angegeben haben (inklusive Protokoll, also https://nextcloudtotorial.goip.de):

Collabora Konfiguration in Nextcloud

Collabora Konfiguration in Nextcloud

Nun können Office-Dateien (z.B. docx oder xlsx) in der Dateien-App von Nextcloud geöffnet und bearbeitet werden:

Online-Office mit Collabora unter Nextcloud

Online-Office mit Collabora unter Nextcloud

Hier ist auch die gleichzeitige Bearbeitung durch mehrere Nutzer der Cloud möglich.

Collabora Admin-Konsole

Wenn der Collbora-Container mit den Parametern username/password gestartet wurde, ist nun unter der URL https://nextcloudtutorial.goip.de/loleaflet/dist/admin/admin.html die Admin-Console von Collabora zu erreichen. Zur Anmeldung wird einfach der Benutzername und das Passwort verwendet, welche beim Starten des Containers angegeben wurden. Auf der Admin-Konsole erhält man einige Infos über das Collabora-System (angemeldete Benutzer, Ressourcenverbrauch, etc.).

Die Admin-Konsole von Collabora

Die Admin-Konsole von Collabora

Bearbeitung von Dokumenten mit mobilen Endgeräten

Dokumente können nun nicht nur in der Weboberfläche von Nextcloud bearbeitet werden, es ist zudem möglich, die Bearbeitung direkt in der Nextcloud-App (Android/iOS) vorzunehmen.

Um ein Dokument direkt in der App mit Collabora zu bearbeiten, wählt man dazu im erweiterten Menü der Datei (drei Punkte) die Option „Mit Collabora bearbeiten“. Schon kann das Dokument editiert und auch direkt wieder gespeichert werden, ohne dass man eine weitere App auf dem Smartphone benötigen würde.

Hinweis: Momentan ist die Bearbeitung von Dokumenten mit Mobilgeräten nur möglich, wenn die Server-seitige Verschlüsselung nicht aktiv ist.

Collabora updaten

Von Zeit zu Zeit werden Updates für das Collabora-Image veröffentlicht (dies sollte im Nextcloud-Blog angekündigt werden). Man kann allerdings auch manuell überprüfen, welche Version aktuell installiert ist. Dazu öffnet man einfach ein Dokument mit Collabora und ruft das Menü Hilfe > Über auf. Hier wir dann die installierte Version angezeigt:

Hilfe > Über zeigt die aktuell installierte Version an

Hilfe > Über zeigt die aktuell installierte Version an

Die Version des aktuellsten Images kann nun über Docker Hub (eine Art Suche für Docker-Images) ermittelt werden. Dazu sucht man einfach nach collabora/code und lässt sich dann die Tags anzeigen. Schneller geht es über diesen Direktlink. Hier werden dann alle Versionen des Images angezeigt:

Die aktuelle Version im Docker Hub

Die aktuelle Version im Docker Hub

Zwar werden im Menü Über nur drei Versionsnummern angezeigt, allerdings sollte man auch anhand des Datums sehen können, wenn eine neue Version des Containers bereitsteht.

Das Update selbst erfolgt dann in wenigen Schritten. Zunächst wird der aktuelle Container gestoppt und entfernt:

COLLABORADOCKER ist dabei der Name des Containers, der beim ersten Start angegeben wurde. Alternativ kann hier auch die ID des Containers verwendet werden (zu ermitteln mit docker ps).

Optional: Bei der Arbeit mit Docker bleiben oft Reste auf dem System zurück (z.B. alte, ungenutzte Container). Gerade wenn auf dem System ausschließlich Collabora per Docker betrieben wird, empfiehlt es sich, das komplette Docker-System zu bereinigen. Dazu werden einfach folgende Befehle ausgeführt:

Anschließend wird die neuste Version des Containers herunter geladen und gestartet:

Anschließend sollte Collabora in der neuesten Version laufen.

Troubleshooting

Manchmal kann es vorkommen, dass Collabora nicht wie erwartet funktioniert. Da einige Komponenten beteiligt sind (Webserver, Nextcloud, Docker-Container), sollte man das Problem erst einmal eingrenzen.

Zunächst sollte überprüft werden, ob in den Admin-Einstellungen die URL für Collbora übernommen werden konnte. Falls dies schon nicht funktioniert, sollten zunächst einmal die Logs des Webservers kontrolliert werden (auf der Maschine, wo der Gateway-Host zu finden ist und auch Nextcloud installiert ist):

Hier sollten dann Fehlermeldungen zu finden sein, mit den man das Problem weiter eingrenzen kann.

Falls Collabora sich in Nextcloud korrekt einrichten ließ, aber trotzdem nicht funktioniert (z.B. wenn sich keine Dokumente öffnen lassen), dann sollten in diesem Fall zunächst einmal das Nextcloud-Log überprüft werden (in der Admin-Oberfläche von Nextcloud unter Protokollierung).

Falls hier auch nichts auffälliges zu sehen ist, sollten die Logs des Docker-Containers überprüft werden:

Hier sind dann u.U. Hinweise zu finden, dass z.B. ein benötigter Dienst nicht gestartet werden konnte. In diesem Fall hilft es meistens, den Rechner, auf dem Collabora läuft, einfach mal neu zu starten.

Erst wenn dies auch keine Besserung bringt, kann man sich auch auf die Kommandozeile des Containers selbst einloggen. Dazu einfach auf der Docker-Maschine folgenden Befehl ausführen:

Auf der Kommandozeile des Containers kann dann eine detaillierte Fehlersuche stattfinden, da man hier direkten Zugriff auf die Logs des Docker-Systems hat.

Um die Kommandozeile des Containers wieder zu verlassen, reicht folgender Befehl:

Fazit

Mit Collabora kann Nextcloud in wenigen Schritten um Online-Office-Funktionalitäten erweitert werden. Dadurch können Office-Dateien direkt und „live“ in der Cloud bearbeitet werden, ohne dass diese zuvor heruntergeladen werden müssen. Durch den Einsatz eines Docker-Images für Collabora geht die installation des Features schnell und einfach von der Hand.

Weiterführende Artikel

Links

, , , , , ,

Kommentare: 132

  • Jürgen Roth sagt:

    Hallo Jan,

    ich erhalte zwar eine Anmeldemaske, kann mich aber nicht anmelden.
    Binn mir sehr sicher den richtigen Anmeldenamen (admin) und das korrekte Passwort zu benutzen.
    Lässt sich das ggfs. zurücksetzen?
    Sorry für die Umstände
    Gruß
    Jürgen

    • Jan sagt:

      Hallo Jürgen,

      das Passwort für die Collabora-Übersichtsseite wird über den Docker-Befehl zum Starten des Containers mitgegeben.
      Also einfach Container herunterfahren und mit (korrigiertem) Befehl nochmal starten.

      Gruß,
      Jan

      • Jürgen Roth sagt:

        Hallo Jan,

        da ich nur eine Teilzeitstelle habe komme ich hier nicht richtig weiter.
        Ich habe alles noch mal komplett deinstalliert. Hatte aus versehen Docker aus Ubuntu-Quellen installiert. Da ich jede Fehlermöglichkeit ausschliessen will, habe ich nach einer Anleitung von Docker neu installiert. Danach nach deiner Anleitung Collabora neu installiert.
        Hello Test am Schluss ist erfolgreich.
        Will ich die Admin-Seite aufrufen erscheint nun jedoch Fehler 502 (Bad Gateway)
        Wo kann ich diesen Fehler eliminieren? Weisst du wer mir hierbei, auch gegen Entgelt, helfen kann die Installation ans Laufen zu bekommen?
        Über Remote-Sitzung müsste das ja hinzubekommen sein.

        Grüße
        Jürgen

        • Jan sagt:

          Hallo Jürgen,

          „Bad Gateway“ bedeutet im Allgemeinen, dass der Upstream (in diesem Fall der Docker-Container) nicht erreicht werden kann, oder einen Fehler geworfen hat. Hier einfach mal die Schritte unter Troubleshooting durcharbeiten. Irgendwo hier sollte ein Hinweis zu finden sein, was da schief läuft.

          Nutzt du evtl. einen neuen Raspberry Pi 4? Habe gehört, dass es hier beim „Containern“ Probleme geben soll…

          Wenn es bei dir gar nicht nicht klappen will: Für das, was ich hier im Blog Hobby-mäßig mache, gibt es noch den professionellen Ableger (siehe hier). Vielleicht auch eine Lösung.

          Gruß,
          Jan

  • Leo W sagt:

    Hi Jan,

    Wie immer eine super Anleitung, allerdings schaffe ich es nicht NC mit CODE zu verbinden. Wenn ich die Docker Logs auslese bekomme ich folgenen error:

    standard_init_linux.go:211: exec user process caused „exec format error“

    Hat das was damit zu tun das ich Debian 10 nutze? Mein System ist ein RockPro64 mit Debian 10 welches ich über ein Update von Debian 9 von ayufan erhalten habe. Wenn ich uname -a eingebe zeigt er mit an aarch64, also 64 Bit ist vorhanden.

    Könnte es sein, dass Debian 10 noch zu frisch ist für den Docker Container? wenn ja, wie ließe sich das beheben?

    Gruß

    Leo W.

    • Jan sagt:

      Hallo Leo,

      ich weiß nur, dass es mit Collbora/Docker auf einem Raspi mal Probleme gab (lag glaube ich an der Inkompatibilität von ARM).
      Habe leider kein Debian 10 im Einsatz, kann es also nicht testen. Würde mich aber sehr wundern, wenn es unter Debian 10 nicht gehen sollte.
      Hat es denn funktioniert, als du noch auf Debian 9 unterwegs warst?

      Gruß,
      Jan

1 2

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.