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/code
Code-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
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.
Schreibe einen Kommentar