Nextcloud und Collabora Online

Die folgenden Anleitungen setzen voraus, dass Nginx, PHP und ein Datenbankserver bereits auf dem System installiert und betriebsbereit sind. Für einige Schritte sind zudem Docker und Docker Compose erforderlich.

Collabora Online mit Docker

Collabora Online ist als Container schnell installiert und dann können wir ganz einfach Dokumente, Tabellen, etc, direkt in der Nextcloud bearbeiten. Wir installieren Collabora direkt auf dem Server, auf dem auch Nextcloud installiert ist und wir benötigen auch Docker. Wir geben ganz einfach folgenden Befehl im Terminal ein:

docker run -t -d -p 127.0.0.1:9980:9980 -e "aliasgroup1=https://nextcloud.meinedomain.de:443" --restart always collabora/codeCode-Sprache: Dockerfile (dockerfile)

Vergesst nicht eure Domain/Subdomain der Nextcloud anzugeben. Nun benötigen wir noch eine Subdomain für Collabora (z.B. office.meinedomain.de), welche bereits auf den Server zeigt und über Nginx mit einem SSL-Zertifikat konfiguriert ist.

Nun müssen wir noch folgende Zeilen in die Nginx-Konfiguration für eure Subdomain des Collabora-Servers einfügen. Vergesst nicht die SSL Konfigurationen:

server {
    listen 443 ssl;
    listen [::]:443 ssl;
    http2 on;
    server_name collabora.meinedomain.de;

    # <-- Hier kommt die SSL Konfiguration rein -->

    location / {
        proxy_pass https://127.0.0.1:9980;
        proxy_set_header Host $http_host;
    }
    # static files
    location ^~ /browser {
        proxy_pass https://127.0.0.1:9980;
        proxy_set_header Host $http_host;
    }
    # WOPI discovery URL
    location ^~ /hosting/discovery {
        proxy_pass https://127.0.0.1:9980;
        proxy_set_header Host $http_host;
    }    
    # Capabilities
    location ^~ /hosting/capabilities {
        proxy_pass https://127.0.0.1:9980;
        proxy_set_header Host $http_host;
    }
    # main websocket
    location ~ ^/cool/(.*)/ws$ {
        proxy_pass https://127.0.0.1:9980;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection "Upgrade";
        proxy_set_header Host $http_host;
        proxy_read_timeout 36000s;
    }
    # download, presentation and image upload
    location ~ ^/(c|l)ool {
        proxy_pass https://127.0.0.1:9980;
        proxy_set_header Host $http_host;
    }
    # Admin Console websocket
    location ^~ /cool/adminws {
        proxy_pass https://127.0.0.1:9980;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection "Upgrade";
        proxy_set_header Host $http_host;
        proxy_read_timeout 36000s;
    }
}Code-Sprache: Nginx (nginx)

Nun können wir in Nextcloud die App Nextcloud Office installieren und in den Einstellungen für die Office App tragen wir nun https://collabora.meinedomain.de ein. Natürlich müsst ihr hier die Subdomain eures Collabora Servers angeben. Danach scrollen wir ein Stück tiefer und bearbeiten wir die Allow List für WOPI Anfragen

nach oben


Nextcloud: Allow List für WOPI Anfragen

Wenn wir einen eigenen Collabora Online Server im Betrieb haben, müssen wir diesen noch in die Allows List für WOPI Anfragen in Nextcloud eintragen, damit nur unser eigener Collabora Server Zugriff auf die Dateien in Nextcloud hat. Wir gehen in diesem Beispiel davon aus, dass Nextcloud und Collabora auf dem selben Server installiert sind und Nginx als Proxy für den Collabora Container tätig ist.

Als erstes müssen wir wissen, welche IP Adresse unser Collabora Container hat. Dies geschieht ganz einfach mit:

# Die Container ID lassen wir uns mit docker ps anzeigen
docker inspect Container_ID | grep "IPAddress"Code-Sprache: Dockerfile (dockerfile)

Die angezeigte IP Adresse, geben wir nun in Nextcloud unter Allow list for WOPI requests ein und speichern dies ab. Das war’s auch schon. Jetzt ist nur unser Collabora Server berechtigt, auf Dateien in unserer Nextcloud zuzugreifen.

nach oben

Schreibe einen Kommentar

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

Deine E-Mail-Adresse wird nicht veröffentlicht.
Pflichtfelder sind mit einem * markiert.
Um Missbrauch vorzubeugen, speichern wir deine IP-Adresse und ggf. weitere technische Daten. Weitere Informationen findest du in unserer Datenschutzerklärung.