DecaTec

Programmieren, Fotografie, Home-Server und einiges mehr

Nextcloud – Tipps & Tricks für Admins (und Benutzer)

Nextcloud Logo

Nextcloud ist mittlerweile eine stabile und einfach einzurichtende Alternative zu anderen (kommerziellen) Cloud-Anbietern geworden. Gerade ist Version 13 erschienen, die u.a. Unterstützung für End-To-End Verschlüsselung, Anpassungen der Benutzeroberfläche und Verbesserungen in Sachen Performance mit sich bringt. Im Rahmen des Updates meiner Nextcloud-Instanz habe ich mir auch gleich mal die Zeit genommen, einige Punkte anzugehen, damit die Cloud noch mehr meinen eigenen Wünschen entspricht. Hauptsächlich sind dies bestimmte Parameter, die in der Standard-Konfiguration von Nextcloud gar nicht weiter zur Geltung kommen und deshalb leicht zu übersehen sind.

Dieser Artikel soll daher kurz und knapp ein paar Tipps und Tricks zeigen, die Nextcloud-Admins das Leben etwas leichter machen und auch für Cloud-Benutzer einen Mehrwert bieten.

Als Basis dient hier wie immer der Artikel Nextcloud auf Ubuntu Server mit nginx, MariaDB, PHP, Let’s Encrypt, Redis und Fail2ban.

Vordefinierte Dateien für neue Benutzer

Jeder Benutzer, der in der Cloud neu angelegt wird, bekommt beim ersten Einloggen standardmäßig bestimmte Dateien und Verzeichnisse zur Verfügung gestellt. Dies sind im Grunde genommen nur ein paar Multimedia-Dateien (Bilder, Musik, Text) und ein Benutzerhandbuch als PDF.

Standard-Dateien für einen neuen Nextcloud-Benutzer

Standard-Dateien für einen neuen Nextcloud-Benutzer

Diese Dateien sind eher als „Demo-Dateien“ gedacht, um bestimmte Funktionen der Cloud demonstrieren zu können (z.B. die Galerie-Funktion zur Anzeige von Bildern). Im Normalfall wird ein Benutzer diese Dateien einfach löschen bevor er mit der eigentlichen Nutzung der Cloud beginnt. Das einzig Sinnvolle ist hier meiner Meinung nach nur das Manual, weil neue Benutzer hier mehr über Nextcloud und seine Funktionen erfahren können.

Der Nextcloud-Administrator kann allerdings eine eigene Verzeichnis-Struktur festlegen, die für einen neuen Benutzer angelegt werden soll. Möglich ist auch, die automatische Neuanlage von Dateien für neue Benutzer zu deaktivieren.

Die Dateien, die standardmäßig angelegt werden, sind im Verzeichnis /var/www/nextcloud/core/skeleton hinterlegt. D.h. alles, was in diesem Verzeichnis zu finden ist, wird für jeden neuen Benutzer in das eigene User-Verzeichnis kopiert.

Wichtig: Man könnte nun auf die Idee kommen, in dieses Verzeichnis eigene Dateien zu kopieren oder bestimmte Dateien zu löschen. Dies wird jedoch nicht empfohlen, da bei jedem Update von Nextcloud dieses Verzeichnis wieder mit den Standard-Dateien gefüllt wird.

Automatische Anlage von Dateien deaktivieren

Um das automatische Anlegen der Verzeichnisse/Dateien für neue Benutzer komplett zu deaktivieren, reicht es aus, eine kleine Änderung in der Konfigurations-Datei von Nextcloud vorzunehmen:

Hier wird am Ende der Datei (aber vor der letzten Klammer) folgendes hinzugefügt:

Diese kleine Änderung reicht schon aus, dass ein neuer Benutzer nun ohne „Dummy-Dateien“ beginnen kann – die Files-App ist nun standardmäßig leer.

Eigene vordefinierte Dateien hinterlegen

Wenn man als Admin allerdings eigene Dateien für neue Benutzer hinterlegen möchte, sieht das Vorgehen etwas anders aus. In diesem Beispiel möchte ich die Cloud nun so konfigurieren, dass ein neuer User lediglich das Benutzerhandbuch nach dem ersten Login vorfindet.

Dazu wird zunächst einmal ein Verzeichnis außerhalb des Nextcloud-Verzeichnisses erzeugt und nur das Benutzerhandbuch aus dem entsprechenden Verzeichnis hierhin kopiert. Anschließend müssen noch die notwendigen Verzeichnisrechte gesetzt werden.

Nun muss diese Änderung noch der Nextcloud-Installation bekannt gemacht werden. Dazu wird die Konfiguration aufgerufen:

Hier fügen wir weiter unten folgende Zeile ein:

Nun muss das soeben angelegte Verzeichnis noch die in die Liste der Verzeichnisse aufgenommen werden, auf die PHP Zugriff gewährt werden soll. Dazu wird der virtuelle Host von Nextcloud aufgerufen:

Hier wird nun das neu angelegte Verzeichnis bei open_basedir hinzugefügt:

Nachdem dies erledigt ist, wird der Webserver neu gestartet:

Wenn nun ein neuer Benutzer angelegt wird, erhält dieser nach dem ersten Einloggen nur noch das Nextcloud Benutzerhandbuch angezeigt.

Imagick-Erweiterung für individuelle Favoriten-Icons

Der nächste Tipp bezieht sich auf das sog. Theming, also das Anpassen des Look and Feels der eigenen Cloud. Hier bietet Nextcloud eine eigene Benutzeroberfläche in den Admin-Einstellungen. Hier kann beispielsweise ein eigenes Farbschema oder auch ein individuelles Icon hinterlegt werden.

Theming-Einstellungen in Nextcloud

Theming-Einstellungen in Nextcloud

Allerdings fällt auf, dass sich die hier vorgenommenen Änderungen nicht auf das das sog. Favicon auswirken (das Icon, welches in der Titelleiste des Browsers angezeigt wird). Hier wird immer das Standard-Icon mit dem Nextcloud-Logo auf blauem Grund angezeigt.

Damit ein individuelles Favicon genutzt wird, sind zwei Pakete zu installieren, die diese Funktion „nachrüsten“: Zunächst einmal Imagemagick (kurz: Imagick) und zum zweiten die entsprechende PHP-Erweiterung.

Nach der Installation sollte der ganze Server neu gestartet werden:

Wenn man sich nun neu in der Cloud anmeldet, wird ein individuelles Favicon in der Titelleiste des Browsers angezeigt:

Nextcloud mit Imagick-Erweiterung: Das Favoriten-Icon wird an das Theming angepasst

Nextcloud mit Imagick-Erweiterung: Das Favoriten-Icon wird an das Theming angepasst

Externer Speicher als Haupt-Speicher

Im Normalfall werden die Dateien der Nextcloud-Benutzer auf dem lokalen Speicher des Servers im Verzeichnis /var/nextcloud_data/<User>/files abgelegt. Wenn der Server nur über einen geringen Speicherplatz verfügt, z.B. bei einem Raspberry Pi (Affiliate-Link) mit nur einer kleinen SD-Karte, kann der Cloud-Speicher leicht durch externen Speicherplatz erweitert werden. Dies kann z.B. eine SMB-Freigabe auf einem NAS sein, oder auch ein beliebiger FTP-Server.

Bei Einbindung des externen Speichers (in der Admin-Oberfläche oder in den persönlichen Einstellungen des Benutzers) wird dazu ein Ordner angegeben, in dem der externe Speicher „gemountet“ wird (auf dem Bild rot markiert).

Einbinden externen FTP-Speichers

Einbinden externen FTP-Speichers

Der entsprechende Benutzer sieht dann in diesem Beispiel einen Ordner „FTP“ in der Datei-Übersicht, wohinter sich der externe FTP-Speicher verbirgt. Der Benutzer hat damit die Wahl, ob der seine Dateien lieber lokal auf dem Server speichern möchte (im „Root-Verzeichnis“ in der Files-App) oder lieber den externen Speicher verwenden möchte (im entsprechenden Unterordner).

Wenn – wie bereits erwähnt – der Speicherplatz auf dem lokalen Server sehr begrenzt ist, kann es für den Admin von Vorteil sein, den Zugriff der Benutzer auf den lokalen Speicher des Servers zu unterbinden. Dazu kann in der Admin-Oberfläche unter Verwaltung Externer Speicher beliebiger Speicher eingebunden werden. Der Trick hierbei ist nun die Angabe unter Ordnername. Wenn hier nämlich nur ein Slash („/“) angegeben wird, wird dieser externe Speicher quasi als Root-Verzeichnis der Cloud eingebunden. Der hinzugefügte externe Speicher kann an dieser Stelle auch noch gleich exklusiv für nur einen Benutzer freigegeben werden.

Dieser Benutzer sieht dann unter Dateien nur noch den externen Speicher. Für ihn besteht somit keine Möglichkeit mehr, Dateien oder Verzeichnisse auf dem lokalen Server anzulegen. So kann der Cloud-Administrator auf sehr einfache Weise den lokalen Speicherplatz schonen und die User zur Benutzung des externen Speichers „zwingen“. Trotzdem kann ein Benutzer in seinen persönlichen Einstellungen weitere externe Speicherorte hinzufügen (solange der Admin diese Option für die Benutzer freigeschaltet hat).

Vordefiniertes Verzeichnis für geteilte Dateien

Ein weiteres Detail, was mich schon immer etwas gestört hat, ist die Anzeige von Dateien, die ein Benutzer mit einem anderen User geteilt hat. Diese geteilten Dateien werden dabei nämlich einfach im das Root-Verzeichnis des jeweiligen Benutzers angezeigt (also auf oberster Datei-Ebene). Werden sehr viele Dateien geteilt, geht die Übersicht in der Files-App sehr leicht verloren.

Nextcloud bietet nun die Möglichkeit, einen speziellen Ordner anzugeben, in dem die geteilten Dateien für einen User „gesammelt“ werden. Dazu wird wieder die Konfigurations-Datei von Nextcloud bearbeitet:

Hier wird am Ende (aber vor der letzten Klammer) folgende Zeile hinzugefügt:

Wenn nun Dateien oder Verzeichnisse unter den Benutzern geteilt werden, landen diese (für jeden Benutzer) automatisch im Verzeichnis Mit mir geteilt. Aus User-Sicht wird mir durch diesen Trick nicht mehr das Root-Verzeichnis bei vielen File-Shares „zugemüllt“ und ich habe eine saubere Trennung zwischen den eigenen Daten und Dateien, die mit mir geteilt sind.

File-Drop Konfiguration für anonyme Uploads

Der letzte Tipp ist eigentlich kein solcher, sondern ein ganz normales Feature von Nextcloud: Anonyme Uploads über einen sog. File-Drop. Allerdings habe ich dieses Feature auch erst vor kurzem entdeckt und bin davon begeistert, daher möchte ich es euch nicht vorenthalten.

Es geht dabei um die Möglichkeit, fremden Benutzern (also Leuten ohne eigenen Account in eurer Cloud) das Hochladen von Dateien zu ermöglichen. Sinn und Zweck des Ganzen ist die Bereitstellung von Dateien für einen angemeldeten Nextcloud-Benutzer. Auf diese Weise kann braucht man beispielsweise keine E-Mails mehr mit großen Dateien im Anhang verschicken.

Um dieses Feature nutzen zu können, legt sich ein Benutzer zunächst einmal ein spezielles Verzeichnis in der Files-App an (z.B. Public Upload). Nun kann in den Details zu diesem Ordner die Teilen-Funktion aktiviert werden (Link teilen). Wählt man nun noch die Option Dateien ablegen (nur Hochladen), hat man damit ein Verzeichnis zum anonymen Hochladen von Dateien erzeugt.

Konfiguration von File-Drop über einen geteilten Link

Konfiguration von File-Drop über einen geteilten Link

Den automatisch von Nextcloud erzeugten Link kann man nun über die kleine Schaltfläche neben dem Textfeld kopieren und an Freunde oder Bekannte weitergeben.

Ruft man diesen Link nun im Browser auf, kann eine Datei hochgeladen werden, die dann dem entsprechenden Benutzer der Cloud zur Verfügung gestellt wird und im extra dafür angelegten Ordner gespeichert wird.

Anonymer Upload mit File-Drop

Anonymer Upload mit File-Drop

Fazit

Der Artikel ist nun doch etwas länger geworden als ursprünglich gedacht. Trotzdem hoffe ich mal, dass ein paar Tipps für Nextcloud-Admins und/oder User dabei waren, die noch nicht hinlänglich bekannt sind.

Habt ihr weitere Tipps und Tricks, um Nextcloud besser an eure eigenen Wünsche und Nutzungsgewohnheiten anzupassen? Hinterlasst mir doch einfach einen Kommentar…

Weiterführende Artikel

Links

, , ,

Kommentare: 11

  • Sebastian sagt:

    Tolle Anleitung, vielen Dank dafür!

  • bernd sagt:

    wie immer super!

    Danke

    Gruß Bernd

  • Hans sagt:

    Hallo Jan,

    vielen Dank.

    Vielleicht hast du noch einen Tip, wie man die Passwortphrase von E2E löscht und wieder neu anlegt.

    Gruß Hans

    • Jan sagt:

      Hi Hans,

      die E2E-Verschlüsselung basiert auf einer Client-seitigen Verschlüsselung, von der der Server eigentlich gar nichts mitbekommst. Daher ist es nicht möglich, die E2E-Passpgrases Server-seitig zu ändern. Um eine neue Passphrase zu „generieren“, musst du das auf der Client-Seite machen, indem du einen neuen verschlüsselten Ordner anlegst, die alten Dateien da reinkopierst und anschließend den alten verschlüsselten Ordner einfach löschst.
      Bitte beachten, dass das E2E-Feature immer noch in der Beta-Phase ist, daher ist es nicht ausgeschlossen, dass hier noch Fehler auftreten.

      Gruß,
      Jan

  • Dominik sagt:

    Der Tipp mit dem Externer Speicher als Haupt-Speicher ist gold Wert! Ich hab wie nach deiner Anleitung die Nextcloud auf einer VM laufen und diese selbst ist sehr klein.
    Die Daten selbst sollen auf meinem Server selbst gesichert durch RAID abgespeichert werden. Mit dieser Möglichkeit muss gar keine großen Tricks machen und den Benutzern sagen, sie sollen ihre Daten nur in vorgefertigte Ordner legen.
    Danke!

  • Hans sagt:

    Hallo Jan, die Vorrausetzung für die externe Speicheranbindung ist die Installation des smbclients unter Linux. Je nach Distribution, muss dieser ggf. nachinstalliert werden.

    Weiß nicht ob du hierzu einen Passus mit aufnehmen möchtest.

    Gruß Hans

    • Jan sagt:

      Hi Hans,

      ja, der smbclient muss nachinstalliert werden, allerdings nur, wenn man auch Speicher per SMB einbinden möchte. Für FTP gibt es solche Voraussetzungen derzeit nicht. Aber genau deshalb habe ich ja einen Link auf die Dokumentation für den externen Speicher hinzugefügt, hier wird das alles pro Speicher-Art genau erklärt.

      Gruß,
      Jan

  • Magnus sagt:

    Hi Jan,

    vielen Dank für diese tolle Beschreibung.

    Vielleicht kannst du mir auch bei einem anderen Problem helfen.

    Ich habe auf externen Platten viele Daten gesichert (z.B. Fotos). Die möchte ich nicht einzeln hochladen, sondern möglichst per copy-befehl in meine Nextcloud integrieren.

    Wie bekomme ich das hin?

    Vielen Dank und Gruß
    Magnus

    • Jan sagt:

      Hi Magnus,

      wenn das Datenverzeichnis unverschlüsselt ist, dann könnte man auf die Idee kommen, sämtliche Dateien hier einfach reinzukopieren. Das ist allerdings nicht empfehlenswert, da Informationen zu allen Dateien auch noch in der Datenbank gespeichert werden.
      Wie wäre es, wenn du im Nextcloud Desktop-Client einfach einen eine neue (temporäre) Synchronisation anlegst (z.B. Foto-Order auf ext. HDD < -> Foto-Order in NC). Der Sync-Client wird dann alle Dateien vollautomatisch hochladen, danach kannst du die Synchronisierung bei Bedarf wieder entfernen. So dürfte das am wenigsten Arbeit machen, oder?

      Gruß,
      Jan

Schreibe einen Kommentar

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