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

  • 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

          • Stefan B. sagt:

            Hallo,

            ich bin auch bei Strato und habe Nextcloud unter https://die-domain.de/nextcloud laufen (ich schreibe „die-domain“, da meine tatsächliche URL auch einen Bindestrich/Minuszeichen beinhaltet).
            Wie geht das mit der Subdomain? Momentan versuche ich nämlich das Collabora Docker-Image mit ‚domain=die-domain\\.de\\/nextcloud‘ zu starten. Ich escape also den Punkt „.“ und den Forwardslash „/“ mit doppeltem Backslash „\\“ und hoffe, dass das auch so geht.
            Leider kommt dann, wenn ich in Nextcloud in den Collaboraeinstellungen „https://die-domain.de/nextcloud“ eingetragen habe eine interne Fehlermeldung. Mache ich etwas mit den Escapes falsch, oder sollte ich eine Subdomain wie „https://collabora.die-domain.de“ anlegen, die dann auf „https://die-domain.de/nextcloud“ verweist? Wenn ja, wie mache ich das denn bei Strato? :-))

            Vielen Dank schon mal.
            Stefan

          • Jan sagt:

            Hi Stefan,

            beim Starten des Docker-Containers gibst du gar kein Unterverzeichnis mit. Genau das ist in diesem Screenshot zu sehen. Daher sollte bei dir domain=die-domain\\.de ausreichen.
            Allerdings sind dann auch die Anweisungen für nginx wichtig, damit der Container „gefunden“ werden kann.
            Du sagtest, dass du bei Strato bist: Das bezieht sich doch nur auf die Domain, oder lässt die die komplette Cloud bei Strato laufen?

            Gruß,
            Jan

          • Stefan B. sagt:

            Hallo Jan.

            Nein, das mit Strato bezieht sich tatsächlich nur auf die Domain.

            Was müsste ich den abweichend von deiner Anleitung bei der nginx Konfiguration eintragen? So wie ich das sehe, sollte es auch mit deinem Codeblock funktionieren. Aber ich teste das mal und starte den Dockercontainer mit domain=die-domain\\.de.

          • Jan sagt:

            Hi Stefan,

            da sich der Artikel auch auf eine Nextcloud-Installation bezieht, die in einem Unterverzeichnis läuft, sollte es hier keine Abweichungen geben.

            Gruß,
            Jan

          • Stefan B. sagt:

            Hallo Jan.

            Trotz des geänderten Domainnamens beim Start von Docker, bleibt die Fehlermeldung. Wo könnte ich den Fehler noch suchen?

          • Jan sagt:

            Hi Stefan,

            siehst du irgendwelche Log-Einträge im Nextcloud-Log, die eine genauere Fehlermeldung darstellen?
            Als nächstes würde ich auch mal die Logs des Docker-Containers prüfen:
            Mit docker ps findest du erst einmal die ID des Containers heraus. Diese nutzt du dann für folgenden Befehl: docker logs . Was kommt dabei heraus?

            Gruß,
            Jan

          • Stefan B. sagt:

            Hallo Jan.

            Docker spuckt in regelmäßigem Abstand diese Fehlermeldung aus:

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

            Nextcloud gibt beim Zugriff auf eine Doc Datei folgende Fehlermeldung aus:

            „app“:“richdocuments“,“method“:“GET“,“url“:“/nextcloud/apps/richdocuments/index?fileId=276494&requesttoken=CN9B3TSulbETReuyrOD6gnVZlbuQrTL6QsoPfGKemWo%3D%3AbagSr1Lf091CI6TW59SjyxIq%2Bfr9436NLpNJDgborBg%3D“,“message“:“Exception: {„Exception“:“GuzzleHttpExceptionServerException“,“Message“:“Server error response [url] https://die-domain.de/hosting/discovery [status code] 502 [reason phrase] Bad Gateway“,“Code“:502,“Trace“:“#0 /var/www/nextcloud/apps/bookmarks/vendor/guzzlehttp/guzzle/src/Subscriber/HttpError.php(32): GuzzleHttpExceptionRequestException::create(Object(GuzzleHttpMessageRequest), Object(GuzzleHttpMessageResponse))n#1 /var/www/nextcloud/apps/bookmarks/vendor/guzzlehttp/guzzle/src/Event/Emitter.php(108): GuzzleHttpSubscriberHttpError->onComplete(Object(GuzzleHttpEventCompleteEvent), ‚complete‘)n#2 /var/www/nextcloud/apps/bookmarks/vendor/guzzlehttp/guzzle/src/RequestFsm.php(91): GuzzleHttpEventEmitter->emit(‚complete‘, Object(GuzzleHttpEventCompleteEvent))n#3 /var/www/nextcloud/apps/bookmarks/vendor/guzzlehttp/guzzle/src/RequestFsm.php(132): GuzzleHttpRequestFsm->__invoke(Object(GuzzleHttpTransaction))n#4 /var/www/nextcloud/apps/bookmarks/vendor/react/promise/src/FulfilledPromise.php(25): GuzzleHttpRequestFsm->GuzzleHttp{closure}(*** sensitive parameters replaced ***)n#5 /var/www/nextcloud/apps/bookmarks/vendor/guzzlehttp/ringphp/src/Future/CompletedFutureValue.php(55): ReactPromiseFulfilledPromise->then(Object(Closure), NULL, NULL)n#6 /var/www/nextcloud/apps/bookmarks/vendor/guzzlehttp/guzzle/src/Message/FutureResponse.php(43): GuzzleHttpRingFutureCompletedFutureValue->then(Object(Closure), NULL, NULL)n#7 /var/www/nextcloud/apps/bookmarks/vendor/guzzlehttp/guzzle/src/RequestFsm.php(134): GuzzleHttpMessageFutureResponse::proxy(Object(GuzzleHttpRingFutureCompletedFutureArray), Object(Closure))n#8 /var/www/nextcloud/apps/bookmarks/vendor/guzzlehttp/guzzle/src/Client.php(165): GuzzleHttpRequestFsm->__invoke(Object(GuzzleHttpTransaction))n#9 /var/www/nextcloud/apps/bookmarks/vendor/guzzlehttp/guzzle/src/Client.php(125): GuzzleHttpClient->send(Object(GuzzleHttpMessageRequest))n#10 /var/www/nextcloud/lib/private/Http/Client/Client.php(138): GuzzleHttpClient->get(‚https://die-boe…‘, Array)n#11 /var/www/nextcloud/apps/richdocuments/lib/WOPI/DiscoveryManager.php(84): OCHttpClientClient->get(‚https://die-boe…‘)n#12 /var/www/nextcloud/apps/richdocuments/lib/WOPI/Parser.php(41): OCARichdocumentsWOPIDiscoveryManager->get()n#13 /var/www/nextcloud/apps/richdocuments/lib/TokenManager.php(148): OCARichdocumentsWOPIParser->getUrlSrc(‚application/vnd…‘)n#14 /var/www/nextcloud/apps/richdocuments/lib/Controller/DocumentController.php(165): OCARichdocumentsTokenManager->getToken(*** sensitive parameters replaced ***)n#15 [internal function]: OCARichdocumentsControllerDocumentController->index(‚276494‘)n#16 /var/www/nextcloud/lib/private/AppFramework/Http/Dispatcher.php(161): call_user_func_array(Array, Array)n#17 /var/www/nextcloud/lib/private/AppFramework/Http/Dispatcher.php(91): OCAppFrameworkHttpDispatcher->executeController(Object(OCARichdocumentsControllerDocumentController), ‚index‘)n#18 /var/www/nextcloud/lib/private/AppFramework/App.php(115): OCAppFrameworkHttpDispatcher->dispatch(Object(OCARichdocumentsControllerDocumentController), ‚index‘)n#19 /var/www/nextcloud/lib/private/AppFramework/Routing/RouteActionHandler.php(47): OCAppFrameworkApp::main(‚OCARichdocumen…‘, ‚index‘, Object(OCAppFrameworkDependencyInjectionDIContainer), Array)n#20 [internal function]: OCAppFrameworkRoutingRouteActionHandler->__invoke(Array)n#21 /var/www/nextcloud/lib/private/Route/Router.php(297): call_user_func(Object(OCAppFrameworkRoutingRouteActionHandler), Array)n#22 /var/www/nextcloud/lib/base.php(999): OCRouteRouter->match(‚/apps/richdocum…‘)n#23 /var/www/nextcloud/index.php(42): OC::handleRequest()n#24 {main}“,“File“:“/var/www/nextcloud/apps/bookmarks/vendor/guzzlehttp/guzzle/src/Exception/RequestException.php“,“Line“:89}“

          • Jan sagt:

            Hi Stefan,

            so wie ich das sehe, geht es um folgenden location-Block: location ^~ /hosting/discovery {…}
            Im vHost von nginx ist dieser denke ich mal richtig angegeben (vielleicht nochmals kontrollieren).
            Wenn hier alles richtig ist, dann vermute ich den Fehler fast mal im Docker-Container von Collabora: Wir machen ja einen proxy_pass und geben den Request an den Container weiter. Wenn nun im Container ein Fehler auftritt, dann bekommen wir den 1:1 wieder zurück.
            Was passiert, wenn du im Browser die URL https://die-domain.de/hosting/discovery aufrufst (mit angeschalteter Developer Console)?

            Gruß,
            Jan

          • Stefan B. sagt:

            Hallo Jan.

            Danke, dass du so nett dran bleibst. :-)

            Also wenn ich https://die-domain.de/hosting/discovery aufrufe kommt die nginx Standardseite für 502 Bad Gateway und die Konsole im Firefox gibt lediglich das aus: „Die Zeichenkodierung des HTML-Dokuments wurde nicht deklariert. Das Dokument wird in manchen Browser-Konfigurationen mit verstümmeltem Text dargestellt, wenn das Dokument Zeichen außerhalb des US-ASCII-Bereichs enthält. Die Zeichenkodierung der Seite muss im Dokument oder Transferprotokoll deklariert werden.“ Das liegt aber wohl an dem was nginx dem Browser zurück gibt.

            Gruß
            Stefan

          • Stefan B. sagt:

            Achso, noch zur Konfiguration von Collabora bei nginx:

            die habe ich in der Datei /etc/nginx/site-enabled/die-domain in folgendem Block untergebracht:

            server {
            listen 443 ssl http2;
            server_name die-boehs.de 192.168.178.44;
            .
            .
            .
            #
            # Collabora
            .
            .

          • Jan sagt:

            Hi Stefan,

            ja, die location-Blöcke für Collabora sind dort genau richtig.
            Da ein HTTP 502 Fehler kommt, vermute ich den Fehler im Collabora-Container. Siehe hier („Der Server konnte seine Funktion als Gateway oder Proxy nicht erfüllen, weil er seinerseits eine ungültige Antwort erhalten hat.“).
            Den Docker-Container hast du auch schonmal komplett entfernt und neu heruntergeladen/aufgesetzt?
            Ansonsten würde ich hier mal im Nextcloud Forum nachfragen.

            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

  • Till sagt:

    Hey,

    zuerst einmal viel Dank für die tollen Anleitungen. Man lernt sehr viel.
    Ich habe die neuere Anleitung für die Einrichtung von NextCloud benutzt (mit „alternativer“ nginx Dateistruktur). Das hat soweit sehr gut funktioniert.

    Nun habe ich ein Problem bei der Einbindung von Collabora. Der Docker Container läuft & die Admin Konsole und Discovery ist erreichbar. Möchte ich in NextCloud jedoch eine Datei öffnen, sehe ich nur ein leeres Frame.

    Die Dev Konsole im Browser (F12) meldet eine 500. Alle anderen, mir bekannten Logs haben keinen Hinweis auf einen Fehler (nginx, php, nextcloud, docker). Mir gehen die Idee aus, an welcher Stelle ich nach Hinweisen suchen könnte.

    Ich wäre sehr dankbar über ein paar Fingerzeige und/oder Zaunpfähle mit denen ich vielleicht weiter komme.

    Bester Dank & Gruß

    • Jan sagt:

      Hi Till,

      wenn in den Logs (auf dem Docker-Host) kein Fehler ersichtlich ist, dann solltest du die Logs des Containers checken. Wie das funktioniert, habe ich im Artikel über OnlyOffice beschrieben (siehe hier). Irgendwo muss hier ein Fehler ersichtlich sein.

      Edit: Ich habe nun den Collabora-Artikel um einen entsprechenden Absatz fürs Troubleshooting erweitert (siehe hier).

      Gruß,
      Jan

  • thomas sagt:

    hallo jan,

    versuche gerade collabora in nextcloud zu integrieren.
    bekomme aber beim öffnen eines dokuments folgende fehlermeldung in der browser-console:
    Content Security Policy: The page’s settings blocked the loading of a resource at https://myDOMAIN.com/nextcloud/apps/richdocuments/index? (“frame-ancestors”).
    Content Security Policy: The page’s settings blocked the loading of a resource at https://myDOMAIN.com/nextcloud/apps/files/?dir=/&fileid=8 (“frame-ancestors”).

    wenn ich im firefox CSP abschalte, dann klappt das öffnen des dokuments.
    vielleicht bringst du mich auf die richtige spur.
    danke
    thomas.

    • Jan sagt:

      Hi Thomas,

      kannst du trotz dieses Fehlers Dokumente öffnen/bearbeiten?
      Versuch doch mal folgendes: Füge beim Gateway-Hosts noch folgendes hinzu (dort, wo auch schon die anderen Header gesetzt werden):
      Header set Content-Security-Policy: "frame-ancestors https://meinedomain.de"
      Header set Content-Security-Policy: "frame-src https://meinedomain.de blob:;"

      Webserver anschließend neu starten und nochmals ausprobieren.

      Gruß,
      Jan

      • thomas sagt:

        hi jan,
        danke für die rasche antwort.

        ich kann dokumente nur bearbeiten, wenn ich csp im firefox deaktiviere.

        mit den vorgeschlagenen änderungen hat sich leider nichts geändert.

        ich hab mal meine 2 konfigs hier verlinkt:
        https://pastebin.com/KrHiFbkH

        https://pastebin.com/vJaJxmkT

        vielleicht passt da noch was nicht, was ich übersehe.
        danke für deinen tollen support und beste grüße
        thomas

        • Jan sagt:

          Hi Thomas,

          deine Configs sehen eigentlich gut aus. Das einzige, was mir auffällt: Du nutzt nicht den Standard-Port 443.
          Wie hast du den Docker-Container für Collabora gestartet? Ich denke mal, dass du deinen Port auch im Parameter ‚domain‘ mit angeben musst. Ansonsten sind das für den Server zwei unterschiedliche Domains.
          Die Anpassungen am vHost kannst du dann wieder entfernen.

          Gruß,
          Jan

          • thomas sagt:

            hi jan,

            wenn ich den port angebe klappt es leider nicht. so wird mein container gestartet:

            docker run –name=COLLABORADOCKER -t -d -p 127.0.0.1:9980:9980 -e ‚domain=meine\\.domain\\.de‘ -e extra_params=‘–o:post_allow.host=\:\:ffff\:172\.17\.0\.1 –o:storage.wopi.host=\:\:ffff\:172\.17\.0\.1 –o:post_allow.host=x\.y\.z\.a –o:storage.wopi.host=x\.y\.z\.a‘ –restart always –cap-add MKNOD collabora/code

            ohne post_allow.host bzw storage.wopi.host klappt die kommunikation zwischen nextcloud & collabora nicht.
            nextcloud und der collabora container laufen auf der selben maschine.

            gruß
            thomas

          • Jan sagt:

            Hi Thomas,

            dann habe ich fast die Vermutung, dass Collabora den Standard-Port 443 braucht. Hier hat jemand wohl das gleiche Problem, allerdings auch keine Lösung…
            Um einen anderen Fehler in der Konfiguration auszuschließen: Wäre es für dich irgendwie möglich, die komplette Cloud mal auf Port 443 „umzuhängen“?

            Gruß,
            Jan

          • thomas sagt:

            hallo jan,

            das glaube ich insofern nicht, weil
            a.) kommuniziert nextcloud nur über 9980 mit collabora
            b.) es funktioniert wenn ich die CSP policy im browser abdrehe
            vermutl. schickt aber collabora irgend einen CSP header mit, der sich mit meinen einstellungen nicht verträgt. hab auch schon versucht diese in collabora abzudrehen – ohne erfolg.

          • thomas sagt:

            jan,
            ein nicht schöner workaround ist im moment
            proxy_hide_header Content-Security-Policy;

            in der gateway-host config hinzuzufügen.
            dann klappt es ohne änderungen im browser . werde aber weiter nach einer besseren lösung suchen…

            danke
            thomas

            p.s. mir hat übrigens das auch gefehlt.

            location ^~ /hosting/capabilities {
            proxy_pass https://127.0.0.1:9980;
            proxy_set_header Host $http_host;
            }

          • Jan sagt:

            Hi Thomas,

            das ist richtig, dass die Kommunikation mit Collabora über Port 9980 stattfindet. Allerdings ist die Angabe der korrekten Domain beim Starten des Containers bei Collabora sehr wichtig (und daher vermutlich auch der SSL-Port). Daher würde ich an deiner Stelle wirklich mal den SSL Port auf 443 stellen. Wenn es dann immer noch nicht funktionieren sollte, konnten wir den Fehler dennoch etwas eingrenzen.

            Wo hast du die Infos für /hosting/capabilities her? Selbst in der offiziellen Doku ist hier nichts davon zu lesen.

            Gruß,
            Jan

          • Jan sagt:

            Hi Thomas,

            das mit /hosting/capabilities ist wohl notwendig, dass man Dokumente auch mit mobilen Endgeräten direkt aus der Nextcloud-App editieren kann.
            Ich werde das die Tage noch mit in den Artikel aufnehmen. Danke für den Hinweis!

            Edit: Habe den Artikel nun doch gleich überarbeitet. Die Anweisungen im Gateway-Host wurden überarbeitet, so dass nun die Bearbeitung von Dokumenten über die Nextcloud-App möglich ist. Auch das Aktivieren der Collabora Admin-Konsole habe ich gleich noch mit eingebaut.

            Gruß,
            Jan

          • thomas sagt:

            hallo jan,

            ich werd das mit port 443 bei gelegenehit ausprobieren. nachdem ich jetzt wieder arbeiten bin, ist die zeit dafür etwas knapper. ich werde mich aber melden.

            gruß
            thomas

  • Hans sagt:

    Hallo Jan,
    vielen Dank für den Artikel. Ich habe jetzt mal alles akktualisier nach der Aktualisierung.

    Leider bekomme ich beim Aufruf der Admin-Konsole einen 502 bad gateway.

    Auch das Bearbeiten auf mobilen Endgeräten funktioniert nicht. Ich habe die Option „Mit Collabora bearbeiten“ gar nicht. Wo kann ich da nachschauen?

    Gruß
    Hans

    • Jan sagt:

      Hi Hans,

      bei welchem Aufruf bekommst du einen 502er Fehler? Beim Öffnen eines Dokuments? 502 deutet meist auf eine falsche Konfiguration der vHosts hin. Mehr kann dir da nur das nginx error.log sagen.
      Für das Bearbeiten von Dokumenten auf mobilen Endgeräten brauchst du jeweils die neuste Version (Collabora und Android-App), da dieses Feature erst vor kurzem hinzugefügt wurde.
      Ob der Server an sich das Bearbeiten über mobile Endgeräte zulässt, kannst du über einen Aufruf von https://meinedomain.de/hosting/capabilities herausfinden. Hier sollte dann u.a. hasMobileSupport true angezeigt werden.

      Gruß,
      Jan

      • Hans sagt:

        Hallo Jan,

        den 502er bekomme ich wenn die Admin-Konsole und die ../capabilities Seite aufrufen möchte.

        Am Nextcloud vHost (_nextcloud.conf) habe ich nichts verändert, nur am Gateway Host. Was muss ich da am vHost verändern?

        Im nginx log steht 111: Connection refused und „upstream serverr temporarily disabled while connecting to uüstream..“

        Gruß
        Hans

        • Jan sagt:

          Hi Hans,

          der „Upstream“ ist in diesem Fall der Docker-Container von Collabora. Daher vermute ich mal, dass an deinen vHosts alles passt und der Container nicht richtig rund läuft. ist dieser auch wirklich gestartet (docker ps)? Nach dem Aufsetzen des Containers hast du den Rechner auch mal neu gestartet?
          Wenn alle Stricke reißen, dann einfach den Container und auch das Image von Collabora einmal wegwerfen und einen neuen Pull durchführen. Hat bei mir auch immer bei undefinierbaren Problemen geholfen.

          Gruß,
          Jan

          • Hans sagt:

            Hallo Jan,
            ich habe Collabora neu installiert und den neu gestartet. Die Admin Seite funktioniert. Das Bearbeiten auf einem Android Handy funktioniert nicht. Es wird mir die Option nicht angzeigt. Die Nextcloud habe ich neu installiert. Muss ich Bearbeitungsprogramm wie Word installiert haben? Eigentlich ja nicht, oder ? Noch eine Idee?

            Gruß
            Hans

          • Jan sagt:

            Hi Hans,

            zeigt die capabilities-Seite den Eintrag hasMobileSupport true? Bist du vielleicht noch auf Nextcloud 14?
            Ein Bearbeitungsprogramm braucht man hier nicht, das Dokument wird direkt in der Nextcloud-App geöffnet.

            Anscheinend haben mit dem mobilen Bearbeiten von Dokumenten noch einige Leute Probleme. Ich denke mal, dass dieses Feature in Zukunft noch verbessert werden wird.

            Gruß,
            Jan

          • Hans sagt:

            Hallo Jan,
            die capabilities-Seite zeigt den Eintrag hasMobileSupport true an. Noch irgendwelche Ideen?

            Anscheinend muss ich wohl ein wenig warten.

            Gruße
            Hans

          • Jan sagt:

            Hi Hans,

            wenn die Andoid-App in der Version 3.4.1 vorliegt, dann sollte das eigentlich jetzt schon funktionieren. Am besten mal einen Issue im entsprechenden GitHub Repo erstellen.

            Gruß,
            Jan

  • Hans sagt:

    Hallo Jan,

    Collabora läuft soweit.

    Leider erhalte ich bei diesem Punk nachstehenden Fehler.

    docker run –name=COLLABORADOCKER -t -d -p 127.0.0.1:9980:9980 -e ‚domain=nextcloudtutorial\\.goip\\.de‘ -e „username=Admin“ -e „password=gEheImesPaSsw0rt“–restart always –cap-add MKNOD collabora/code

    docker: Error response from daemon: pull access denied for always, repository does not exist or may require ‚docker login‘.

    Selbstversändlich habe ich meine Daten verwendet.

    Gruß Hans

    • Jan sagt:

      Hi Hans,

      ja, da fehlte wohl noch ein Leerzeichen zwischen dem Passwort und dem Parameter --restart always.
      Habe ich gleich mal korrigiert. Danke für den Hinweis!

      Gruß,
      Jan

  • Hans sagt:

    Hallo, wenn die Verschlüsselung von NC aktiv ist kann Collabora Mobile nicht verwendet werden.

    Aktuell gibt es hierfür auch keine Lösung.

    Gruß Hans

    • Jan sagt:

      Hi Hans,

      danke für diesen Hinweis, daran hatte ich nun gar nicht gedacht.
      Ich habe gleich mal einen Hinweis im Artikel mit aufgenommen, da hier sicherlich mehr Leute betroffen sein werden.

      Gruß,
      Jan

Schreibe einen Kommentar

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