So geht Nextcloud! (Einsteiger-Tutorial)

Zuletzt aktualisiert am 3. Februar 2024 von Lars

Nextcloud ist eine freie Software, mit der eine eigene Cloud ganz ähnlich wie Google Drive, iCloud, Dropbox und Onedrive aufgebaut werden kann. Bei Einsatz eines Clients wird der Server automatisch mit einem lokalen Verzeichnis synchronisiert. Dadurch kann von mehreren Rechnern, aber auch über eine Weboberfläche, auf einen konsistenten Datenbestand zugegriffen werden.

Die grundlegende Funktionalität ist hier erklärt: Cloud einfach erklärt | Wie funktioniert die Cloud?

Bestseller Nr. 2

Die Problematik der grossen Anbieter

Bei den grossen Anbietern gibt es jedoch ein Problem: Du weisst nicht, wo deine Daten genau sind und ob diese wirklich sicher vor Zugriff der Mitarbeiter dort sind. In der Regel sind die Daten im Ausland und unterliegen dem dortigen Recht. Mindestens ein Anbieter scannt die Daten automatisiert und manuell auf Einhaltung der Richtlinien und entscheidet in letzter Instanz, ob die Daten gespeichert werden dürfen oder nicht.

Grund genug, sich Gedanken über eine eigene Lösung zu machen. Mit Nextcloud kannst du ein System installieren, was ähnlich dem der grossen Anbieter funktioniert. Es ist zudem kostenlos. Nur für speziellen Support musst du hier zahlen.

Wo wird Nextcloud installiert?

Natürlich brauchst du auch hier wieder einen eigenen Server im Internet oder ein Webhosting. Ich habe mich für die Installation auf einem Webhosting entschieden. Damit begebe ich mich natürlich wieder in Abhängigkeit von einem Anbieter. Der sitzt in meinem Fall aber in der Schweiz und hat seine Daten auch dort.

Wo bekomme ich Nextcloud?

Nextcloud ist kostenlos und kann hier herunter geladen werden.

Nextcloud installieren

Domain oder Subdomain einrichten

Für den Zugriff benötigst du eine Domain oder Subdomain, wie zum Beispiel "cloud.meineigeneswebhosting.de" (wird in dieser Anleitung in Zukunft verwendet). Ausserdem musst du einen Zielordner definieren. Dort wird dann Nextcloud hochgeladen und installiert und später befinden sich dann dort auch deine Dateien.

Du solltest ausserdem ein Zertifikat für deine Cloud-Website verwenden, damit die Verbindung dahin verschlüsselt abläuft.

Wie das genau funktioniert, solltest du in der Anleitung deines Webhosters finden.

Nextcloud (Server) herunterladen und Daten auf den Server hochladen

Nach dem Herunterladen hast du eine ZIP-Datei. Bei meinem ersten Test habe ich diese lokal ausgepackt und mit einem FTP-Client hochgeladen.

Das ging sehr lange, daher empfehle ich dir, falls das bei deinem Webhosting geht, die ZIP-Datei auf dein Webhosting hochzuladen und dort zu entpacken.

Nextcloud installieren

Nachdem die Daten im Zielordner deiner Domain oder Subdomain sind, kannst du diese aufrufen.

nextcloud-installieren
Nextcloud installieren

Zunächst legst du das Passwort fest. Achte darauf, dass kein Bestätigungsfeld da ist. Vergewissere dich also, dass du dein Passwort korrekt notiert hast.

Statt SQLite als Datenbank kannst du auch MySQL verwenden. Wenn du MySQL zur Verfügung hast, dann erstelle auf deinem Webhosting eine solche Datenbank, klicke auf "Speicher & Datenbank" und gib die entsprechende Datenbank an.

nextcloud-installieren

Achte darauf, dass der Haken bei "Empfohlene Apps installieren" gesetzt ist und schliesse die Installation mit "Installation abschliessen" ab.

Es dauert eine Weile, bis die Installation durch ist, habe einfach etwas Geduld.

Sobald die Installation fertig ist, landest du direkt in deiner Nextcloud-Installation.

netcloud-installieren-02
Nextcloud - Teil 1 - Grundinstallation Server

Das Video wird von YouTube eingebettet und erst beim Klick auf den Play-Button geladen. Es gelten die Datenschutzerklärungen von Google.

Der Umgang mit Nextcloud

Nun hast du also dein Nextcloud installiert. Wie funktioniert die Oberfläche?

Als erstes solltest du auf deinen Benutzer rechts oben klicken und dann Einstellungen wählen.

nextcloud-email-festlegen

Trage hier deine E-Mail-Adresse ein und ändere das Gebietsschema.

Die E-Mail-Adresse ist vor allem wichtig, damit du im Falle eines Falles dein Passwort zurücksetzen kannst.

Zurück zur Oberfläche. Klicke auf das Nextcloud-Logo.

Du bist bei deinen Dateien. Mit Klick auf das Plus-Zeichen kannst Dateien hochladen und Ordner erstellen.

nextcloud-oeberflaeche
Zugriff auf Dateien in der Nextcloud-Oberfläche

Um Dateien herunterzuladen klicke auf die drei Punkte "...". Über das Submenü kannst du Elemente "Umbenennen, Verschieben oder kopieren, Herunterladen oder Dateien löschen.

nextcloud-oeberflaeche
Zugriff auf Dateien in der Nextcloud-Oberfläche

Clients installieren - Komfortabler Zugriff auf die Cloud

So richtig Spass macht der alleinige Zugang zur Cloud via Webbrowser nicht. Doch es gibt Clients, mit denen du deine lokalen Daten automatisch mit der Cloud synchronisieren kannst. Wie du diese installierst, erfährst du in diesem Video hier:

So kannst du den Nextcloud Client installieren | Windows | Mac

Das Video wird von YouTube eingebettet und erst beim Klick auf den Play-Button geladen. Es gelten die Datenschutzerklärungen von Google.

Gängige Probleme bei Nextcloud

Cronjob von Nextcloud wird nicht ausgeführt

Bei mir erschien eine Fehlermeldung, dass der Cronjob nicht ausgeführt wurde. Ich habe aber nur ein Shared Webhosting bei all-inkl.com. Das Aufrufen der cron.php funktioniert hier nicht.

Lösung:

Lege im Root-Verzeichnis deiner Installation die folgende Datei webcron.php an:

<?php
exec("/usr/bin/php73 cron.php 2>&1", $out, $result);
echo "Returncode: " .$result ."<br>";
echo "Ausgabe des Scripts: " ."<br>";
echo "<pre>"; print_r($out);
?>

Anschliessend rufst du diese Datei im Cronjob auf, zum Beispiel so:

cronjob-nextcloud

Credits an derremo.de, siehe "Nextcloud: Cronjob bei all-inkl.com".

Nextcloud-Befehl occ ohne SSH-Zugriff aufrufen

Beim Update-Versuch von Nextcloud kam eine Fehlermeldung, dass Indizes und Spalten in der Datenbank fehlen. Dazu soll der Befehl OCC mit bestimmten Parametern aufgerufen werden.

Bei meinem Hosting habe ich jedoch keinen Shell-Zugriff. Man kann aber die Befehle in ein PHP-Skript packen und diese direkt ausführen.

Lege dazu das folgende Skript db.php an. Vergleiche die Befehle aber mit den Befehlen, die du ausführen sollst und pass diese gegebenenfalls an.

<?php
exec("/usr/bin/php73 -d memory_limit=512M occ db:add-missing-indices");
exec("/usr/bin/php73 -d memory_limit=512M occ db:add-missing-columns");
?>

Lege das Skript im Root-Verzeichnis deiner Installation ab und rufe es anschliessend via Browser auf (also zum Beispiel: larsseinecloud.de/db.php).

Überprüfe, ob die Meldung wieder verschwindet. Falls ja, lösche die Datei wieder.

Credits an protostern.de, siehe "Was ist occ bei Nextcloud?"

Nextcloud-Befehl occ mit SSH-Zugriff aufrufen

Verbinde dich per SSH mit deinem Webhosting.

Führe den entsprechenden Befehl mit PHP aus:

php occ db:add-missing-indices

Nextcloud meldet "Die PHP-Speichergrenze liegt unterhalb des empfohlenen Wertes von 512MB"

Beim Webhoster, wo ich mein Nextcloud laufen habe, kann ich die PHP-Einstellungen nicht über das Backend editieren. Man kann aber in der .htaccess einen entsprechenden Eintrag ergänzen:

php_value memory_limit 512M

Ergänze am Besten auch noch.

php_value max_execution_time 7200

Dieser Eintrag muss eventuell nach einem Update erneut eingespielt werden, da während des Update-Prozesses meist die .htaccess-Datei der Installation angepasst wird.

Credits an protostern.de, siehe "Nextcloud bei All-Inkl hosten". Die angegebene Variante mit der "user.ini" wollte bei mir nicht.

Nextcloud meldet "Der HTTP-Header Strict-Transport-Security ist nicht auf mindestens 15552000 Sekunden eingestellt"

Dies ist eine Einstellung, die bei meinem Provider, bei dem ich Nextcloud habe, bei den Zertifikatseinstellungen hinterlegt werden muss.

Dazu die Domain oder Subdomain bearbeiten, nochmal auf "Bearbeiten" beim SSL-Schutz und die entsprechende Einstellung übernehmen.

Steht die Option im Backend deines Providers nicht zur Verfügung, kannst du diese eventuell auch über die .htaccess-Datei für deine Nextcloud-Installation setzen:

Header set Strict-Transport-Security "max-age=15552000" env=HTTPS

Nextcloud Update hängt bei Schritt 5

Blöderweise sind viele Fehlermeldungen beim Check, der vor einem Update läuft nur Warnungen und das Update lässt sich trotzdem starten.

Bei mir hing der Update-Prozess dann aber bei Schritt 5 und liess sich nicht erneut starten.

Abhilfe schafft hier, den Ordner /data/updater-nnnnnnnnnnn (nnnnnnnnnnn steht für eine zufällige Buchstabenreihenfolge) zu löschen.

Lege zur Sicherheit vorher ein Backup an!

Backup und Löschvorgang kann sehr lange dauern.

Credits an anamus, siehe "Stuck on update process. Step 5 is currently in process. Please reload this page la".

Nextcloud bleibt nach Update im Wartungsmodus

Öffne im Unterordner config die Datei config.php

Suche nach der Zeile

 'maintenance' => true,

Ändere sie so ab, dass sie so aussieht

 'maintenance' => false,

Manche Dateien haben die Integritätsprüfung nicht bestanden

Das klingt erst einmal gefährlich. Ich hatte das mal nach einem regulären Update. Von daher konnte ich Malware (eigentlich) ausschliessen.

In der Liste, die man sich anzeigen lassen kann, findet man die Dateien. Hier ein Ausschnitt.

	- INVALID_HASH
		- .htaccess
		- core/js/mimetypelist.js

Diese beiden Dateien hier stimmen also nicht. Die .htaccess hatte ich wegen "Der HTTP-Header Strict-Transport-Security ist nicht auf mindestens 15552000 Sekunden eingestellt" ja selber angepasst.

Die "core/js/mimetypelist.js" habe ich aus einem frisch heruntergeladenen Installationsimage extrahiert und auf den Server geladen. Danach wurde sie nicht mehr bemängelt. Du findest die Downloads der Installationspakete hier.

Wie kann ich die Sicherheit meiner Nextcloud-Installation prüfen?

Du kannst einen Check mit dem Nextcloud Security Scan durchführen. Ausserdem kannst du einen Malwares-Scan mit dem Free website security check & malware scanner von sucuri durchführen.

Beachte bitte, dass das nie abschliessende Tests sein können und bei einem positiven Ergebnis trotzdem etwas nicht in Ordnung sein könnte.

Verschlüsselung

Ohne besondere Vorkehrungen sind die Dateien auf dem Webhosting unverschlüsselt abgelegt. Möchte man auf Nummer Sicher gehen, kann man die serverseitige Verschlüsselung einschalten. Zu Beachten ist dann aber, dass die Dateien dadurch um ca. 30% grösser werden.

Mehr zur Verschlüsselung unter diesem Artikel: Serverseitige Verschlüsselung in Nextcloud aktivieren – Anleitung.

Grundsätzlich muss dazu das Modul für die Verschlüsselung sowie die eigentlich Verschlüsselung aktiviert sein.

Um nachträglich alle Dateien zu verschlüsseln, verwendet man das Kommando:

occ encryption:encrypt-all

Die Ausführung hat bei mir auf meinem Shared Webhosting wohl aufgrund mangelnder Ressourcen sehr lange gedauert und wurde immer wieder abgebrochen.

Auch kam es oft zu Fehlermeldungen, dass einzelne Dateien gelocked seien. Letzteres liess sich vermeiden, indem in die Datei config.php (im Subfolder config)...

'filelocking.enabled' => false,

...ergänzt wurde. Das sollte man aber nicht dauerhaft lassen.

Um die Dateien wieder zu entschlüsseln, kann man dieses Kommando verwenden:

occ encryption:decrypt-all

Wo gibt es eine Übersicht aller Funktionen des Kommadozeilen-Tools occ?

Eine solche findet sich unter Using the occ command.

Du willst meine Arbeit unterstützen? Dann freue ich mich über eine kleine Spende!

Kommentar hinterlassen

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