Unsere Themen im Blog: Nextcloud - Schutz Ihrer Daten

   

Collabora mit Nextcloud auf Ubuntu 16.04 TLS

Cliff (Username: cHAp) (Administrator) on 28.03.2017

Ich bin schon eine ganze weile von OwnCloud weg. Um genau zu sagen seit es die NextCloud Version 11 gibt.

Ich bin schon eine ganze weile von OwnCloud weg. Um genau zu sagen seit es die NextCloud Version 11 gibt.

Hinweis zu dieser Anleitung
Diese Installationsanleitung "Collabora Online Server mit Nextcloud auf Ubuntu 16.04 TLS, Installationsanleitung" ist veraltet. Eine Überarbeitete Anleitung finden Sie hier: "Nextcloud Installation inkl. Collabora Online".

Ich bin schon eine ganze weile von OwnCloud weg. Um genau zu sagen seit es die NextCloud Version 11 gibt. Warum ich gewechselt habe, liegt alleine daran das ich mein Office auf einen CloudSpeicher verlegen wollte. Ich habe daher mir das ganze angesehen und verschiedene Anleitungsseiten durch gelesen. Dabei bin ich immer auf eins gestoßen; Warum so umständlich, geschweige Warum nicht klar und deutlich erklärt. Ich habe vor allem immer gelesen, dass einige immer diese Fehlermeldung bekommen "Zugriff verboten". Daher habe ich mir mal die Aufgabe gemacht und meine einfache Anleitung hier zu präsentieren heute.

Dies ist eine Server Installationsanleitung/Tutorial über Collabora Online Server mit Nextclouf auf einen Ubuntu 16.04 TLS Server. Getestet wurde das ganze auf einen Mini-Server mit 1x CPU, 512 MB Arbeitsspeicher, 100 GB Traffic und einer 10 GB SSD-Festplatten-Kapazität. Diesen Mini-CloudServer können Sie selbst auch Testen. 30 Tage unverbindlich und innerhalb von 60 Sekunden startklar.

Collabora Online ist ein self-hostable und LibreOffice-based open source online office suite. Zu Deutsch: Ein Office Programm womit man Dokumente, Excel und Präsentationen erstellen und darstellen kann. Folgende Features sind enthalten:

  • Basic Editierungen
  • High fidelity, WYSIWYG-Editor umgebung
  • Support für DOC, DOCX, PPT, PPTX, XLS, XLSX und ODF Dokument Formate
  • Import und ansehende Visionen, Publisher und 100+ Features und mehr
  • Shared Editierungen von mehreren Personen gleichzeitig

Vorraussetzungen

Es wird davon ausgegangen das Sie über eine Top-Level-Domain mit Sub-Domain Funktion besitzen. Wenn Sie die Nextcloud-Server auf eine Sub-Domain laufen lassen möchten, benötigen Sie mindestens zwei Sub-Domains. Bsp. cloud.domain.de und office.domain.de.

Sie sollten mindestens die Anforderungen erfüllen wie oben bereits erwähnt habe. Mit weniger Leistung liegen keine Test-Ergebnisse vor. Der Collabora Online Server und der Nextcloud Server können auf dem selben Server oder auf zwei verschiedenen Servern laufen. Dieses Tutorial zeigt, wie man Collabora Online Server auf Ubuntu 16.04 TLS mit einem Docker-Image von Collabora und Nextcloud Installiert.

Ich gehe bei meiner Installationsanleitung davon aus, das Sie Apache2, MySQL und der zugehörigen Komponenten bereits Verfügung. Also legen wir mal los:

 

Step 1: Installation Docker auf Ubuntu 16.04 TLS

Wenn Sie die neueste Docker-Version wünschen, können Sie Docker aus dem Docker-APT-Repository installieren. Aus Gründen der vereinfachung, werden wir die Installation aus dem Standard-Ubuntu-Software-Repository Installieren. Öffnen Sie daher eine Konsole, womit Sie sich als ROOT-User auf Ihren Server einloggen.

sudo apt update
sudo apt install docker.io

Nach der Installation sollte der Docker-Daemon automatisch gestartet sein. Sie können den Status folgenden Befehl abfragen:

systemctl status docker

Wenn es nicht laufen sollte, dann starten Sie den Daemon mit diesem Befehl:

sudo systemctl start docker

und fügen Sie eine Autostart im Bootvorgang hinzu mit:

sudo systemctl enable docker

Standardmäßig verwendet Docker Speichertreiber auf Ubuntu. Um es mit dem Online-Office von Collabora zu arbeiten, müssen Sie auf den Geräteträger-Treibertreiber wechseln, indem Sie die folgenden Anweisungen befolgen.

Erstelle folgenden Ordner:

sudo mkdir /etc/systemd/system/docker.service.d

Erstelle folgende Datei in dem erstellten Ordner:

sudo nano /etc/systemd/system/docker.service.d/DeviceMapper.conf

Kopiere folgenden Text in die erstellte Datei:

[Service]
ExecStart=
ExecStart=/usr/bin/dockerd --storage-driver=devicemapper -H fd://

Speicher die Datei und Schließe die Datei. Starte den Systemd und Starte den Docker Daemon neu:

sudo systemctl daemon-reload
sudo systemctl restart docker

Geben Sie nun den folgenden Befehl ein und Sie sehen, dass der verwendete Speichertreiber „devicemapper“ ist.

sudo docker info

Output nachdem Befehl sollte sein:

Containers: 1
 Running: 1
 Paused: 0
 Stopped: 0
Images: 1
Server Version: 1.13.1
Storage Driver: devicemapper
 Pool Name: docker-253:1-515579-pool

Die Zeile: Storage Driver: devicemapper ist dabei Grün beschriftet.

 

Step 2: Installation und Erstellung Collabora Online Server mit Docker

Führen Sie den folgenden Befehl aus, um das neueste Collabora Online Development Edition-Image aus dem Docker-Hub zu ziehen.

sudo docker pull collabora/code

Führen Sie dann diesen Docker-Container aus. Ersetzen Sie cloud\\.domain\\.de mit Ihrer Nextcloud Server-Domain.

sudo docker run -t -d -p 127.0.0.1:9980:9980 -e 'domain=cloud\\.domain\\.de' --restart always --cap-add MKNOD collabora/code

Der Collabora Online Server wird auf dem Port 9980 von localhost (127.0.0.1) abhören, wie durch die Ausgabe dieses Befehls zu sehen sein sollte:

sudo netstat -lnpt

Step 3: Setup Reverse Proxy

Nextcloud Server benötigt ein TLS/SSL Zertifikat auf dem Collabora Online Server, also müssen wir einen virtuellen Host erstellen, dem virtuellen Host einen Domainnamen geben, TLS/SSL Zertifikat installieren und einen Reverse Proxy einrichten.

Zuerst sehen wir uns das ganze mit Apache2

Setup Apache2 Virtual Host

Führen Sie den folgenden Befehl aus, um eine virtuelle Host-Datei zu erstellen. Ersetzen Sie den Domain-Namen durch Ihre Domain-Namen für den Online-Server von Collabora. Vergessen Sie nicht, einen A-Datensatz für diesen Domain-Namen zu erstellen, sofern nötig ist im DNS-Einstellungen.

Ersetzen Sie office.domain.de mit Ihrer Sub-Domain, die Sie für Collabora Online Server verwenden möchten.

sudo nano /etc/apache2/sites-available/office.domain.de.conf

Kopiere folgenden Text in die erstellte Datei. Bitte darauf achten das der ServerName Ihre Sub-Domain benennen müssen:

<VirtualHost *:80>
 ServerName office.domain.de
</VirtualHost>

Speicher die Datei und Schließe die Datei. Aktiviere diesen virtuellen Host mit folgendem Befehl:

sudo a2ensite office.domain.de.conf

Und nun starten wir den Apache2 Server einmal neu:

sudo systemctl restart apache2

HTTPS hilft uns, das eine MAN-IN-THE-MIDDLE-Angriff und Passwort-Sniffing zu verhindern. Wir können ein kostenloses TLS/SSL Zertifikat von Let‘s Encrypt CA empfehlen. Zuerst Installieren wir den certbot Client. Der Client wird immer noch im Ubuntu-Repository benannt. Der folgende Befehl installiert das Client- und Apache-Plugin:

sudo apt install letsencrypt python-letsencrypt-apache

Geben Sie nun den folgenden Befehl ein, um ein Kostenloses TLS/SSL Zertifikat zu erhalten. Ersetzen Sie "deine-email-adresse" und "office.domain.de" entsprechend mit Ihren Angaben.

sudo letsencrypt --apache --agree-tos --email deine-email-adresse -d office.domain.de

Sie werden nun aufgefordert, einfach (Easy) oder sicher (Secure) zu wählen. Es wird empfohlen, sicher (Secure) zu wählen, damit alle http-Anfragen auf https umgeleitet werden.

Sobald Sie ausgewählt haben auf Secure (Sicher), klicken Sie auf OK und dann wird ein Kostenloses TLS/SSL Zertifikat erstellt und auf dem virtuellen Apache-Host Installiert.

Einrichten des Apache2 Reverse Proxy

Um den Verkehr mit Apache zu verarbeiten, führen Sie die folgenden Befehle aus, um jedes dieser Apache-Module zu aktivieren.

sudo a2enmod proxy proxy_wstunnel proxy_http ssl

Führen Sie dann den folgenden Befehl aus, um die neue, von Let‘s Encrypt (certbot) Client erstellte virtuelle Hostdatei zu bearbeiten. Dabei bitte wieder beachten das Sie "office.domain.de" entsprechend mit ihrer Sub-Domain benennen.

sudo nano /etc/apache2/sites-enabled/office.domain.de-le-ssl.conf

Fügen Sie folgenden Text in die Datei ein. Beachten Sie das Sie ab "# Encoded slashes [....]" bis zur "</VirtualHost>" nur einfügen. Und beachten Sie das bei Ihnen nicht "office.domain.de" steht, sondern bereits Ihre Sub-Domain. So sollte die Datei nun dann aussehen.

<IfModule mod_ssl.c>
<VirtualHost *:443>
  ServerName office.domain.de

  SSLCertificateFile /etc/letsencrypt/live/office.domain.de/fullchain.pem
  SSLCertificateKeyFile /etc/letsencrypt/live/office.domain.de/privkey.pem
  Include /etc/letsencrypt/options-ssl-apache.conf

  # 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 loolwsd
  # loleaflet is the client part of LibreOffice Online
  ProxyPass /loleaflet https://127.0.0.1:9980/loleaflet retry=0
  ProxyPassReverse /loleaflet https://127.0.0.1:9980/loleaflet

  # 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

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

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

  # Download as,
 Fullscreen presentation and Image upload operations
  ProxyPass /lool https://127.0.0.1:9980/lool
  ProxyPassReverse /lool https://127.0.0.1:9980/lool

</VirtualHost>
</IfModule>

Speicher die Datei und Schließe die Datei. Und nun starten wir den Apache2 Server einmal neu:

sudo systemctl restart apache2

 

Final Step: Kommunikation Nextcloud zu Collabora Online Server

Um Ihren Nextcloud-Server mit dem Online-Server von Collabora zu verbinden, müssen Sie zuerst die APP CollaboraOnline Installieren. Danach gehen Sie in die Administration von Nextcloud und klicken dann Lin ks in Ihrem Menü auf „Collabora Online“. Dort tragen Sie dann Ihre Domain zum Collabora Server ein. In diesem Fall wäre es „https://office.domain.de“. Speichern Sie das ganze und da wars. Nun sollte Collabora Online Server in Ihrer Nextcloud Server Umgebung funktionieren.

 

Folgende Tipps und Hinweise habe ich noch für euch:

Wichtig: Nextcloud Server und Collabora Online Server benötigen jeweils eins TLS/SSL. In meiner Installationsanleitung habe ich erklärt wie Sie ein TLS/SSL Zertifikat erstellen. Das gleiche müssen Sie ggfs. Falls Sie keine andere Möglichkeit haben für die Sub-Domain „cloud.domain.de“ ebenfalls ein TLS/SSL Zertifikat erstellen. Schaue dir daher nochmal die Schritte ab diesen Befehl an. Denken Sie auch daran das Sie ein VirtualHost wie bereits oben erklärt, für die Sub-Domain dann anlegen müssen.

sudo letsencrypt --apache --agree-tos --email deine-email-adresse -d cloud.domain.de

Tipp: Erhalten Sie noch die Meldung: "Einige Dateien haben die Integritätsprüfung nicht bestanden" können Sie das ggfs. mit folgenden Befehl lösen. Sie müssen dazu in der Konsole im Hauptverzeichnis Ihrer Nextcloud-Installation sein.

find . -name @eaDir -exec rm -rf {} \;

Tipp 2 zum Thema Docker (Containers): Wenn Sie die Docker Containers einmal Löschen müssen. Können Sie das wie folgt tun. Stoppen Sie zunächst Docker mit folgenden Befehl:

docker stop $(docker ps -a -q)

und nun löschen Sie die Docker Containers:

docker rm $(docker ps -a -q)

und danach starten Sie Docker wieder:

docker start $(docker ps -a -q)

Tipp 3: Erscheint beim Aufruf der Nextcloud Server Umgebung das php-cUrl und/oder php-Zip fehlt. Dann Installieren Sie dies einfach mit folgenden Befehl nach:

sudo apt install php-curl php-zip

Starten Sie dann den Apache2 Server neu mit folgenden Befehl:

sudo systemctl restart apache2

Tipp 4: Gegebenenfalls können in der Nextcloud Server Umgebung noch einige „Sicherheits- & Einrichtungswarnungen“ erscheinen wie php-Memory nicht eingerichtet, so könnt Ihr dies wie folgt tun. Ich habe mich dazu entschlossen "APCu" zu nutzen. Das Installiert Ihr wie folgt:

sudo apt install php-apcu

und nicht vergessen, den Apache2 wieder neustarten:

sudo systemctl restart apache2

Ihr müsst nun in der Nextcloud Installation in der "/config/config.php" folgenden Eintag noch setzen:

'memcache.local' => '\\OC\\Memcache\\APCu',

 

Nun sollte Ihre Collabora Online Server mit Docker Containers und Nextcloud Server funktionieren. Wenn Ihr Fragen oder Probleme habt, so könnt Ihr unten gerne die Kommentar funktion nutzen.

Viel Spaß mit Nextcloud und Collabora!

Weblinks:

 


Kurz Profil über Cliff

xProg.de Gründer. Jahrgang 1986. Stolzer Familienvater. Habe Früh mit Computer und Hardware angefangen. Die ersten Self-Made Computer waren nicht die besten, funktionierten aber tadellos. Kenne noch 56k-Modems, und habe mit Windows 3.1 angefangen meine ersten Texte zu schreiben, über Windows 95, bis zu Windows 7 dann aktiv eingestiegen. Auch arbeite ich aktiv mit Linux für Homebase als auch auf der Serverebene. 

Auf die Idee Anleitungen zu schreiben kam ich, als ich zum Thema Debian was gesucht habe. Leider waren viele Anleitungen oder vorschläge veraltet und daher leider nutzlos.

Wenn meine Anleitungen auch veraltet sein sollten, dann schreibt mir das bitte und ich versuche sie zu aktualisieren.

Wer mich (finanziell) unterstützen möchte, der kann mir hier gerne etwas spenden.

Webseite: https://www.mailda.de
Facebook: https://www.facebook.com/cain.j.dawson
Twitter: https://twitter.com/CainDawsonDE

Letzte Artikel von Cliff

 

zurück

Hinweis: Darum zeigen wir auf xProg.de Werbung!

1 Kommentar gefunden. Bewertung insgesamt: 5/5 Kommentar abgeben
Moritz schrieb am 23.08.2017 - 19:07
Hi! Danke für die Anleitung! Hat soweit geklappt und ich konnte Collabora zu meiner Nextcloud installieren. Wenn ich jetzt Dateien öffne zeigt sich allerdings nur die Oberfläche von Collabora, nicht die Datei oder ähnliches. Ich kann auch nichts bearbeiten. Habt ihr ne Idee wie ich das lösen kann?
Lg
Cliff (Username: cHAp) schrieb am 23.08.2017 - 22:07
Hallo Moritz,
herzlichen Dank für dein Kommentar. Mit welchen Browser haben Sie dies versucht? Ich nutze zum Beispiel "Opera". Sowohl im Unix als auch im Windows. Hat sich einfach am besten bewährt. :)

Wenn es mal länger laden tut, kann es an der Rechnerleistung liegen. Sollte es auch mal lange laden kann es auch sein das die Verbindung gerade zu schwach ist. Einfach nochmal neu Versuchen die Datei zu laden. Ich nutze seit meiner Anleitung nur noch Nextcloud und Collabora ohne Probleme.

Bitte ggfs. mal die Serverleistung nennen worauf Du es Installiert hast. :)

Liebe Grüße

Den gesamten Kommentar lesen

Bewerte den Artikel

Fanden Sie diesen Kommentar hilfreich?
Collabora mit Nextcloud auf Ubuntu 16.04 TLS hat eine Durchschnittsbewertung von 5 basierend auf 1 Bewertungen