Startseite
» Gewusst wie
»
Verbinden Sie Nextcloud mit einem selbstgehosteten Collabora CODE-Container
Verbinden Sie Nextcloud mit einem selbstgehosteten Collabora CODE-Container
Um Nextcloud mit einem selbstgehosteten Collabora Online Development Edition (CODE)-Container zu verbinden, betreiben Sie CODE auf einem separaten Hostnamen, schützen Sie ihn mit HTTPS und geben Sie seine öffentliche URL in Nextcloud Office ein. Der CODE-Container muss außerdem den Ursprung der Nextcloud-Site als WOPI-Host zulassen. Im folgenden Beispiel lautet Nextcloud `<nextcloud.com>` cloud.example.comund Collabora `<collabora.com>` office.example.com; ersetzen Sie beide durch Ihre tatsächlichen Hostnamen.
Eine Terminal-Eingabeaufforderung mit dem Befehl zum Herunterladen des Collabora CODE-Images.
Was sollte vor Beginn vorbereitet sein?
Sie benötigen eine funktionierende Nextcloud-Installation, einen Docker-Host, auf dem der CODE-Container ausgeführt werden kann, DNS-Einträge für die Hostnamen von Nextcloud und Collabora sowie gültige HTTPS-Zertifikate für beide öffentlichen Websites. Nextcloud-Host und Collabora-Server müssen über das Netzwerk erreichbar sein. Ein dedizierter Collabora-Server bietet im Vergleich zur integrierten CODE-Option eine höhere Kapazität. Da es sich jedoch noch um eine Entwicklungsversion handelt, sollten Sie vor dem Einsatz in einer größeren oder geschäftskritischen Umgebung die aktuellen Nutzungsbedingungen und Versionshinweise von Collabora prüfen.
Diese Anleitung geht davon aus, dass auf dem Docker-Host ein Reverse-Proxy läuft, der HTTPS-Traffic office.example.coman den lokalen Port des Containers weiterleitet. Läuft Ihr Proxy in einem anderen Container oder auf einem anderen Rechner, kopieren Sie die Loopback-Portzuordnung nicht unverändert: Verwenden Sie stattdessen ein privates Docker-Netzwerk oder eine private Hostadresse, die der Proxy erreichen kann, und schützen Sie das Backend durch eine Firewall, sodass es nicht öffentlich zugänglich ist.
1. Starten Sie den CODE-Container.
Laden Sie zunächst das Image herunter und starten Sie einen Container. Verwenden Sie in den Alias-Einstellungen den öffentlichen Ursprung von Nextcloud, einschließlich Protokoll und Port. Tragen Sie dort nicht die Collabora-URL ein. Das Docker-Installationsbeispiel von Nextcloud verwendet dieses Muster:
Die Loopback-Bindung bedeutet, dass Port 9980 nur vom Docker-Host aus erreichbar ist, beispielsweise über einen Reverse-Proxy auf demselben Host. Der Proxy stellt Browsern und Nextcloud einen öffentlichen HTTPS-Endpunkt bereit, während der Container-Port privat bleibt. Wird Nextcloud auf einem nicht standardmäßigen Port oder über einen anderen öffentlichen Hostnamen bereitgestellt, muss der Alias mit dem tatsächlich verwendeten Ursprungsnamen übereinstimmen. Bei mehreren Nextcloud-Instanzen konfigurieren Sie jeden zulässigen WOPI-Host mithilfe der dokumentierten Syntax von Collabora, anstatt beliebige Domains pauschal zuzulassen.
Der obige Befehl folgt dem Docker-Beispiel im Nextcloud 35-Administrationshandbuch. Vor dem Produktiveinsatz sollten Sie die aktuelle Dokumentation des CODE-Images prüfen und eine Release-/Tag-Update-Richtlinie wählen, die zu Ihrem Wartungsprozess passt. Die Standard-Image-Referenz kann sich mit der Veröffentlichung neuer Releases ändern. Planen Sie daher Updates, überwachen Sie den Container und testen Sie die Dokumentbearbeitung nach Aktualisierungen erneut.
In der Verwaltungsansicht der Apps wird Nextcloud Office vor der Serverkonfiguration als aktiviert angezeigt.
2. Platzieren Sie den Container hinter einem HTTPS-Reverse-Proxy.
Konfigurieren Sie Ihren bestehenden Proxy so, dass er https://office.example.comAnfragen an den CODE-Dienst weiterleitet 127.0.0.1:9980. Verwenden Sie die aktuelle Reverse-Proxy-Konfiguration von Collabora für Ihre Proxy-Software. Der Proxy muss die erforderlichen Pfade beibehalten und WebSocket-Upgrades unterstützen; die Browsersitzung des Editors ist davon abhängig. Das Nextcloud-Docker-Beispiel enthält Routen für /browser, /hosting/discovery, /hosting/capabilitiesund /cool, einschließlich des WebSocket-Endpunkts. Einige Integrationen verwenden auch die Kompatibilitätsroute /lool.
Betrachten Sie das erfolgreiche Laden der Startseite nicht als Beweis dafür, dass der Proxy vollständig funktioniert. Ein Proxy, der normale HTTPS-Anfragen verarbeitet, aber WebSocket-Verbindungen nicht korrekt herstellt, kann den Editor anzeigen und ihn dann entweder laden oder die Verbindung trennen. Verwenden Sie ein gültiges öffentliches Zertifikat für den Collabora-Hostnamen. Halten Sie Port 9980 für das öffentliche Internet gesperrt, wenn der Proxy der einzige Zugangspunkt sein soll.
3. Aktivieren Sie Nextcloud Office und geben Sie die Server-URL ein.
Wählen Sie die Option „Externer Server“ und geben Sie die öffentliche HTTPS-URL für Collabora ein.
Öffnen Sie in Nextcloud die Apps und installieren oder aktivieren Sie Nextcloud Office (die richdocumentsIntegration). Öffnen Sie anschließend die Administrationseinstellungen → Office , wählen Sie die Option „Externer Collabora-Server“ und geben Sie die Adresse ein https://office.example.com. Speichern Sie die Einstellung. Verwenden Sie die öffentliche URL, nicht die URL localhost:9980. Der Nextcloud-Server und die Browser der Benutzer müssen denselben externen Collabora-Endpunkt auflösen.
Das Nextcloud-Administrationshandbuch empfiehlt, für die konfigurierte Server-URL dasselbe Protokoll wie für die Collabora-Installation zu verwenden (HTTPS wird empfohlen). Nach dem Speichern zeigt Nextcloud möglicherweise einen Verbindungs- oder Erkennungsstatus an. Falls ein Zertifikats-, DNS- oder WOPI-Problem gemeldet wird, beheben Sie dieses Problem, bevor Sie versuchen, eine Datei zu öffnen.
4. Überprüfen Sie den WOPI-Pfad und öffnen Sie ein Testdokument.
WOPI ist das Protokoll, das Nextcloud verwendet, um Collabora kontrollierten Zugriff auf ein Dokument zu gewähren. Überprüfen Sie in den Office-Verwaltungseinstellungen von Nextcloud die Zulassungsliste für WOPI-Anfragen und beschränken Sie Anfragen auf die IP-Adressen, von denen Ihr Collabora-Dienst Nextcloud erreicht. Konfigurieren Sie Collabora außerdem so, dass nur der vorgesehene WOPI-Host akzeptiert wird. Die genaue Adresse kann bei Containern, NAT oder einem Reverse-Proxy abweichen. Verwenden Sie daher die Quelladresse, die Nextcloud tatsächlich in seinen Protokollen sieht, anstatt zu raten.
Ein geöffnetes Dokument mit einer Bearbeitungswerkzeugleiste ist der letzte visuelle Test, auf den die Office-Integration reagiert.
Um die Funktionalität zu prüfen, melden Sie sich als normaler Nextcloud-Benutzer an, erstellen oder laden Sie eine kleine DOCX- oder ODT-Datei hoch und öffnen Sie diese über „Dateien“. Prüfen Sie, ob der Editor geladen wird, nehmen Sie eine unbedenkliche Änderung vor, warten Sie auf die Speicheranzeige, schließen Sie das Dokument und öffnen Sie es anschließend erneut, um zu prüfen, ob die Änderung erhalten geblieben ist. Testen Sie dies mit jedem Dateityp und jeder Benutzergruppe, die für Ihre Bereitstellung relevant ist. Ein erfolgreicher DOCX-Test beweist nicht, dass jedes Format oder jeder Berechtigungspfad konfiguriert ist.
Was sollten Sie überprüfen, wenn sich der Editor nicht öffnen lässt?
Erkennungs- oder Verbindungsfehler: Bitte überprüfen Sie, ob die office.example.comNamensauflösung vom Nextcloud-Server und vom Browser funktioniert, ob das Zertifikat gültig ist und ob der Proxy Anfragen /hosting/discoveryan CODE weiterleitet.
Endloses Laden oder ein nicht funktionierender Editor: Überprüfen Sie die WebSocket-Upgrade-Verarbeitung des Reverse-Proxys und die /coolRouten. Prüfen Sie die Proxy- und Container-Logs auf abgelehnte Anfragen.
WOPI-Host abgelehnt: Vergleichen Sie die Konfiguration aliasgroup1mit der exakten öffentlichen Nextcloud-Ursprungsadresse, einschließlich Schema und Port. Überprüfen Sie die WOPI-Zulassungsliste von Nextcloud anhand der für Nextcloud sichtbaren Collabora-Quell-IP-Adresse.
Funktioniert auf dem Host, aber nicht in Nextcloud: Testen Sie die Verbindung vom Nextcloud-Server zur öffentlichen Collabora-URL. Der interne Hostname eines Containers oder die localhost-Adresse des Docker-Hosts ist nicht automatisch von jedem anderen Container aus erreichbar.
Zertifikatswarnung: Beheben Sie die Zertifikatskette oder den Hostnamenfehler. Das Deaktivieren der Zertifikatsprüfung kann die Ursache verschleiern und die Verbindung schwächen.