"Domain seems to be regex" Collabora Dokumenten Server

Moin,

Ich versuche derzeit vergeblich einen Collabora Server für meine Nextcloud aufzusetzen. Der Server ist derzeit weder über die IP noch über die Domain erreichbar. In der Nextcloud lässt er sich dementsprechend auch nicht einstellen.
Folgende Fehlermeldung kommt wenn ich in die Logs schaue:

Nach diesem Tutorial habe ich gearbeitet:
Collabora Online (LibreOffice) für Nextcloud - Schritt für Schritt (Docker) (bitblokes.de)

Der Reverse Proxy läuft bei mir auf einem Separaten Container aber ebenfalls mit apache2

Weiß jemand wie ich das ganze zum laufen bekomme?

LG

Ich gehe mal davon aus, dass sich die Fehlermeldung auf den Namen deines Servers (Nextcloud oder Collabora) bezieht. Weiter gehe ich davon aus, dass du in dem Namen irgendwelche Sonderzeichen wie z. B. Backslash \ hast (siehe evtl. Screenshot), die als REGEX (regulärer Ausdruck) angesehen werden. Backslash gehört auch dazu. Werfe also alle Sonderzeichen wie Backslash raus. Rechnernamen sollten eigentlich nur Buchstaben, Zahlen, Punkt und Bindestrich haben. Auch muss der Namen intern und/oder extern auflösbar sein. Such mal wie man DNS konfiguriert oder trage es evtl. in hosts-Dateien ein.

Die Fehlermeldung bezieht sich auf die Domain, die ich bei diesem docker run Befehl reinschreiben musste. Das ist die Domain meiner Nextcloud.

Die Anleitung, die du verlinkt hast, ist nicht mehr aktuell. Hier der korrekte Befehl:

docker run -t -d -p 127.0.0.1:9980:9980 -e "aliasgroup1=https://cloud.deinedomain.de:443,https://cloud\\.deinedomain\\.de:443" -e "username=YourUsername" -e "password=Su3rs3cr3tpa$$w0rd" --name=collabora --restart always collabora/code

Btw. Die Apache Vhost Config in der von dir verlinkten Anleitung ist auch nicht mehr up to date. Anstatt “lool” muss es jetzt “cool” heissen. Hier meine funktionierende Config:

# Encoded slashes need to be allowed
AllowEncodedSlashes NoDecode

# Container uses a unique non-signed certificate
SSLProxyEngine On
SSLProxyVerify None
SSLProxyCheckPeerCN Off
SSLProxyCheckPeerName Off

# keep the host
ProxyPreserveHost On

# static html, js, images, etc. served from coolwsd
# browser is the client part of Collabora Online
ProxyPass           /browser https://127.0.0.1:9980/browser retry=0
ProxyPassReverse    /browser https://127.0.0.1:9980/browser

# WOPI discovery URL
ProxyPass           /hosting/discovery https://127.0.0.1:9980/hosting/discovery retry=0
ProxyPassReverse    /hosting/discovery https://127.0.0.1:9980/hosting/discovery

# Capabilities
ProxyPass           /hosting/capabilities https://127.0.0.1:9980/hosting/capabilities retry=0
ProxyPassReverse    /hosting/capabilities https://127.0.0.1:9980/hosting/capabilities

# Main websocket
ProxyPassMatch      "/cool/(.*)/ws$"      wss://127.0.0.1:9980/cool/$1/ws nocanon

# Admin Console websocket
ProxyPass           /cool/adminws wss://127.0.0.1:9980/cool/adminws

# Download as, Fullscreen presentation and Image upload operations
ProxyPass           /cool https://127.0.0.1:9980/cool
ProxyPassReverse    /cool https://127.0.0.1:9980/cool
# Compatibility with integrations that use the /lool/convert-to endpoint
ProxyPass           /lool https://127.0.0.1:9980/cool
ProxyPassReverse    /lool https://127.0.0.1:9980/cool
1 Like

Die Vhost Config muss im ReverseProxy eingestellt werden verstehe ich das richtig?

Jup. Es funktioniert immer noch alles gleich wie in der Anleitung, die du verlinkt hast, bis auf die Änderungen in der Apache Config und dem docker run command. Ich nutze allerdings keinen seperaten Apache Reverse Proxy, sondern eine manuelle Installtion von Nextcloud und Apache direkt auf dem Host.

@bb77

docker run -t -d -p 127.0.0.1:9980:9980 -e "aliasgroup1=https://cloud.deinedomain.de:443,https://cloud\\.deinedomain\\.de:443" -e "username=YourUsername" -e "password=Su3rs3cr3tpa$w0rd" --name=collabora --restart always collabora/code

Auszug:

Kannst du erklären, warum da jeweils zwei Backslash (\\) stehen? Das verstehe ich nicht. Vielleicht ist es ja auch nicht wirklich relevant. Nur bei sowas denke ich gleich an reguläre Ausdrücke also regex. Das man vielleicht den Punkt . mit \ escapen muss ist ok, aber zwei Backslashes? Und warum nicht bei der anderen Domain?

Ich habe jetzt aber bereits mehr in den Tutorials (also auch anderen) das der Reverse Proxy auf dem selben Server wie der Collabora Server läuft, muss das so sein, oder kann der Reverse Proxy (wie bei mir ) auch auf einem anderen Server laufen?

Ehrlich gesagt habe ich keine Ahnung und mich verwirrt das auch. Und ich muss gestehen, dass ich es, als der Change im Docker Container damals kam, nicht auf Anhieb zum Laufen gekriegt habe. Ich bin dann aber irgendwie mit googlen auf den korrekten Befehl gestossen… Ich glaube auf Apfelcast, bin aber nicht mehr sicher.

Es ist sicher möglich es hinter einem separaten Reverse Proxy zu betreiben. Leider habe ich aber keine Erfahrung mit so einem Setup…

Wenn ich in der Config sämtliche IPs zu der IP des CODE-Servers im Netzwerk ändere (also 192.168.xxx.xxx) dann müsste es doch auch mit einem separaten Reverse Proxy klappen oder?

Außerdem frage ich mich, wo die Domain in der Config festgelegt wird? Ich kenne das immer nur das man unter ServerName die Domain des Server festlegt. Muss das bei der nicht gemacht werden?

Das müsstet du mal testen, so aus dem Stehgreif würde ich sagen ja. Aber wie gesagt, ich habe es nie selbst so aufgesetzt.

Doch. Ich habe aber nur den relevanten Teil gepostet, repektive den Teil, der spezifisch für Collabora ist, und der sich ja gegenüber der verlinkten Anleitung in Teilen geändert hat.

Okay, der Server scheint jetzt zu laufen. Allerdings erreiche ich ihn nicht über die Domain sondern nur über die Interne IP :confused: hat jemand ne Idee was ich tun kann?

Also, mein Server lässt sich in der Nextcloud eintragen. Dort wird angezeigt das alles läuft, wenn ich jedoch versuche ein Dokument zu öffnen, kommt ein Fehler und das sich das Dokument nicht öffnen ließe.

Edit: Nach erneutem Überprüfen, zeigt Nextcloud nun das der Server das gleiche Protokoll wie Nextcloud nutzen soll.