Niemand möchte, dass der kostenlose Cloud-Speicherplatz knapp wird. Wenn Sie die Benachrichtigung von Google Photos oder iCloud sehen, dass der Speicherplatz voll ist, kann das Ihre exotische Faultier-Reise nach Südamerika trüben. Für uns Heimwerker und Homelabber gibt es jedoch eine Lösung, wenn Sie bereit sind, selbst Hand anzulegen.
Einführung in Nextcloud
Nextcloud ist eine kostenlose und quelloffene Cloud-Speicherplattform, die Ihnen die Leistung und Flexibilität der Cloud bietet. Sie unterstützt mehrere beliebte Linux-Distributionen, wie Red Hat Enterprise Linux 9 und Ubuntu 24.04 LTS. In diesem Artikel verwenden wir Ubuntu Server 24.04.1 und Nextcloud Hub 9 (30.0.0), um einen leistungsstarken, vollständig anpassbaren Cloud-Speicherserver zu erstellen. Einige der hier gezeigten Schritte erfordern möglicherweise Hintergrundwissen zur Linux-Serveradministration und der Befehlszeilenschnittstelle. Denken Sie also daran und machen Sie sich bereit für die technischen Details!
Einrichten des Servers
Um mit der Einrichtung eines Nextcloud-Servers zu beginnen, benötigen Sie eine Neuinstallation von Ubuntu Server auf einem System Ihrer Wahl. Eine virtuelle Maschine auf Ihrem Hauptcomputer oder die übrig gebliebene Hardware reicht wahrscheinlich aus! Wir empfehlen einen Computer mit mindestens 2-4 CPU-Kernen, 8 Gigabyte RAM und 500 GB Speicher. Wenn Ihr System bereit ist, holen Sie sich Ubuntu Server unter diesem Link: https://ubuntu.com/download/server .
Wenn Sie Ubuntu Server noch nie installiert haben, lesen Sie sich vor dem Start die Anleitung durch: https://ubuntu.com/tutorials/install-ubuntu-server . Achten Sie darauf, auf der Seite mit der empfohlenen Software nicht die Option zur Vorinstallation von Nextcloud auszuwählen, da wir uns selbst darum kümmern.
Nachdem Sie Ihren Server in das Netzwerk eingebunden, ihm einen Hostnamen zugewiesen und sich mit dem Benutzernamen und dem Passwort angemeldet haben, die Sie bei der Ersteinrichtung erstellt haben, erhalten Sie die neuesten Software-Updates für Ubuntu Server, indem Sie „sudo apt update und sudo apt upgrade -y“ in der Konsole und drücken Sie die Eingabetaste. Starten Sie den Server nach Abschluss der Aktualisierungen neu, indem Sie „sudo Neustart“.
Hinweis: Möglicherweise müssen Sie Ihr Kennwort erneut eingeben, um Sudo-Befehle auszuführen.
Installieren der Software
Als nächstes müssen wir uns einige der erforderlichen Software besorgen, von der unsere Nextcloud-Instanz abhängt. Geben Sie die folgenden Befehle in Ihre Befehlszeilenschnittstelle ein (oder kopieren und fügen Sie sie besser ein), um den Apache-Webserver und einige Pakete herunterzuladen und zu installieren, die Sie später für erweiterte Nextcloud-Setups benötigen:
sudo apt installiere Apache2 MariaDB-Server PHP Libapache2-Mod-PHP Redis-Server Libmagickcore-6.q16-7-extra
sudo apt installiere php-apcu php-bcmath php-bz2 php-cli php-common php-curl php-gd php-gmp php-imagick php-intl php-ldap php-mbstring php-memcached php-mysql php-redis php-smbclient php-zip php-xml


Konfigurieren des Apache-Webservers – Teil 1
Bevor wir mit Apache herumspielen, müssen wir zunächst sicherstellen, dass wir eine ordnungsgemäße Verbindung zum Server herstellen können. Um Webbrowser-Verbindungen (HTTP und HTTPS) zur Nextcloud-Instanz zuzulassen, verwenden Sie die folgenden Befehle:
sudo ufw allow in „Apache Full“
sudo ufw aktivieren


Konfigurieren von MariaDB
Unser Nextcloud-Server benötigt eine ständig online verfügbare Datenbank, um Serverkonfiguration und Benutzerprofilinformationen zu speichern. Um MariaDB so zu konfigurieren, dass es nach dem Neustart des Systems ausgeführt wird, geben Sie ein „sudo systemctl aktiviere MariaDB“ und drücken Sie die Eingabetaste. Jetzt können wir die Datenbank für unsere Nextcloud-Installation vorbereiten!

- Geben Sie das aktuelle Passwort für root ein (Eingabe für keine): Klicken Sie auf die Eingabetaste
- Wechseln Sie zur Unix_Socket-Authentifizierung [J/n] n
- Das Root-Passwort ändern? n
- Anonyme Benutzer entfernen? [J / n] y
- Stammanmeldung nicht remote zulassen? [J / n] y
- Testdatenbank entfernen und darauf zugreifen? [J / n] y

Typ „sudo mysql -u root“ und geben Sie diese Befehle ein, wenn die MySQL-Befehlszeilenschnittstelle erscheint (und verwenden Sie unbedingt „;“ am Ende jeder Zeile!):
ERSTELLEN SIE BENUTZER ‚nextcloud‘@‚localhost‘ IDENTIFIZIERT DURCH ‚P@$$w0rd‘;
Hinweis: Ersetzen Sie „nextcloud“ und „P@$$w0rd“ durch einen Benutzernamen und ein Passwort Ihrer Wahl.
Datenbank erstellen, falls nicht vorhanden, nextcloud-Zeichensatz utf8mb4, sortieren, utf8mb4_general_ci;
Gewähren Sie alle Privilegien auf Nextcloud.* an „nextcloud“@„localhost“;
Hinweis: Ersetzen Sie auch hier das „nextcloud“ vor dem @-Symbol durch Ihren zuvor verwendeten Benutzernamen.
FLUSH PRIVILEGES;
Verlassen;

Aktivieren der PHP-Erweiterungen und Verbessern der PHP-Leistung
Erinnern Sie sich an all die PHP-Erweiterungen, die wir installiert haben? Wir müssen sie aktivieren, um sicherzustellen, dass Nextcloud sie richtig verwenden kann. Verwenden Sie diesen Befehl, um die erforderlichen PHP-Erweiterungen zu aktivieren:
sudo phpenmod apcu bcmath bz2 curl gd gmp imagick intl ldap mbstring memcached mysql redis smbclient zip xml


memory_limit = 512M
- Kann optional erhöht werden, um PHP bei Bedarf mehr Speicher zur Verfügung zu stellen (1024 M, 2048 M usw.)
post_max_size = 100 G
upload_max_filesize = 100 GB
- Dieser Wert und der vorherige Wert stellen die maximale Dateigröße dar, die Sie auf Ihren Nextcloud-Server hochladen können. Ändern Sie sie in die gewünschte maximale Dateigröße. (1G = 1 Gigabyte, 10G = 10 Gigabyte, 100G = 100 Gigabyte usw.) Achten Sie darauf, nur Größen in K (Kilobyte), M (Megabyte) und G (Gigabyte) einzugeben.
Datum.Zeitzone = Amerika/New_York
- Entfernen Sie das „;“ vor der Zeile und verwenden Sie diese Anleitung, um Ihre richtige Zeitzone zu bestimmen: https://www.php.net/manual/en/timezones.php
opcache.enable=1
- Entfernen Sie „;“ vor der Zeile.
opcache.memory_consumption = 128
- Entfernen Sie das „;“ vor der Zeile. Dieser Wert in Megabyte kann an die Speichermenge angepasst werden, die Sie auf Ihrem Nextcloud-Server haben (128 = 128 Megabyte, 1024 = 1024 Megabyte/1 Gigabyte, 2048 = 2048 Megabyte/2 Gigabyte).
opcache.interned_stringers_buffer=16
- Entfernen Sie „;“ vor der Zeile. Stellt die für internierte Zeichenfolgen zugewiesene Speichermenge in Megabyte dar. Der empfohlene Wert ist 16.
opcache.max_accelerated_files = 10000
- Entfernen Sie das „;“ vor der Zeile. Dieser Wert kann auf eine beliebige Zahl zwischen 200 und 1000000 angepasst werden, um den Cache- und Speicherkapazitäten Ihres Systems zu entsprechen.
opcache.revalidate_freq=1
- Entfernen Sie „;“ vor der Zeile und ändern Sie es in 1.
opcache.save_comments=1
- Entfernen Sie das „;“ vor der Zeile und überprüfen Sie, ob der Wert auf 1 gesetzt ist.
Nachdem Sie alle erforderlichen Änderungen an der Datei php.ini vorgenommen haben, speichern Sie die Datei, indem Sie die Strg-Taste gedrückt halten und die Taste „O“ drücken. Drücken Sie zur Bestätigung die Eingabetaste und halten Sie die Strg-Taste erneut gedrückt und tippen Sie auf die Taste „X“, um Nano zu beenden.

Konfigurieren des Apache-Webservers – Teil 2
Obwohl wir Nextcloud heruntergeladen und viele der Softwarevoraussetzungen eingerichtet haben, müssen wir die Standard-Apache-Webseite noch durch Nextcloud ersetzen. Geben Sie „cd ~“ in der Konsole und drücken Sie die Eingabetaste, um zum Home-Verzeichnis unseres Benutzers zurückzukehren. Hier wurde die Nextcloud-ZIP-Datei heruntergeladen. Geben Sie nun „aktuelles.zip entpacken“ Drücken Sie die Eingabetaste und sehen Sie zu, wie das Entpackprogramm loslegt!

Bevor der Ordner transportiert werden kann, müssen wir sicherstellen, dass die eingebauten „www-Daten“ Benutzer ist der Besitzer des neuen Verzeichnisses. Dies ist äußerst wichtig, da die „www-Daten“ Der Benutzer verwaltet alle Webserver-Operationen, die vom Apache-Webserver und von Nextcloud selbst ausgeführt werden. Typ „sudo chown -R www-data:www-data ./nextcloud“ in der Konsole und drücken Sie die Eingabetaste.


Dokumentstammverzeichnis /var/www/html/nextcloud/ Servername nextcloud-demo.moose.local Alle gewährten Berechtigungen anfordern AllowOverride Alle Optionen FollowSymLinks MultiViews Dav aus

Wenn Sie keine Domain besitzen, können Sie eine bei einem Registrar wie Cloudflare erwerben. https://www.cloudflare.com/products/registrar/ oder verwenden Sie einen kostenlosen öffentlich verfügbaren Hostnamen von Websites wie https://www.noip.com/ Wenn Sie keine Domäne kaufen oder einen kostenlosen Hostnamen verwenden möchten, können Sie in dieses Feld einen fiktiven FQDN eingeben. Dabei gilt die Einschränkung, dass Sie für die Verbindung mit der Nextcloud-Instanz nur die IP-Adresse (öffentlich und privat) des Servers verwenden können.
Hinweis: Um den FQDN des Servers für den lokalen Zugriff auf Ihre Nextcloud-Instanz zu verwenden, muss in Ihrem Heimnetzwerk ein ordnungsgemäß konfigurierter DNS-Server ausgeführt werden. Andernfalls müssen Sie die lokale IP-Adresse des Servers verwenden, wenn Sie von Ihrem Heimnetzwerk aus darauf zugreifen.
Wenn Sie mit dem Schreiben der virtuellen Hostdatei fertig sind und den Beispiel-FQDN durch den FQDN Ihres Servers (legitim oder anderweitig) ersetzt haben, können Sie die Nextcloud-Site schließlich aktivieren, indem Sie „sudo a2ensite nextcloud.conf“ kombiniert mit einem nachhaltigen Materialprofil. „sudo systemctl restart apache2“ um den Webserver mit der neuen Site neu zu starten. Navigieren Sie mit einem Webbrowser auf einem anderen Computer im selben Netzwerk über den FQDN des Servers oder seine lokale IP-Adresse zu Ihrer Nextcloud-Instanz.
Ersteinrichtung von Nextcloud
Wenn Sie die vorherigen Schritte korrekt ausgeführt haben, werden Sie mit einer Seite begrüßt, auf der Sie aufgefordert werden, einen Administratorbenutzer für die Site zu erstellen und einige Details zu Ihrem Nextcloud-Server einzugeben. Geben Sie dem Administratorbenutzer Ihren gewünschten Namen, z. B. Administrator oder Superadmin, und ein sicheres Passwort.

Die Site wird kurz geladen und bietet Ihnen dann die Möglichkeit, mehrere empfohlene Apps für Ihren Nextcloud-Server zu installieren. Beachten Sie, dass das Hinzufügen weiterer Apps zu Ihrer Nextcloud-Instanz die Verarbeitungslast, den Speicherverbrauch und die Gesamtfestplattennutzung des Servers erhöht. Wählen Sie, ob Sie die empfohlenen Apps installieren möchten, oder überspringen Sie diesen Schritt optional.


Erstellen eines Cron-Jobs
Ein Cron-Job ist ein Befehl, der regelmäßig ohne Benutzereingriff ausgeführt wird. Unser Nextcloud-Server benötigt einen Cron-Job, um den Server aufzurufen „cron.php“ Skript alle 5 Minuten für optimale Leistung und Funktionalität.
Um diesen Cron-Job einzurichten, geben Sie den Befehl ein „sudo crontab -u www-data -e“ in der Konsole des Servers.

*/5 * * * * php -f /var/www/nextcloud/cron.php

Herzlichen Glückwunsch! Sie haben jetzt einen funktionierenden Nextcloud-Server in Ihrem lokalen Netzwerk! Sie können jetzt mit dem Hoch- und Herunterladen von Dateien auf Ihren Nextcloud-Server in Ihrem Heimnetzwerk beginnen. Um ihn jedoch optimal zu nutzen, müssen wir seine Sicherheit verbessern, einige beliebte Homelab-Apps hinzufügen, ein blitzschnelles Speicher-Caching-System einrichten und ihn vom öffentlichen Internet aus zugänglich machen.
Verbessern Sie die Sicherheit Ihres Nextcloud-Servers
Eine der besten Möglichkeiten, die Sicherheit Ihres Webservers zu verbessern, ist die Umstellung auf HTTPS von unverschlüsseltem und unsicherem HTTP. Wenn diese Option aktiviert ist, werden Anfragen über TLS 1.3, den neuesten und sichersten Verschlüsselungsstandard für Webverbindungen, bedient. Dies ist ein notwendiger Schritt, wenn Sie eine Website im öffentlichen Internet zugänglich machen möchten, und ein hervorragender erster Schritt zum Schutz vertraulicher Informationen.
Wenn Sie sich entschieden haben, Ihren Nextcloud-Datenverkehr zu verschlüsseln, stehen Ihnen zwei Optionen zum Einrichten von HTTPS zur Auswahl: die Verwendung eines selbstsignierten Zertifikats oder die Verwendung eines Zertifikats einer gültigen Zertifizierungsstelle. Wenn Sie derzeit keine Domain besitzen oder keine für eine temporäre Nextcloud-Instanz einrichten möchten, empfehlen wir die Verwendung eines selbstsignierten Zertifikats oder eines Zertifikats eines Hostnamenanbieters. Wenn Sie eine dauerhaftere Nextcloud-Einrichtung planen, empfehlen wir dringend, ein öffentlich vertrauenswürdiges Zertifikat von einer Zertifizierungsstelle wie Let’s Encrypt zu erhalten.
HTTPS mit einem selbstsignierten Zertifikat
Um ein selbstsigniertes Zertifikat zu aktivieren und zu erstellen, müssen Sie einige einfache Befehle eingeben:
sudo a2enmod ssl
sudo openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout /etc/ssl/private/nextcloud-selfsigned.key -out /etc/ssl/certs/nextcloud-selfsigned.crt


Dokumentstammverzeichnis /var/www/html/nextcloud/ Servername nextcloud-demo.moose.local SSLEngine ein SSLZertifikatsdatei /etc/ssl/certs/nextcloud-selfsigned.crt SSLZertifikatsschlüsseldatei /etc/ssl/private/nextcloud-selfsigned.key Alle gewährten Berechtigungen anfordern AllowOverride Alle Optionen FollowSymLinks MultiViews Dav aus


HTTPS mit einem vertrauenswürdigen Zertifikat
Um ein vertrauenswürdiges Zertifikat für Nextcloud zu verwenden, müssen Sie zunächst eine Domäne besitzen oder über ein signiertes Zertifikat von einem Hostnamenanbieter verfügen. Wenn Sie zuvor ein selbstsigniertes Zertifikat verwendet und die Schritte im vorherigen Abschnitt zum Aktivieren von HTTPS befolgt haben, entfernen Sie den Textabschnitt, der am Ende der Datei hinzugefügt wurde, und führen Sie die Befehle aus „sudo a2dismod ssl“ kombiniert mit einem nachhaltigen Materialprofil. „sudo systemctl restart apache2“. Denken Sie daran, Strg + „O“ und Strg + „X“ zu verwenden, um zu speichern und Nano zu beenden, wenn Sie fertig sind.

HTTPS-Setup für Domänenbesitzer (über Certbot)
Nachdem die virtuelle Hostdatei nun wieder eine Standard-HTTP-Konfiguration aufweist, können wir mit den Vorbereitungen beginnen, um ein vertrauenswürdiges Zertifikat einer Zertifizierungsstelle zu verwenden. Wenn Sie eine Domäne besitzen, befolgen Sie diese Schritte, um ein Zertifikat zu erwerben und zu implementieren. Wenn nicht, fahren Sie mit dem nächsten Abschnitt fort, in dem die Verwendung eines von einem Hostnamenanbieter erworbenen Zertifikats beschrieben wird. Um ein Zertifikat zu erwerben, das mit Ihrer eigenen Domäne verwendet werden kann, verwenden wir Certbot von Let's Encrypt, einer gemeinnützigen Organisation, die kostenlose Zertifikate für die Verwendung in Webservern bereitstellt.
Um Certbot herunterzuladen, installieren und aktualisieren Sie zunächst Snap mit „sudo snap install core und sudo snap refresh core“. Geben Sie dann ein „sudo snap install –classic certbot“ (zwei Bindestriche hintereinander vor „classic“), um das Paket zu installieren.


Nachdem Certbot fertig ist, öffnen Sie die virtuelle Hostdatei erneut, indem Sie Folgendes eingeben: „sudo nano /etc/apache2/sites-available/nextcloud.conf“ und drücken Sie die Eingabetaste. Fügen Sie die folgenden Zeilen direkt über dem Header, um das Umschreiben von HTTP-URLs als HTTPS zu ermöglichen und zu ersetzen „nextcloud-demo.moose.local“ mit dem vollqualifizierten Domänennamen Ihres Servers:
RewriteEngine auf RewriteCond %{SERVER_NAME} = nextcloud-demo.moose.local RewriteRule ^ https://%{SERVER_NAME}%{REQUEST_URI} [END,NE,R=permanent]
Die fertige virtuelle Hostdatei sollte im Endeffekt folgendermaßen aussehen:

HTTPS-Setup mithilfe eines Zertifikats von einem Hostname-Provider
Die Schritte zur Verwendung eines Zertifikats eines Hostname-Providers zum Aktivieren von HTTPS auf Ihrem Nextcloud-Server sind identisch mit denen im Abschnitt „HTTPS mit einem selbstsignierten Zertifikat“ in diesem Artikel. Die einzige Ausnahme besteht darin, dass Sie den Pfad zu den selbstsignierten Schlüsseln durch einen Pfad zu den Schlüsseln Ihres Hostname-Providers ersetzen müssen. Befehle wie „wget“ kombiniert mit einem nachhaltigen Materialprofil. „mv“ kann verwendet werden, um die Zertifikatsdateien herunterzuladen und in die richtigen Verzeichnisse zu verschieben (/etc/ssl/certs für die Zertifikatsdatei und /etc/ssl/private für die Schlüsseldatei). Stellen Sie sicher, dass Sie das Apache SSL-Modul mit dem „sudo a2enmod ssl“ befehlen und verwenden „sudo systemctl restart apache2“ wenn Sie fertig sind, wenden Sie Ihre Änderungen an. Die fertige virtuelle Hostdatei zur Verwendung von Zertifikatsdateien sollte ungefähr so aussehen (wobei die Felder SSLCertificateFile und SSLCertificateKeyFile durch Pfade zu Ihren benutzerdefinierten Zertifikats- und Schlüsseldateien ersetzt werden):
Installieren der App „Antivirus für Dateien“
Auch wenn Nextcloud Daten sicher über HTTPS übertragen kann, bedeutet das nicht, dass alles, was Sie oder Ihre Benutzer hochladen, sicher ist. Ob absichtlich oder unabsichtlich, Malware-Infektionen auf Webservern können massiven Schaden anrichten und sich wie ein Lauffeuer auf andere Systeme ausbreiten, wenn sie nicht schnell behoben werden. Als zusätzliche Schutzebene gegen böswillige Akteure im Internet ist ein Antivirenprogramm für Server, auf die über das Internet zugegriffen werden kann, ein Muss.
ClamAV ist eine kostenlose und quelloffene Antivirensuite, die in Nextcloud integriert werden kann, um von Benutzern hochgeladene Dateien auf Malware zu prüfen. Der Nextcloud App Store bietet eine App namens „Antivirus for files“, die ClamAV als Backend verwendet, um Benutzerdateien zu prüfen und Ihren Server zu schützen. Diese App kann heruntergeladen werden, indem Sie zur Registerkarte „Apps“ navigieren, auf das Profilbild Ihres Administratorkontos klicken und die Kategorie „Sicherheit“ auswählen.



- Konfigurationsdatei automatisch verarbeiten? Ja
- Steckdosentyp: UNIX
- Der lokale (UNIX) Socket clamd lauscht auf: /var/run/clamav/clamd.ctl
- Gruppenbesitzer des lokalen (UNIX) Clamd-Sockets: clamav
- Erstellungsmodus für lokalen Clamd-Socket (UNIX): 666
- Übrig gebliebene UNIX-Socket-Dateien elegant verarbeiten? Ja
- Möchten Sie das Scannen von E-Mails aktivieren? Nein
- Möchten Sie die Archivüberprüfung aktivieren? Nein
- Sie können für diese Eingabeaufforderung „Ja“ auswählen, aber in diesem Fall ist eine zusätzliche Konfiguration erforderlich. Weitere Informationen finden Sie in der ClamAV-Dokumentation: https://docs.clamav.net/manual/Installing/Packages.html#the-packages
- Maximal zulässige Verzeichnistiefe: 15
- Möchten Sie, dass der Daemon regulären symbolischen Dateilinks folgt? Ja
- Timeout zum Stoppen des Thread-Scanners (Sekunden): 180
- Anzahl der Threads für den Daemon: 2
- Subtrahieren Sie 2 von der Anzahl der Kerne/vCPUs Ihres Nextcloud-Servers und geben Sie diese Zahl in dieses Feld ein.
- Anzahl der zulässigen ausstehenden Verbindungen: 15
- Möchten Sie den Systemlogger verwenden? Nein
- Protokolldatei für Clamav-Daemon (zum Deaktivieren „none“ eingeben): /var/log/clamav.log
- Möchten Sie mit jeder Nachricht Zeitinformationen protokollieren? Nein
- Wenn eine hohe Anzahl von Laufwerkschreibvorgängen nicht schädlich für Ihr System ist, wählen Sie stattdessen „Ja“.
- Möchten Sie die Protokollrotation aktivieren? Ja
- Verzögerung in Sekunden zwischen den Selbstprüfungen des Daemons: 3600
- Benutzer, der clamav-daemon ausführt als: clamav
- Gruppen für Clamav-Daemon (durch Leerzeichen getrennt): www-Daten
- Möchten Sie Bytecode aus der Datenbank laden? Ja
- Auf den Bytecode anzuwendende Sicherheitsstufe: TrustSigned
- Timeout der Bytecode-Ausführung in Millisekunden: 60000
Puh! Das war eine Menge Konfiguration! Zum Glück müssen wir das nur einmal machen. Verwenden Sie „systemctl aktiviere clamav-freshclam“ kombiniert mit einem nachhaltigen Materialprofil. „systemctl aktiviere clamav-daemon“ um den Start von ClamAV nach dem Systemboot zu ermöglichen, und wir können mit der Konfiguration der Nextcloud-App „Antivirus für Dateien“ beginnen.
Melden Sie sich mit einem Webbrowser auf einem anderen Computer, der mit demselben Netzwerk und Subnetz wie Ihr Nextcloud-Server verbunden ist, bei Nextcloud an und klicken Sie auf das Profilbild Ihres Administratorbenutzers. Klicken Sie im Dropdown-Menü auf die Option „Verwaltungseinstellungen“ und wählen Sie nach dem Laden der Seite den Abschnitt „Sicherheit“ aus.

Nextcloud-Integrationen und allgemeine Verbesserungen
Nachdem wir nun einen funktionsfähigen und sicheren Cloud-Server zum Speichern von Daten erstellt haben, können wir seine Fähigkeiten erweitern und neue Funktionen hinzufügen. Beginnen wir mit den einfachsten Aufgaben: Verbinden Sie Nextcloud mit einem E-Mail-Server und legen Sie die Standardtelefonregion fest.
Einen E-Mail-Server verbinden
Um E-Mail-Benachrichtigungen, Aktivitätswarnungen und Links zum Zurücksetzen des Passworts (für Nicht-LDAP-Benutzer) zu senden, muss Nextcloud mit einem funktionierenden E-Mail-Server verbunden sein. Wenn Sie Ihren E-Mail-Server selbst hosten, ist die Einrichtung so einfach wie die Eingabe der richtigen Serveradress- und Authentifizierungsinformationen. Sie können auch einen E-Mail-Server eines Drittanbieters mit einer E-Mail-Adresse verwenden, die Sie bereits haben, beispielsweise den SMTP-Server von Gmail.
Navigieren Sie mit einem Webbrowser auf einem Computer im selben Netzwerk und Subnetz wie Ihr Server zum vollqualifizierten Domänennamen oder zur IP-Adresse Ihres Nextcloud-Servers. Klicken Sie auf das Profilbild Ihres Administratorbenutzers und wählen Sie „Administrationseinstellungen“ aus dem Dropdown-Menü.


Um den SMTP-Server von Gmail mit einem Google-Konto zu verwenden, das Sie bereits besitzen, navigieren Sie zunächst zu https://myaccount.google.com/apppasswords und erstellen Sie ein App-Passwort, indem Sie den Anweisungen auf der Website folgen. Geben Sie Ihrem App-Passwort einen Namen, der mit Ihrem Nextcloud-Server verknüpft ist, und speichern Sie Ihr Passwort an einem sicheren Ort. Beachten Sie, dass das Passwort mit Leerzeichen alle vier Zeichen angezeigt wird, diese Leerzeichen aber nicht tatsächlich enthält. App-Passwörter sind Zeichenfolgen aus sechzehn aufeinanderfolgenden Buchstaben.
Füllen Sie die folgenden E-Mail-Serverfelder wie unten aufgeführt aus:
- Sendemodus: SMTP
- Verschlüsselung: Keine/STARTTLS
- Absenderadresse: johndoe @ storagereview.com
- Geben Sie hier die Adresse Ihres Gmail-Kontos ein.
- Serveradresse: smtp.gmail.com: 587
- Authentifizierung: Ja (Kontrollkästchen)
- Anmeldeinformationen: [E-Mail geschützt] App-Passwort hier
- Geben Sie hier Ihre Gmail-Kontoadresse und das von Ihnen erstellte App-Passwort ein.
Wenn Sie fertig sind, klicken Sie auf die Schaltfläche „Speichern“ und bestätigen Sie mit der Schaltfläche „E-Mail senden“, dass Ihre Konfiguration gültig ist.
Wenn Sie für das von Ihnen verwendete Administrator-Benutzerkonto noch keine E-Mail-Adresse festgelegt haben, erhalten Sie eine Warnung mit der Aufforderung, dies zu tun. Dies lässt sich ganz einfach beheben, indem Sie auf das Profilbild Ihres Administrator-Benutzers klicken, im Dropdown-Menü „Persönliche Einstellungen“ auswählen und Ihre E-Mail-Adresse in das Feld „E-Mail“ eingeben. Wenn Sie fertig sind, kehren Sie zum Modul „E-Mail-Server“ unter „Grundeinstellungen“ auf der Seite „Verwaltungseinstellungen“ zurück und geben Sie die Konfiguration bei Bedarf erneut ein.
Festlegen der Standardtelefonregion
Eine sehr schnelle, aber recht hilfreiche Änderung, die wir vornehmen können, damit Nextcloud Telefonnummern besser handhaben kann, ist das Festlegen einer Standardtelefonregion für die Instanz. Wenn Benutzer ihr Profil in den „Persönliche Informationen“-Einstellungen unter „Persönliche Einstellungen“ ausfüllen, werden sie aufgefordert, optional eine Telefonnummer für Kontaktzwecke anzugeben. Ohne eine Standardtelefonregion zwingt Nextcloud die Benutzer, eine Landesvorwahl mit dieser Nummer einzugeben. Durch das Festlegen der Standardtelefonregion können Benutzer diese Vorwahl ausschließen.
Verwenden Sie in der Nextcloud-Serverkonsole „sudo nano /var/www/html/nextcloud/config/config.php“ um die PHP-Konfigurationsdatei der Nextcloud-Site zu bearbeiten.

'default_phone_region' => 'USA',
-
- Den für dieses Feld verwendeten eindeutigen ISO 3166-1-Code Ihres Landes finden Sie auf der folgenden Wikipedia-Seite: https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2
Aus Sicherheitsgründen sollten Sie den Inhalt Ihrer Nextcloud-Instanz niemandem zeigen. „config.php“ Datei. Sie enthält vertrauliche Informationen wie Passwörter und Systemgeheimnisse, die nur Sie oder Ihr(e) Systemadministrator(en) kennen sollten. Nachdem Sie die Standard-Telefonregionszeile zu Ihrer Konfigurationsdatei hinzugefügt haben, speichern Sie den neuen Inhalt, indem Sie die Strg-Taste gedrückt halten und auf „O“ tippen. Halten Sie dann die Strg-Taste gedrückt und tippen Sie auf „X“, um die Datei zu beenden. Um die Änderungen anzuwenden, geben Sie ein „sudo systemctl restart apache2“ in die Konsole und drücken Sie die Eingabetaste.
Einrichten eines Wartungsfensters
Eine weitere kleine Verbesserung, die wir an der PHP-Konfigurationsdatei der Nextcloud-Site vornehmen können, ist das Festlegen eines Wartungsfensters für den Server, um intensivere und möglicherweise benutzerbeeinflussende Aufgaben auszuführen. Das Fenster wird in UTC-Zeit festgelegt, daher müssen Sie die gewünschte Startzeit des Wartungsfensters in eine entsprechende UTC-Zeit (ausgedrückt als Ganzzahl zwischen 1 und 24) umrechnen. Das Wartungsfenster dauert vier Stunden, sodass ein Wartungsfenster, das um 3:00 Uhr UTC beginnt, um 7:00 Uhr UTC endet.
Nutzen Sie „sudo nano /var/www/html/nextcloud/config/config.php“ Beginnen Sie erneut mit der Bearbeitung der PHP-Konfigurationsdatei und fügen Sie diese Zeile vor der abschließenden Klammer „);“ ein. Beachten Sie dabei die Abstandskonventionen, die für die bereits in der Datei vorhandenen Zeilen gelten:
'maintenance_window_start' => 1,
-
- Denken Sie daran, „1“ durch die gewünschte Startzeit Ihres Wartungsfensters, übersetzt in UTC-Zeit, zu ersetzen.

LDAP/Active Directory-Serverintegration
Wenn Sie mehreren Benutzern Zugriff auf Ihre Nextcloud-Instanz gewähren möchten, ist eine der leistungsstärksten Funktionen, die Sie Nextcloud hinzufügen können, die Möglichkeit, eine Verbindung zu einem LDAP- oder Active Directory-Server herzustellen und diesen zu authentifizieren. Viele Organisationen und Homelabber verwenden Active Directory oder LDAP, um den Benutzerzugriff auf Netzwerkressourcen zentral zu organisieren und zu steuern, und Nextcloud bildet hier keine Ausnahme. Mit der App „LDAP-Benutzer- und -Gruppen-Backend“ können Benutzer aus Ihrer Active Directory-Domäne oder Ihrem LDAP-Server in Ihren Nextcloud-Server importiert werden und sich mit ihrem Benutzernamen oder ihrer E-Mail-Adresse und ihrem Passwort anmelden. Diese Funktion wird noch leistungsfähiger, wenn sie mit externem Speicher (wie einer SMB-Freigabe auf einem NAS) kombiniert wird, der individuelle „Home“-Ordner für Benutzer mit benutzerspezifischen Berechtigungen bereitstellt.
Um die App „LDAP-Benutzer- und -Gruppen-Backend“ zu installieren, klicken Sie zunächst auf das Profilbild, wenn Sie mit Ihrem Administrator-Benutzerkonto auf der Nextcloud-Webseite angemeldet sind. Wählen Sie „Apps“ aus dem angezeigten Dropdown-Menü und klicken Sie auf das Modul „Ausgewählte Apps“. Scrollen Sie nach unten, bis Sie die App „LDAP-Benutzer- und -Gruppen-Backend“ finden, und klicken Sie auf die Schaltfläche „Aktivieren“.

Navigieren Sie erneut zur Seite „Administrationseinstellungen“, indem Sie auf das Profilbild Ihres Administratorbenutzers klicken und es aus dem Dropdown-Menü auswählen. Klicken Sie auf das Modul „LDAP/AD-Integration“, um zu beginnen.

- Host: 192.168.1.102
- Ersetzen Sie es durch die IP-Adresse/den Hostnamen Ihres LDAP-Servers oder Active Directory-Domänencontrollers.
- Hafen: 389
- Wenn Sie Active Directory verwenden, verwenden Sie Port 389. Wenn Sie einen anderen LDAP-Servertyp verwenden oder den Port angepasst haben, auf dem Ihr AD-Server auf LDAP-Anfragen wartet, geben Sie hier die spezifische Nummer ein.
- Benutzer-DN: CN=Administrator,CN=Benutzer,DC=Elch,DC=lokal
- Geben Sie den Distinguished Name für das Konto ein, das zum Verbinden von Nextcloud mit Ihrem LDAP/AD-Server verwendet wird. Wenn Sie Active Directory verwenden, können Sie diesen einfach finden, indem Sie diesen Befehl in einem CMD-Fenster ausführen, wobei Sie „Administrator“ durch den Benutzernamen des Kontos ersetzen, das Sie für die Verbindung verwenden:
- dsquery-Benutzername „Administrator“
- Klicken Sie nach dem Ausfüllen dieses Felds auf die Schaltfläche „Anmeldeinformationen speichern“.
- Geben Sie den Distinguished Name für das Konto ein, das zum Verbinden von Nextcloud mit Ihrem LDAP/AD-Server verwendet wird. Wenn Sie Active Directory verwenden, können Sie diesen einfach finden, indem Sie diesen Befehl in einem CMD-Fenster ausführen, wobei Sie „Administrator“ durch den Benutzernamen des Kontos ersetzen, das Sie für die Verbindung verwenden:
- Eine Basis-DN pro Zeile: DC=Elch,DC=lokal
- Klicken Sie nach dem Speichern der vorherigen Anmeldeinformationen auf die Schaltfläche „Basis-DN ermitteln“, um den Basis-DN für den LDAP/AD-Server automatisch zu ermitteln.
- Klicken Sie optional auf die Schaltfläche „Basis-DN testen“, um zu überprüfen, ob die bisherige Konfiguration gültig ist.





Integration externer Speicher
Eine weitere leistungsstarke Ergänzung Ihres Nextcloud-Servers ist die Möglichkeit, eine Verbindung zu externen Speicherpools herzustellen und diese zu verwenden. Das direkte Platzieren von Benutzerdateien auf dem Server selbst kann zu Problemen bei der Verwaltung des Serverspeichers führen und dazu, dass die Kapazität ständig erhöht werden muss, um die Benutzernachfrage zu erfüllen. Wenn Sie nicht ständig darauf achten, Kontingente durchzusetzen und unnötige, von Benutzern erstellte Daten zu entfernen, kann dies zu Frustration und unerwarteten Ausfallzeiten führen. Die Trennung der Webserver- und Speicherkomponenten eines Nextcloud-Setups ist dringend zu empfehlen und entscheidend, wenn Sie ein skalierbares Cloud-Speichersystem und ein angenehmes Benutzererlebnis schaffen möchten.
Mit der App „Externer Speicher-Support“ für Nextcloud können Sie Ordner der folgenden Speichertypen mounten:
- Amazon S3
- fTP
- Nächste Wolke
- Ja, das stimmt, Sie können eine Verbindung zu anderen Nextcloud-Servern herstellen und den auf ihnen verfügbaren Speicher nutzen!
- OpenStack-Objektspeicher
- SFTP
- SMB / CIFS
- WebDAV
Wie Sie sehen, gibt es verschiedene Möglichkeiten, Nextcloud mit externen Speicher-Arrays, Clouds und anderen Systemen zu verbinden. Als Beispiel verbinden wir eine Nextcloud-Instanz mit einer SMB-Freigabe, die den Zugriff auf verschiedene Ordner mithilfe von Berechtigungen steuert, die Benutzern gewährt werden, die aus der Active Directory-Domäne importiert wurden, mit der wir zuvor verbunden waren.
Um die App „Unterstützung für externen Speicher“ zu aktivieren, klicken Sie nach der Anmeldung auf das Profilbild Ihres Administratorbenutzers und wählen Sie „Apps“. Navigieren Sie erneut zu „Ausgewählte Apps“ und suchen Sie das Modul mit der Bezeichnung „Unterstützung für externen Speicher“. Klicken Sie auf die Schaltfläche „Aktivieren“, um die Anwendung verfügbar zu machen.


- Authentifizierung: Manuell eingegeben, in Datenbank speichern
- Wählen Sie diese Option, damit Benutzer zur Authentifizierung manuell ihren eigenen Benutzernamen und ihr eigenes Passwort eingeben. Wählen Sie „Anmelden und Passwort“, um Benutzern mithilfe eines Satzes statischer Anmeldeinformationen Zugriff auf eine SMB-Freigabe zu gewähren. Wählen Sie andernfalls aus dem Dropdown-Menü die Option aus, die Ihren Anforderungen am besten entspricht.
- Ordnername: Familie
- Dieser Name kann beliebig gewählt werden, um den Speicher zu beschreiben, den Sie mounten. Beispiele: „SMB“ oder der Name der Freigabe, die Sie mounten.
- Host: 192.168.1.140
- Ersetzen Sie diesen Wert durch die IP-Adresse oder den FQDN des Servers, auf dem die SMB-Freigabe gehostet wird, mit der Sie eine Verbindung herstellen möchten.
- Teilen auf: Familie
- Ersetzen Sie diesen Wert durch den Namen der Freigabe, die Sie mounten möchten und die auf dem Server vorhanden ist und im Feld „Host“ eingegeben wurde.
- Remote-Unterordner: \
- Um den obersten Ordner der Freigabe (den freigegebenen Ordner selbst) zu mounten, verwenden Sie „\“. Andernfalls geben Sie den Pfad zu einem Unterordner innerhalb der gewünschten Freigabe folgendermaßen ein:
- \Unterordner\ein weiterer Unterordner\noch ein weiterer Unterordner
- Um den obersten Ordner der Freigabe (den freigegebenen Ordner selbst) zu mounten, verwenden Sie „\“. Andernfalls geben Sie den Pfad zu einem Unterordner innerhalb der gewünschten Freigabe folgendermaßen ein:
- المجال: ELCH
- Ersetzen Sie diesen Wert durch den NetBIOS-Namen für eine Domäne, wenn der Zugriff auf die Freigabe über LDAP oder Active Directory gesteuert wird. Dieses Feld ist nicht erforderlich, wenn die Freigabe nicht über einen LDAP/AD-Server gesteuert wird.
- Versteckte Dateien anzeigen: Einblick in das
- Aktivieren Sie dieses Kontrollkästchen, wenn Benutzer versteckte Dateien (die mit dem Zeichen „.“ beginnen) anzeigen können sollen.
- Dateisystem mit Groß-/Kleinschreibung: Einblick in das
- Überprüfen Sie den ACL-Zugriff beim Auflisten von Dateien: Einblick in das
- Diese Option ist äußerst wichtig, damit die Zugriffskontrolle richtig funktioniert. Andernfalls können zwei Benutzer, die dieselbe Freigabe aktiviert haben und Ordner so konfiguriert haben, dass der andere keinen Zugriff hat, trotzdem die Dateien des anderen sehen.
- Alle Leute: Einblick in das
- Aktivieren Sie diese Option, wenn alle Nextcloud-Benutzer Anmeldeinformationen eingeben und eine Verbindung zur SMB-Freigabe herstellen können sollen. Andernfalls wählen Sie über das Feld unten eine lokale Gruppe auf der Nextcloud-Instanz aus, für die die Freigabe verfügbar gemacht werden soll.
- Leider ist es zum Zeitpunkt des Schreibens nicht möglich, eine LDAP-/Active Directory-Gruppe mithilfe des Felds unter dieser Option auszuwählen, wenn diese nicht ausgewählt ist.
- Aktivieren Sie diese Option, wenn alle Nextcloud-Benutzer Anmeldeinformationen eingeben und eine Verbindung zur SMB-Freigabe herstellen können sollen. Andernfalls wählen Sie über das Feld unten eine lokale Gruppe auf der Nextcloud-Instanz aus, für die die Freigabe verfügbar gemacht werden soll.
Nachdem Sie die für Ihr Setup spezifischen SMB-Freigabekonfigurationsdetails eingegeben haben, klicken Sie auf die Schaltfläche mit dem Häkchen, um sie zu speichern und den Benutzern zur Verfügung zu stellen.

Um die Einrichtung der SMB-Freigabe abzuschließen, müssen Nutzer nach einem Klick auf ihr Profilbild und der anschließenden Auswahl aus dem Drop-down-Menü zum Modul „Externer Speicher“ unter „Persönliche Einstellungen“ navigieren.


Nextcloud in einen echten Webserver umwandeln
Jetzt ist Ihre funktionsreiche Nextcloud-Instanz fast bereit, ein öffentlich verfügbarer und leistungsstarker Webserver zu werden! Bevor wir die Schleusen öffnen, müssen wir sicherstellen, dass der Server intensive Anfragen von mehreren Benutzern verarbeiten kann, die auf Dateien zugreifen. Wir haben die Leistung bereits durch mehrere wichtige Änderungen an der PHP-Konfiguration des Systems gesteigert, und die Unterstützung für die Zwischenspeicherung des Speichers kann dies noch weiter verstärken.
Einrichten des Speichercaches – APCu
ACPu ist ein PHP-Cache, der dabei hilft, die Zugriffszeiten häufig verwendeter Objekte zu beschleunigen. Wir werden ihn als ersten Cache für unsere Nextcloud-Instanz verwenden. Bevor wir den APCu-Cache aktivieren, müssen wir einige Änderungen an der Datei „php.ini“ unseres Systems vornehmen.
Nutzen Sie „sudo nano /etc/php/8.3/apache2/php.ini“ , um mit der Bearbeitung der Datei zu beginnen. Scrollen Sie zum Ende der Datei, indem Sie die Pfeiltaste nach unten längere Zeit gedrückt halten. Fügen Sie in einer neuen Zeile am Ende der Datei die folgenden Zeilen hinzu:
apc.enable_cli=1
apc.shm_size=128 M

Um das Einschalten des APCu-Cache abzuschließen, verwenden Sie „sudo nano /etc/php/8.3/mods-available/apcu.ini“ und fügen „apc.enable_cli=1“ an das Ende der Konfigurationsdatei, wie wir es für die „php.ini“ Datei. Verwenden Sie Strg + „O“ und erneut Strg + „X“, um die Konfigurationsdatei zu speichern und zu beenden.

Typ „sudo nano /var/www/html/nextcloud/config/config.php“ in der Konsole und drücken Sie die Eingabetaste. In der Nextcloud PHP-Konfigurationsdatei fügen wir eine Zeile hinzu, damit Nextcloud APCu für das lokale Speicher-Caching verwendet:
'memcache.local' => '\OC\Memcache\APCu',
Setzen Sie diese Zeile vor die abschließende Klammer „);“ und befolgen Sie dabei die Abstandskonventionen der vorherigen Zeilen in der Konfigurationsdatei. Halten Sie erneut die Strg-Taste gedrückt und drücken Sie „O“ und dann Strg-Taste und „X“, um zu speichern und zu beenden.


Einrichten des Speichercaches – Redis
Sie fragen sich vielleicht: „Warum braucht mein Webserver zwei verschiedene Speichercaches? Reicht einer nicht aus?“ Die Antwort auf diese Frage ist eigentlich ganz einfach. So wie jedes Werkzeug in einem Geschäft seinen eigenen Nutzen hat, gilt das auch für APCu und Redis. APCu ist ein ausgezeichneter lokaler Speichercache und übertrifft letzteren in dieser Kategorie deutlich, während Redis bei verteiltem Caching und transaktionaler Dateisperre glänzt.
Um mit Redis zu beginnen, bearbeiten wir die Redis-Konfigurationsdatei des Systems, indem wir Folgendes eingeben:
„sudo nano /etc/redis/redis.conf“ in die Konsole und drücken Sie die Eingabetaste. Standardmäßig überwacht der Redis-Dienst einen TCP-Port für das Caching und Sperren von Transaktionsdateien, aber für eine Einzelserverkonfiguration ist ein Unix-Socket die bevorzugte Kommunikationsmethode. Die Verwendung eines TCP-Ports wäre sinnvoll, wenn wir den Redis-Dienst über ein Netzwerk bereitstellen, aber ein Unix-Socket ist für die Kommunikation zwischen den Redis- und Nextcloud-Webserverprozessen weitaus effizienter.
Sobald Sie nano eingegeben haben, halten Sie die Strg-Taste gedrückt und drücken Sie „W“, um die Suchfunktion von nano zu aktivieren. Geben Sie „Unixsocket“ in die Suchleiste ein und drücken Sie die Eingabetaste. Nano springt dann zum „Unix-Socket“ Konfigurationsabschnitt der Datei. Im „Unix-Socket“ Abschnitt, entfernen Sie die "#" Zeichen und Leerzeichen vor „unixsocket /run/redis/redis-server.sock“ kombiniert mit einem nachhaltigen Materialprofil. „unixsocketperm 700“. Ändere das "700" zu "770"und scrollen Sie nach oben, bis Sie die Zeile finden, die lautet „Port 6379“. Wir ändern diesen Wert in "0", wodurch der Redis-Server effektiv angewiesen wird, nicht auf einem TCP-Port auf Verbindungen zu warten. Sehen Sie sich die Bilder unten an, um Ihre Konfigurationsdatei zu validieren, bevor Sie die Datei mit Strg (Strg) + „O“ und Strg (Strg) + „X“ speichern und beenden.
Mit diesen Änderungen an der Redis-Systemkonfigurationsdatei können wir nun in der Nextcloud PHP-Konfigurationsdatei angeben, dass wir Redis für verteiltes Caching und transaktionale Dateisperren verwenden möchten. Öffnen Sie diese Datei in Nano mit „sudo nano /var/www/html/nextcloud/config/config.php“.

'memcache.distributed' => '\OC\Memcache\Redis', 'memcache.locking' => '\OC\Memcache\Redis', 'redis' => [ 'Host' => '/run/redis/redis-server.sock', 'Port' => 0, ],
Wenn Sie die Zeilen richtig eingegeben haben, sollte der Abschnitt zum Speicher-Caching Ihrer PHP-Konfigurationsdatei wie dieser Ausschnitt aussehen:


Nextcloud dem Internet zugänglich machen
Wir sind fast fertig! Der letzte Schritt bei der Bereitstellung Ihres Nextcloud-Servers besteht darin, ihn für das öffentliche Internet zugänglich zu machen. Dieser Schritt erfordert die Konfiguration der Portweiterleitung auf Ihrem Router und kann ein wenig Recherchearbeit Ihrerseits erfordern. Verwenden Sie den Katalog mit Anleitungen zur Portweiterleitung unter https://portforward.com/router.htm Versuchen Sie, den Hersteller Ihres Routers zu finden und lesen Sie die Lösung durch. Wenn Sie Ihren Routerhersteller nicht in der Liste finden oder einen Unternehmens-/Selbstbau-Router verwenden, müssen Sie möglicherweise einige Websuchen durchführen, bis Sie die richtige Methode gefunden haben.
Wenn Sie die Portweiterleitung konfigurieren, leiten Sie die Ports 80 und 443 von der privaten IP-Adresse Ihres Nextcloud-Servers weiter (diese finden Sie über „Hostname -I“ Befehl) an die öffentliche IP-Adresse des Routers. Wenn Ihr Internetdienstanbieter Ihnen keine öffentliche IP-Adresse zur Verfügung stellt, müssen Sie einen Dienst wie Cloudflare Tunnels verwenden, mit dem Sie einen sicheren Tunnel zwischen Ihrem Webserver und den Servern von Cloudflare erstellen können, der den Datenverkehr von Website-Besuchern an Sie zurückleitet.
Wenn Sie eine Domain besitzen oder einen Hostnamen von einem Hostnamenanbieter verwenden, stellen Sie sicher, dass Ihre DNS-Einträge so eingestellt sind, dass sie auf die öffentliche IP-Adresse Ihres Servers verweisen. Optional bieten einige Dienstanbieter die Möglichkeit, Ihre IP-Adresse vor Website-Besuchern vollständig zu verschleiern und diese Daten sicher von ihren Servern auf Ihre zu übertragen.
Wartung und Aktualisierung von Nextcloud
Damit Ihr Cloud-Speicher schnell und sicher bleibt, müssen Sie sicherstellen, dass Ihr Nextcloud-Server über die neuesten Updates und Sicherheitspatches verfügt. Bevor wir fertig sind, gehen wir noch ein paar Möglichkeiten durch, damit Ihr Server wie neu läuft!
Befehle nach der Bereitstellung
Nach der Bereitstellung Ihres Nextcloud-Servers haben Sie möglicherweise einige Warnungen auf der Seite „Übersicht“ bemerkt, nachdem Sie im Profilbildmenü auf „Verwaltungseinstellungen“ geklickt haben. Gelegentlich enthalten diese Warnungen auch Befehle, die ausgeführt werden können, um das Problem, auf das sich die Warnung bezieht, sofort zu beheben. Normalerweise müssen die Befehle als „www-Daten“ Benutzer und führen Sie aus dem „/var/www/html/nextcloud“ Verzeichnis. Typ „cd /var/www/html/nextcloud“ und drücken Sie die Eingabetaste, um das aktuelle Arbeitsverzeichnis in den entsprechenden Ordner zu ändern, und fügen Sie ein „sudo -u www-data“ vor jedem der Befehle.
Wir können jetzt einige dieser Befehle ausführen, um diese Warnungen zu beheben, bevor sie zu Problemen werden:
sudo -u www-data php occ db:fehlende-Spalten hinzufügen
sudo -u www-data php occ db:fehlende-indizes-hinzufügen
sudo -u www-data php occ db:fehlende-Primärschlüssel-hinzufügen
Diese Befehle stellen sicher, dass die Datenbank richtig eingerichtet ist und keine wichtigen Informationen fehlen. Viel Spaß mit der Datenbank und viel Spaß! Oder nicht?
Ubuntu-Server auf dem neuesten Stand halten
Damit Ihr Server sicher und schnell bleibt, müssen Sie das Betriebssystem und die Softwarepakete regelmäßig aktualisieren. Suchen Sie alle ein bis zwei Wochen einen Zeitraum, in dem Ihr Server wenig genutzt wird, und führen Sie die folgenden Befehle aus:
sudo apt update && sudo apt upgrade -y
Sudo Neustart
Diese Befehle aktualisieren das Betriebssystem und die Softwarepakete des Servers und starten den Server neu, sodass die Änderungen beim erneuten Start übernommen werden.
Upgrade von Nextcloud
Da Nextcloud nicht mit einem Paketmanager installiert wurde, ist die Aktualisierung der Softwarepakete des Servers mit "geeignet" Nextcloud wird nicht automatisch auf die nächste Version gebracht. Um mit dem Upgrade unseres Nextcloud-Servers zu beginnen, müssen wir oben rechts auf der Webseite auf das Profilbild des Administratorbenutzers klicken und im Dropdown-Menü „Administrationseinstellungen“ auswählen. Auf der Seite „Übersicht“ sehen wir, dass ein Upgrade verfügbar ist – in diesem Fall Version 30.0.1. Wenn auf der Seite „Übersicht“ keine Update-Option angezeigt wird, machen Sie sich keine Sorgen, Sie haben bereits die neueste Version! Schauen Sie hier ab und zu vorbei, um zu sehen, wann eine neue Version verfügbar wird.
Wenn Sie festgestellt haben, dass ein Update verfügbar ist und Sie ein geeignetes Upgrade-Fenster erreicht haben, wechseln Sie zurück zur Konsole des Servers und geben Sie diesen Befehl ein:
sudo chown -R www-Daten: www-Daten / var / www
Dieser Befehl setzt rekursiv die „www-Daten“ Benutzer als Eigentümer der "Www" und alle Unterverzeichnisse und Dateien, um sicherzustellen, dass der Upgrade-Prozess auf alle erforderlichen Dateien zugreifen und diese ändern kann.
Sobald dieser Befehl abgeschlossen ist, gehen Sie zurück zur Seite „Übersicht“ im Menü „Verwaltungseinstellungen“ und klicken Sie auf die Schaltfläche „Updater öffnen“. Dadurch gelangen Sie zum Menü „Updater“.
Von hier aus können Sie auf die Schaltfläche „Update starten“ klicken, um die Update-Überprüfung und den Download-Prozess von Nextcloud zu starten. Wenn alles richtig funktioniert, sollten Sie neben jedem Schritt grüne Häkchen sehen, bevor Sie auf „Mit webbasiertem Updater fortfahren“ klicken.
Hinweis: Wenn der Aktualisierungsvorgang beim Schritt „Herunterladen“ fehlschlägt, wiederholen Sie den Download, bis er funktioniert. Dies kann mehrere Versuche erfordern.
Sobald im Menü „Updater“ alle grünen Häkchen erscheinen, klicken Sie auf die Schaltfläche „Wartungsmodus deaktivieren und im webbasierten Updater fortfahren“. Klicken Sie auf dem daraufhin angezeigten Bildschirm auf „Update starten“, um den Update-Vorgang abzuschließen und mit der Anwendung zu beginnen.
Alternativ können Sie, wie auf der Seite für größere oder langsamere Server vorgeschlagen, zu den „nächste Cloud“ und führen Sie das Upgrade dort manuell mit den folgenden Befehlen aus:
cd /var/www/html/nextcloud
sudo -u www-data php occ upgrade
Sobald das Upgrade abgeschlossen ist, werden Sie auf die Seite „Dashboard“ auf der Website Ihres Nextcloud-Servers weitergeleitet. Auf Ihrem Server läuft jetzt die neueste und beste Version von Nextcloud!
Glückwunsch! Du hast es geschafft!
Sie sind nun stolzer Besitzer und Betreiber eines voll funktionsfähigen, robusten und leistungsstarken Nextcloud-Servers. Sie können nun Familienmitglieder oder Freunde einladen, Ihren Server als Cloud-Speicher zu verwenden, wenn Sie dies wünschen. Denken Sie daran, dass Nextcloud eine hochmodulare Plattform ist. Scheuen Sie sich also nicht, neue Apps auszuprobieren oder Ihre Konfiguration Ihren Bedürfnissen entsprechend zu ändern! Richten Sie so bald wie möglich regelmäßige Backups des Servers ein und behalten Sie alles im Auge, um sicherzustellen, dass alles ordnungsgemäß funktioniert.
Eine Tour durch das Nextcloud-Setup des Autors
Wow, Sie haben das alles geschafft und möchten immer noch mehr lesen? Wir sind beeindruckt! Hier ist eine kurze Tour und einige Bilder des Nextcloud-Setups des Autors, falls Sie ein wenig Inspiration suchen:
- Hardware:
- Virtualisierungsserver:
- Betriebssystem: Proxmox-Virtualisierungsumgebung
- Gehäuse: Supermicro SC216 mit optionalem redundantem Boot-Laufwerkskäfig auf der Rückseite
- Zentralprozessor: Intel Xeon E5-2683
- Arbeitsspeicher: 4 x 32 GB DDR4 2400 MHz ECC RDIMMs
- Hauptplatine: Gigabyte MU70-SU0 (LGA 2011-3)
- HBA: Broadcom SAS 9305-24i
- NIC: Intel X520-DA2 2-Port 10 GbE SFP+ Adapter
- Grafikkarte: NVIDIA Quadro K1200
- Startlaufwerke: 2x Samsung 850 EVO 120 GB SATA SSDs
- Datenlaufwerke: 24x Samsung 860 EVO 250 GB SATA SSDs
- NAS:
- Betriebssystem: TrueNAS SCALE
- Gehäuse: HPE ProLiant MicroServer Gen10 Plus
- Zentralprozessor: Intel Xeon E-2224
- Arbeitsspeicher: 2x 16 GB DDR4 2666 MHz ECC UDIMMs
- HBA: Integrierter HPE Smart Array E208i-p SR Gen10 Controller
- NIC: HPE Ethernet 560SFP+ 2-Port 10 GbE SFP+ Adapter
- Startlaufwerk: Micron M600 256 GB SATA SSD (über USB angeschlossen)
- Cache-Laufwerke: 2x Samsung 860 EVO 250 GB SATA SSDs (über USB angeschlossen)
- Datenlaufwerke: 4x WD Red Plus 4 TB 5400 RPM HDDs
- Sicherungslaufwerk: WD Red Pro 14 TB 7200 RPM HDD (über USB angeschlossen)
- Modem:
- Netgear CM1200
- DOCSIS 3.1
- 4x 1 GbE RJ45 WAN-Ports (2-Port-Link-Aggregation-kompatibel)
- Router:
- Betriebssystem: pfSense
- Gehäuse: Dell OptiPlex 7040 SFF
- CPU: Intel Core i5 6500
- RAM: GB 8 DDR4
- NIC: Intel E1G44ET 4-Port 1 GbE RJ45-Adapter
- Startlaufwerke: 2x Samsung 860 EVO 250 GB SATA SSDs
- Kernschalter:
- Dell Netzwerk N4032F
- 24x 10 GbE SFP+-Ports
- 2x 40 GbE QSFP+-Ports
- 1 GbE-Verwaltungsport
- Zugangsschalter:
- Dell Netzwerk X1052
- 48x 1 GbE RJ45-Anschlüsse
- 4x 10 GbE SFP+-Ports
- Zugangspunkte:
- Betriebssystem: OpenWRT
- Linksys EA8300 Max Stream
- AC2200
- MU-MIMO
- Wi-Fi 5 (802.11ac)
- 1x 1 GbE RJ45 LAN-Anschluss
- 4x 1 GbE RJ45 LAN-Ports
- UPS:
- CyberPower CP1500AVRLCD3
- 1500VA
- 900W
- Virtualisierungsserver:
- Virtuelle Maschinen:
- Proxmox-Virtualisierungsumgebung:
- 2x Windows Server 2022 Datacenter-Domänencontroller
- Ubuntu Server 24.04.1 Nextcloud-Webserver
- Windows Server 2022-Spieleserver
- TrueNAS-SKALA:
- Backup-Ziel des Proxmox Backup Servers
- Proxmox-Virtualisierungsumgebung:
Andrew nutzt seinen Nextcloud-Server, um Datenspeicherdienste für seine Lieben zu hosten. Durch die Kombination einer Active Directory-Domäne mit redundanten Domänencontrollern, einem NAS zur Speicherung aller Benutzerdaten und einem Virtualisierungsserver hat Andrew sein Setup optimiert, um sowohl zu Hause als auch überall dort, wo eine Internetverbindung besteht, leistungsstarke Speicherdienste bereitzustellen.
Das Rückgrat seines Setups ist das Dell Networking N4032F, das 10 Gigabit pro Sekunde-Verbindungen zwischen seinem Proxmox VE-Server und dem TrueNAS SCALE-Speicherarray bereitstellt. Daten-, Verwaltungs- und Speicherverkehr wurden in drei VLANs aufgeteilt, die im Falle eines Verstoßes zusätzliche Sicherheit bieten. Sein Access Switch bietet standardmäßige 1 Gigabit pro Sekunde-Verbindungen zu seinem Gaming-PC, seinen Access Points und anderen verschiedenen Geräten. Alle Server und virtuellen Maschinen werden von einem Raspberry Pi Model 3B+ überwacht, auf dem Ubuntu Server und eine Uptime Kuma-Instanz laufen. Sobald ein Server/eine VM ausfällt, wird Andrew per E-Mail benachrichtigt, und im Falle eines Stromausfalls werden die Server ordnungsgemäß heruntergefahren, sobald die USV einen niedrigen Ladestand meldet.
Andrew hat seinen Virtualisierungsserver auch selbst gebaut, indem er ein Supermicro 24-Bay 2U-Gehäuse und Teile von eBay und anderen „zweifelhaften“ Quellen verwendet hat. In einer ZFS RAIDZ2-Anordnung kann dieses 24-SSD-Array aus reinen Consumer-Laufwerken einen Durchsatz von ungefähr 8.2 Gigabyte pro Sekunde für Lesevorgänge und 2.7 Gigabyte pro Sekunde für Schreibvorgänge auf virtuellen Maschinen bereitstellen, wie hier auf einer Windows Server 2022-VM gemessen:


Fazit
Wir hoffen, dass Sie in dieser langatmigen, aber detaillierten Nextcloud-Einrichtungsanleitung etwas Wertvolles gefunden haben. Es hat oft Vorteile, Dinge auf die harte Tour zu machen, und es ist immer gut, mehr über die Funktionsweise Ihres Cloud-Speichers zu wissen. Wenn Sie es noch nicht getan haben, abonnieren Sie den StorageReview Newsletter um weitere Artikel zu Servern, Speichersystemen und Homelabs zu erhalten, und schauen Sie bei uns auf YouTube, TikTok, X (früher Twitter) oder Instagram vorbei!
Referenzen/Quellen:
- https://www.linode.com/docs/guides/how-to-install-nextcloud-on-ubuntu-22-04/
- https://docs.nextcloud.com/server/latest/admin_manual/installation/example_ubuntu.html
- https://docs.nextcloud.com/server/latest/admin_manual/contents.html
- Verschiedene Seiten
- https://www.php.net/manual/en/ini.core.php
- https://nextcloud.com/
- https://ubuntu.com/download/server
- https://www.digitalocean.com/community/tutorials/how-to-create-a-self-signed-ssl-certificate-for-apache-in-ubuntu-16-04
- https://snapcraft.io/install/core/ubuntu
- https://docs.clamav.net/manual/Usage
- Verschiedene Seiten
- https://docs.nextcloud.com/server/latest/admin_manual/configuration_user/user_auth_ldap.html
- https://docs.nextcloud.com/server/30/admin_manual/configuration_files/external_storage/smb.html
- https://docs.nextcloud.com/server/latest/admin_manual/configuration_server/caching_configuration.html
- https://www.php.net/manual/en/intro.apcu.php
- https://www.php.net/manual/en/apcu.configuration.php
- https://developers.cloudflare.com/cloudflare-one/connections/connect-networks/














Fazit

Amazon