DecaTec

Programmieren, Fotografie, Home-Server und einiges mehr

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 16.06.2018)
  • 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)

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 updaten

Von Zeit zu Zeit werden Updates für das Collabora-Image veröffentlicht (dies sollte im Nextcloud-Blog angekündigt werden). Das Update des Images wird dann folgendermaßen durchgeführt:

Zunächst wird das neue Image heruntergeladen:

Anschließend werden mit diesem Befehl alle laufenden Docker-Container aufgelistet:

Hier sollte dann ein Image „collabora/code“ mit entsprechender Container-ID zu finden sein. Dies ist dann noch der alte Container. Dieser muss dann zunächst einmal gestoppt entfernt werden. Dies passiert mittels der Container-ID:

Die recht lange Container-ID muss hier übrigens nicht immer komplett eingegeben werden, meist reichen die ersten vier Zeichen der ID.

Zum Schluss wird der neue Container wie gewohnt gestartet:

Anschließend sollte Collabora in der neuesten Version laufen.

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: 63

  • Kai sagt:

    Waaaaahsinn! Danke für das Tutorial. Das werde ich zeitnah auch bei mir implementieren. Dank deiner Tutorials klappt das richtig gut.
    Wie sieht es hier mit Updates aus? Kann ich jederzeit Docker und das Docker-Image aktualisieren?

    • Hans sagt:

      Hallo Kai,

      Update kannst du meines wissens jeder Zeit machen.
      Würde dir jedoch empfehlen ein Backup anhand der Anleitung von Jan vorher zu machen.

      Gruß Hans

      • Jan sagt:

        Hallo Kai & Hans,

        da habe ich doch glatt die Update-Prozedur vergessen.
        Leider ist es nicht ganz mit dem Pullen des neuen Images getan. Ich habe den Artikel entsprechend erweitert.

        Vielen Dank für den Hinweis!

        Gruß,
        Jan

    • Kai sagt:

      Hallo Jan,
      ich habe jetzt den Docker Container am Laufen. Collabora funktioniert super! Ich freue mich auf weitere Tutorials, insbesondere zu Nextcloud.
      Viele Grüße
      Kai

  • Hans sagt:

    Hallo Jan,

    wenn man seine NC bereits unter einer Sub-Domian laufen hat, kann das einen gut ärgern wenn dann Collabora zusätzlich installieren möchte.

    NC ist unter cloud.hans.eu/nextcloud installiert, somit ist es nicht mehr möglich eine Sub-Domian für Collabora anzulegen.

    Die Lösung, Callabora direkte auf die Sub-Domain (cloud.hans.eu) zu verweisen.

    Wenn man einen eigenen Server über DynDNS zu Hause hat ist das aus meiner Sicht die einzige Möglichkeit.

    Liege ich da richtig?

    Gruß Hans

    • Jan sagt:

      Hi Hans,

      da liegst du richtig, das ist vermutlich die einzige Möglichkeit. Das liegt v.a. darin begründet, dass man bei einem normalen Router nur eine Anmeldung per DynDNS hinterlegen kann und diese DynDNS-Adresse ist dann eine Subdomain. Also im privaten Umfeld zwei Subdomins laufen zu lassen, ist technisch nicht möglich.
      Allerdings habe ich hier eine keine Einschränkung seitens Collabora feststellen können, wenn es auf der gleichen Subdomain wie Nextcloud läuft.

      Gruß,
      Jan

      • Hans sagt:

        Hallo Jan, welche Einschränkung meinst du?

        Vielen Dank

        Gruß Hans

      • Steven sagt:

        Hi Jan,
        erstmal vielen Dank für die Anleitung!

        Allerdngs: warum sollten mehrere Subdomains im privaten Umfeld (mit DynDNS) denn technisch nicht möglich sein?
        Ich selbst bin Strato Kunde, habe auch „nur“ eine Fritzbox und besitze eine Domain mit -dank dieser Anleitung- jetzt 3 Subdomains. Habe deine Aleitung befolgt und lediglich eine neue Subdomain bei Strato erzeugt und ein neues SSL-Zertifikat dafür. Die Subdomains müssen allerdings DNS-technisch so eingerichtet werden das diese ein CNAME für die „Haupt“-Domain sind.

        • Jan sagt:

          Hi Steven,

          meine Aussage bezog sich eher darauf, dass man bei der DynDNS-Konfiguration im Router eben nur eine (Sub-)Domain eintragen kann.
          Auf die Idee, das „von der anderen Seite“ mit einem CNAME Eintrag für eine Domain zu lösen, bin ich noch nicht gekommen. Funktioniert das bei dir problemlos? Wie schaut es aus mit der Auflösung der Domain/vHost am Webserver und meckert der Let’s Encrypt Client nicht, wenn er auf einen CNAME Eintrag stößt?

          Gruß,
          Jan

  • Hans sagt:

    Hallo Jan,
    vielen Dank für das Tutorial. Collabora läuft an sich.
    Allerdings öffnet sich nicht die Datei selber – also die doc, xls usw Datei.
    Ich sehe die Icon Leiste und Buttons usw. aber nicht die Datei selber. Woran kann das liegen?
    Viele Grüße
    Hans

    • Jan sagt:

      Hi Hans,

      steht irgend etwas im Log von Nextcloud bzw. nginx (error.log)?
      Ich habe bei meiner Installation keine Probleme und die Dateien lassen sich einfach bearbeiten.

      Gruß,
      Jan

      • Hans sagt:

        Hallo Jan,
        ich habe probiert das Problem von zu Hause aus zu rekonstruieren. Von zuhause funktioniert es. Bei der Arbeit wird Firefox ESR genutzt und bestimmte Sicherheitseinstellungen sind eingestellt. Irgendwie funktioniert es dort nicht.

        • Jan sagt:

          Hi Hans,

          vermutlich werden beim Browser auf der Arbeit bestimmte Funktionen aus Sicherheitsgründen geblockt, die aber für Collabora benötigt werden. Solche Probleme sind mir auch bekannt, hier kann man aber leider nichts machen, da man keine Chance hat, die betreffenden Optionen ändern zu lassen.

          Gruß,
          Jan

  • Elies sagt:

    Hey! Danke für das Tutorial. Leider bekomme ich diese Meldung wenn ich ein File öffnen möchte : „Das Laden des Dokuments ist fehlgeschlagen. Bitte vergewissern Sie sich, dass der Dateityp unterstützt und die Datei nicht defekt ist, und versuchen Sie es dann erneut.

    Ist dir ein Workaround bekannt ?

    LG
    ELies

    • Jan sagt:

      Hallo Elies,

      um welchen Dateityp handelt es sich?
      Ist in den Logs irgend etwas zu finden, was den Fehler genauer beschreibt?

      Gruß,
      Jan

      • Robert sagt:

        Hallo Jan,

        ich habe leider selbes Problem. Wo finde ich die Logs dazu? ggfls kommen wir hier weiter.

        Vielen Dank
        Gruß
        Robert

      • Thomas sagt:

        Hallo Jan,

        Ich habe leider die selbe Fehlermeldung:

        „Das Laden des Dokuments ist fehlgeschlagen. Bitte vergewissern Sie sich, dass der Dateityp unterstützt und die Datei nicht defekt ist, und versuchen Sie es dann erneut.“

        Es handelt sich um eine ods – datei.

        Kannst Du mir einen Tipp geben, wo ich weiter forschen kann?

        Viele Grüße

        Thomas

        • Jan sagt:

          Hi Thomas,

          leider kann ich das Problem selbst nicht nachvollziehen.
          Nach der Einrichtung von Collabora wirst du ja mal den kompletten Rechner neu gestartet haben.
          Ich würde in deinem Fall mal im Support-Forum von Nextcloud nachfragen.

          Gruß,
          Jan

          • thomas sagt:

            hallo jan,

            ja, neustart ist erfolgt. ich forsche nun im nextcloud forum weiter :)

            viele gruesse

            thomas

          • Thomas sagt:

            Hallo Jan,
            noch eine kurze Frage: wenn ich in Nextcloud die Adresse der Installaruin mit https://domain.de eingebe und apply druecke – muss da ein saved kommen? bei mir steht immer saved with errors. aber nicht welche fehler. ist das noch ein anknuepfungspunkt?
            Viele Gruesse
            Thomas

          • Jan sagt:

            Hi Thomas,

            mit welchem Befehl startest du konkret den Collabora-Container? Nicht dass beim Starten schon irgendwas nicht korrekt läuft.
            Ansonsten kannst du auch mal die Logs deines Collabora-Contrainers kontrollieren (Befehl: docker logs id-of-your-instance). Hier sollte auf jeden Fall eine etwas aussagekräftigere Fehlermeldung angezeigt werden. Vielleicht kommen wir damit ja auf die richtige Fährte.

            Gruß,
            Jan

          • Thomas sagt:

            Hallo Jan,

            ich habe Dir eine Mail geschickt.

            Viele Grüße

            Thomas

  • Robert sagt:

    Hallo Jan,

    ich bekomme in der Konfiguration in der GUI folgende Rückmeldung:

    „Mit Fehler gespeichert: Collabora Online sollte das gleiche Protokoll wie die Server-Installation nutzen.“

    Das verstehe ich nicht ganz. Unter http://[URL] bekomme ich den nicht.
    Meine Cloud habe ich jedoch nach deinem Vorbild mit HTTPS entsprechend aufgesetzt. Hast du hierzu eine Idee?

    • Robert sagt:

      UPDATE: (als Antwort, da ich meine Kommentar nicht editieren kann)
      – Ich habe den gesammten Server neugestartet und das Problem tritt aktuell nicht auf.

  • Hans sagt:

    Hallo Jan,

    vielen Dank für das HowTo.
    Es funktioniert alles wunderbar. Allerdings habe ich seit der Installation immer ein Zombie Prozess laufen. Was kann man da machen?

    Viele Grüße
    Hans

  • Hans sagt:

    Hallo Jan,

    wenn ich mich einlogge, erscheint eine Meldung – There is 1 Zombie process

    Ein ps -ax zeigt

    2083 ? Z [lo-startmain]

    Gruß Hans

  • Hans sagt:

    Hallo Jan,

    ein ps auxf bringt

    root 1467 0.1 0.3 540140 26116 ? Ssl Jan25 10:24 \_ docker-containerd –config /var/run/docker/containerd/containerd.toml
    root 1756 0.0 0.0 7516 4324 ? Sl Jan25 0:00 | \_ docker-containerd-shim -namespace moby -workdir /var/lib/docker/containerd/daemon/io.containerd.runtime.v1.linu
    root 1776 0.0 0.0 4512 700 pts/0 Ss+ Jan25 0:00 | \_ /bin/sh -c bash start-libreoffice.sh
    root 2002 0.0 0.0 18404 3024 pts/0 S+ Jan25 0:00 | \_ bash start-libreoffice.sh
    root 2105 0.0 0.0 47336 2924 pts/0 S+ Jan25 0:00 | \_ su -c /usr/bin/loolwsd –version –o:sys_template_path=/opt/lool/systemplate –o:lo_template_path=/
    lxd 2106 0.0 0.1 424856 15556 ? Ssl Jan25 2:16 | \_ /usr/bin/loolwsd –version –o:sys_template_path=/opt/lool/systemplate –o:lo_template_path=/op
    lxd 2108 0.0 4.4 1112064 355528 ? Sl Jan25 0:26 | \_ /usr/bin/loolforkit –losubpath=lo –systemplate=/opt/lool/systemplate –lotemplate=/opt/co
    lxd 7260 0.0 3.0 1177792 247428 ? Sl Jan27 0:25 | \_ /usr/bin/loolforkit –losubpath=lo –systemplate=/opt/lool/systemplate –lotemplate=/op
    lxd 7262 0.0 0.0 0 0 ? Z Jan27 0:00 | \_ [lo_startmain]

    Scheint irgendwas mit Docker zu tun zu haben?

    Gruß
    Hans

    • Jan sagt:

      Hi,

      ich konnte hier und hier etwas zu diesem Prozess finden. Scheint wirklich was mit Collabora zu tun zu haben, allerdings scheint es dafür momentan noch keine Lösung zu geben.
      Ich würde mal sagen: Wenn du ansonsten keine Einschränkungen feststellen kannst, dann würde ich dieses kleine Problem zunächst einmal ignorieren.

      Vielleicht bringt ja zukünftiges Updates des Docker-Containers eine Verbesserung.

      Gruß,
      Jan

  • Werner sagt:

    Hallo Jan,

    ich habe einen Server nach dem Artikel: Nextcloud auf Ubuntu Server mit nginx, MariaDB, PHP, Let’s Encrypt, Redis und Fail2ban aufgesetzt.
    Dann die Konfigurationsschritte für Collabora von hier übernommen.

    Wenn ich eine Officedatei anklicke, erscheint folgender Fehler:

    GuzzleHttp\Exception\ServerException: Server error response [url] https://sub.meinedomain.de/hosting/discovery [status code] 502 [reason phrase] Bad Gateway

    Der Docker-Container läuft.

    docker ps

    CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
    666d4bd15c30 collabora/code „/bin/sh -c ‚bash st…“ 7 seconds ago Up 1 second 127.0.0.1:9980->9980/tcp tender_engelbart

    Wo könnte der Fehler liegen?

    Gruß
    Werner

    • Jan sagt:

      Hallo Werner,

      hier würde ich mal einen Blick in die Logs werfen (Nextcloud-Log und nginx Error-Log), vielleicht stehen hier ja ein paar mehr Infos drin.
      Bevor du allerdings auf Fehlersuche gehst: Hast du den PC nach der Installation von Collabora mal komplett neu gestartet? Ich hatte in letzter Zeit schon einige Fälle, bei den irgendwas nicht korrekt funktioniert hat und die Auswertung der Logs/Fehlersuche auch nicht viel gebracht hat. Erstaunlicherweise hat aber in machen Fällen ein Neustart des Systems die Lösung gebracht. Daher wäre es mal einen Versuch wert (wenn noch nicht geschehen).

      Gruß,
      Jan

  • Phillip sagt:

    Hallo Jan,

    Da jetzt Nextcloud läuft, geht es an den weiteren Ausbau :D

    Collabora klingt sehr interessant, allerdings hört sich für mich OnlyOffice noch etwas interessanter an. Nun meine Frage: Da es OnlyOffice auch als Docker-Image gibt, sollte diese Anleitung hier doch grundsätzlich funktionieren oder?
    Wollte nur nachfragen, bevor ich meine Cloud nach kürzester Zeit wieder zerschieße.

    Grüße
    Phillip

    • Jan sagt:

      Hi Phillip,

      im Prinzip sollte das ähnlich wie mit Collabora umzusetzen sein. OnlyOffice bietet hier ein Docker-Image an (zumindest für ownCloud, sollte lauf Beschreibung allerdings auch mit Nextcloud funktionieren).
      Trotzdem – wie immer – der Hinweis: Vorher auf jeden Fall mal ein Backup machen. Wenn du dir die Cloud „zerschießen“ solltest, dann ist das mit einem Backup nur noch halb so wild. ;-)

      Gruß,
      Jan

  • Hans sagt:

    Hallo Jan,

    hast du einen Tip wie ich am Besten Koken mit Docker installieren kann.
    Die Anleitungen im Netz sind nicht mehr aktuell oder funktionieren nicht mehr.

    Gruß Hans

    • Jan sagt:

      Hi Hans,

      habe zwar schon etwas von Koken gehört, habe mich damit allerdings noch nie befasst.
      Hier gibt es wohl ein komplettes Docker-Image, welches auf einem LEMP-Stack basiert. Falls hier mit der Installation Probleme auftauchen, dann am besten mal direkt im GitHub-Repository ein Issue erfassen bzw. dort nachfragen.

      Gruß,
      Jan

      • Hans sagt:

        Hallo Jan, vielen Dank für die Info. Ich bin auf Koken gekommen da du die Anwendung hiermal erwähnt hast und ich auf der Suche nach einer Bilderverwaltung bin.

        Ich werde es mal ausprobieren.

        Gruß Hans

  • Murderhead sagt:

    Mist warum habe ich die Anleitungen von hier nicht zu erst in Google entdeckt. Ich habe jetzt alles leider nach der Anleitung von „https://canox.net/2016/06/die-eigene-cloud-mit-dem-raspberry-pi-und-nextcloud/“ gemacht. Funktioniert auch aber leider mit dem Apache HTTP Server. Nun würde ich gerne Collabora Installieren um die Collabora Online App mit Nextcloud nutzen zu können. Wäre es vielleicht möglich das sie eine Anleitung erstellen wie man den Apache HTTP Server mit dem nginx Server tauscht oder alternativ wie man Collabora mit dem Apache HTTP Server zum laufen bekommt.

    • Jan sagt:

      Hi,

      ich verwende leider keinen Apache, sondern habe mich auf nginx „spezialisiert“. Daher wären Tipps an dieser Stelle auch mehr oder weniger geraten.
      Aber für Collabora in Verbindung mit Apache gibt es hier bereits eine recht ausführliche Anleitung. Ein wenig mehr ins Detail geht auch dieser Foren-Beitrag.

      Den einzigen konkreten Tipp, den ich dir hier geben kann: Nach der Installation/Einrichtung von Collabora ist es oftmals erfolderlich, bestimmte Dienste neu zu starten. Daher würde ich empfehlen, den Rechner einmal komplett neu zu starten. Vielleicht funktioniert es danach ja, ohne dass du vorher auf große Fehlersuche gehen musst.

      Gruß,
      Jan

      • Murderhead sagt:

        Hey Jan,

        Danke erst mal für die Rückmeldung. Also ich bin jetzt einfach auf nginx umgestiegen. Scheint auch der sinnvollere schritt zu sein da nginx ressourcenschonender arbeitet als der Apache HTTP Server. Meine Frage jetzt reicht es wen ich den Apache HTTP Server einfach durch „sudo service apache2 && sudo update-rc.d apache2 disable“ gestoppt und den dienst deaktiviert hab oder muss ich da noch etwas mehr machen. Danke schon einmal für die Hilfe.

        Grüße

        • Murderhead sagt:

          Meinte „sudo service apache2 stop && sudo update-rc.d apache2 disable“ sorry.

          • Jan sagt:

            Hi,

            ja, das sollte reichen, wenn du Apache einfach nicht mehr startest. Falls du ihn später nochmal brauchst, dann ist er zumindest noch installiert.
            Wenn du den Apache doch komplett vom System entfernen möchtest, kannst du auch wie in dieser Anleitung beschrieben vorgehen.

            Gruß,
            Jan

  • Svensson sagt:

    Mahlzeit! Zunächst einmal großes Lob für die Nextcloud-Serie! Richtig, richtig gut! Ich habe bis hierhin das Tutorial 1:1 erfolgreich umsetzen können und hänge aktuell bei der Installation/Integration von Collabora fest. Das Erstellen der Collabora Sheets funktioniert zwar, aber wenn ich Sie zum Bearbeiten öffnen möchte, kommt ein Interner Serverfehler (Anfragekennung: QSnxEpYbEkPLIZIXgjBs)

    Nur damit wir uns richtig verstehen – Mit „… Anweisungen in den Gateway-Host von nginx hinzugefügt werden“ ist die Datei nano /etc/nginx/conf.d/nextcloudtutorial.goip.de.conf gemeint, richtig?

    In dem File habe ich unter bzw. im Kontenter

    „location / {
    # Enforce HTTPS“

    Alles reinkopiert. Selbstverständlich habe ich die nachfolgenden Schritte auch gemacht, aber leider ohne Erfolg! Ich hoffe, mir kann jemand weiterhelfen, danke!

    • Jan sagt:

      Hi Svensson,

      erst einmal danke für das Lob!
      Was Collabora angeht, habe ich schon festgestellt, dass nach der Installation und Konfiguration der Rechner einmal komplett neu gestartet werden muss, weil das Ganze ansonsten nicht zu 100% funktioniert. Hast du diesen Schritt bereits gemacht? Wenn ja: Findest du irgendwelche Einträge im Log (nginx/Nextcloud), die vielleicht weiter helfen könnten?

      Gruß,
      Jan

      • Svensson sagt:

        Entschuldigung für die späte Antwort.

        Also dein nginx Error-Log würde diese Fehlermeldung wiedergeben:

        [error] 1210#1210: *1067 open() „/etc/nginx/html/hosting/discovery“ failed (2: No such file or directory), client: , server: nextcloudtutorial.goip.de, request: „GET /hosting/discovery HTTP/1.1“, host: „nextcloudtutorial.goip.de“

        Und dein Nextcloud-Log folgendes:

        Client error response [url] https:\\\/\\\/nextcloudtutorial.goip.de\\\/hosting\\\/discovery [status code] 404 [reason phrase] Not Found\“,\“Code\“:404,

        Den Server habe ich inzwischen mehrmals neu gestartet.

        Danke für deine Hilfe!

        Gruß,
        Svensson

        • Jan sagt:

          Hi Svensson,

          er findet also das Verzeichnis hosting/discovery nicht. Das soll er aber nicht (wie bei dir) im Webroot (oder Default-Verzeichnis) von nginx suchen, sondern soll dies über den Docker-Container finden. Ich denke, das sollte nur noch eine Kleinigkeit fehlen, damit es läuft. Hast du die Erweiterungen korrekt im Gateway-Host eingetragen (direkt im HTTPS-server-Block)?

          Gruß,
          Jan

        • Svensson sagt:

          Ok, ich habe den Fehler gefunden. Ich habe die Anweisungen, welche in den Gateway-Host von nginx hinzugefügt werden sollte, im ersten statt im zweiten Server Block gespeichert….

          Ich habe den Code in den ersten Server Block unterhalb von

          “ location / {
          # Enforce HTTPS
          # Use this if you always want to redirect to the DynDNS address (no local access).
          return 301 https://$server_name$request_uri;

          # Use this if you also want to access the server by local IP:
          #return 301 https://$server_addr$request_uri;

          ………..

          Kopiert…. Ohje :)

          Danke, für deine schnelle Rückmeldung!

          LG
          Svensson

          • Jan sagt:

            Hi Svensson,

            ja, manchmal sind es wirklich nur Kleinigkeiten, die dafür sorgen, dass irgendwas nicht funktioniert.
            Super, dass es bei dir nun klappt!

            Gruß,
            Jan

  • Stefan sagt:

    Hey Jan,

    vielleicht kannst du mir helfen…
    Ich bekomme beim öffnen von einem Dokument nur einen grauen Frame.
    NGinx Error Logs und die Docker logs von Collabora sind leer.
    Nur folgendes in der Browserconsole (Natürlich zensiert):

    Content Security Policy: Die Einstellungen der Seite haben das Laden einer Ressource auf https://192.168.2.15/loleaflet/ffc419a/loleaflet.html?WOPISrc=https%3A%2F%2Fcloud.DOMAIN.de%2Fnextcloud%2Fapps%2Frichdocuments%2Fwopi%2Ffiles%2F629_ocfdkkvspxcl&title=New%20Document.odt&lang=de&closebutton=1&revisionhistory=1 blockiert („frame-src“).

    • Jan sagt:

      Hi Stefan,

      hier berichtet jemand über ein ähnliches Problem und verweißt auf die Anweisung „ProxyPreserveHost“. Dies ist eine Apache-Einstellung und findet keine direkte Entsprechnugn bei nginx, sondern wird dort anders abgebildet (siehe hier).
      Hast du daher bei den Anweisungen im Gateway-Host für Collabora im Block “ location ^~ /loleaflet {…“ die Anweisung proxy_set_header Host $http_host; drin? Wenn nicht, dann bitte mal mit aufnehmen und am besten den ganzen PC neu starten (damit auch der Collabora-Container sauber neu gestartet wird).
      Wenn das auch noch keine Besserung bringt, dann noch folgende Anweisungen im gleichen location-Block mit hinzufügen:
      proxy_set_header X-Forwarded-Host $host:$server_port;
      proxy_set_header X-Forwarded-Server $host;
      proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;

      Danach sollte es dann eigentlich funktionieren.

      Gruß,
      Jan

      • Stefan sagt:

        Danke für deine Antwort! Heute Morgen war die Help Seite von Nextcloud down und konnte nicht nach meinem Fehler suchen.
        Danke für deine Tipps! Ich habe einiges schon probiert und fange jetzt nochmal von vorne an. Ich melde mich nochmal!
        (Lösch mein anderes Kommentar doch einfach. Ich hab mich da verklickt)

      • Stefan sagt:

        Hey Jan,

        danke, aber leider hat nichts geholfen… Habe alles genau nach Anleitung gemacht nur habe ich LE weggelassen, da ich ein eigenes COMODO Zertfikat habe, aber daran wird es nicht liegen.
        Habe alles neu gemacht und von vorne, aber keine Besserung.
        Hier meine Configs:

        /etc/nginx/conf.d/cloud.northeim.de.conf: http://paste.ubuntu.com/p/RcMvc5bHyT/

        /etc/nginx/conf.d/cloud.northeim.de_nextcloud.conf: http://paste.ubuntu.com/p/rks3NqXzWX/

        /etc/nginx/nginx.conf: http://paste.ubuntu.com/p/bTNCsp3GYS/

        Firefox Debuglog: https://paste.ubuntu.com/p/kgV3wBR9yd/

        Ich weiß echt nciht weiter…

        • Jan sagt:

          Hi Stefan,

          wie hast du denn Docker an sich eingerichtet? Ich bin so vorgegangen, die in diesem Tutorial beschrieben. Passt hier die Domain-Angabe beim Starten des Docker-Containers?

          Gruß,
          Jan

          • Stefan sagt:

            Ja, genau. Alles nach deinen Anleitungen. Alles genau beachtet.
            Kann es damit zusammen hängen, dass er die lokale IP Adresse verwendet beim öffnen von Collabora? Sollte da nicht die Domain stehen?

          • Jan sagt:

            Hi Stefan,

            ja, genau das ist denke ich das Problem. Er sollte hier die Domain nehmen, wenn der Container mit docker run -t -d -p 127.0.0.1:9980:9980 -e 'domain=nextcloudtutorial\\.goip\\.de' --restart always --cap-add MKNOD collabora/code gestartet wurde. Natürlich musst du hier deine eigene Domain eingeben (beachte auch die „\\“). Dann sollte er das eigentlich nicht über die LAN-IP absprechen, sondern auch über die Domain.
            Um auszuschließend, dass es nicht doch irgendwie mit dem Zertifikat zusammenhängt: Kannst du mal ausprobieren, ob es mit einem Let’s Encrypt-Zertifikat funktionieren würde?

            Gruß,
            Jan

          • Stefan sagt:

            Ja, mit LE auch schon getestet. Ganz am Anfang.
            und die richtige Domain habe ich auch angegeben. Defintiv. Habe schon so viele Varianten durch. Ich teste es jetzt nochmal mit einer eigenen Domain, so wie von Nextcloud vorgeschlagen. Wollte mir nur ein Zertifikat sparen.

          • Stefan sagt:

            Es liegt wohl übrings an der Firewall (Sophos UTM). die kommt mit den ProxyPass nicht klar und dafür gibt es keine Lösung. Habe privat ein VM aufgesetzt. Da geht alles. Danke für deine Hilfe.

          • Jan sagt:

            Hi Stefan,

            ok, danke für die Rückmeldung. Ist vielleicht auch für andere interessant.

            Gruß,
            Jan

Schreibe einen Kommentar

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