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
Wenn Sie aufgefordert werden, Y oder N einzugeben, um die Installation fortzusetzen oder zu stoppen, geben Sie Y ein und drücken Sie die Eingabetaste. Geben Sie abschließend „wget https://download.nextcloud.com/server/releases/latest.zip”, um die neueste Version von Nextcloud zu erhalten und zu verwenden „sudo apt install unzip“ Um das Entpackungstool zu installieren, müssen wir diese Dateien extrahieren.
Nachdem wir nun über die gesamte erforderliche Software zum Einrichten unserer Nextcloud-Instanz verfügen, untersuchen wir den von uns installierten Webserver.
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
Sie sollten jetzt einen laufenden und zugänglichen Webserver auf Ihrem Ubuntu-Server haben! Geben Sie auf einem anderen Computer, der mit demselben Netzwerk wie Ihre Nextcloud-Maschine verbunden ist, die IP-Adresse Ihres Servers in ein Browserfenster ein und drücken Sie die Eingabetaste. Wenn Sie sich nicht an die IP-Adresse des Servers erinnern können, verwenden Sie die „Hostname -I“ Befehl auf Ihrem Server, um es anzuzeigen. Wenn Ihre Installation erfolgreich war, sollte die Standard-Apache2-Seite in ihrer ganzen Pracht angezeigt werden!
Obwohl manche sagen, dass diese Standard-Webserverseite ziemlich gut ist, werden wir sie in Teil zwei durch etwas noch Besseres ersetzen. Machen wir einen kurzen Umweg und richten MariaDB jetzt ein!
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!
Glücklicherweise ist in MariaDB ein sicheres Setup-Dienstprogramm vorinstalliert, sodass wir nicht viel Arbeit haben. Verwenden Sie „sudo mysql_secure_installation“ um es zu starten, und beantworten Sie die Fragen des Assistenten.
- 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
MariaDB ist jetzt sicher und wir können mit der Erstellung einer Datenbank zur Bereitstellung unserer Nextcloud-Instanz beginnen.
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;
Wir kommen näher! Wir haben jetzt einen funktionsfähigen (aber noch nicht fertigen) Webserver und eine Datenbank.
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
Nachdem die richtigen Erweiterungen aktiviert wurden, müssen wir einige PHP-Einstellungen anpassen, um sie unseren Anforderungen anzupassen. Die PHP-Konfigurationsdatei, die wir bearbeiten werden, befindet sich unter „/etc/php/8.3/apache2/php.ini“ und kann geändert werden durch Platzieren „sudo nano“ vor dem Pfad und drücken Sie die Eingabetaste. Wenn Sie eine andere Version von PHP installiert haben, ändern Sie die "8.3" zur Hauptversionsnummer Ihrer installierten Version, die Sie erhalten, indem Sie „php -v“ in der Konsole.
Sobald Sie die geöffnet haben „php.ini“ Datei mit nano, dem in Ubuntu integrierten Texteditor, halten Sie die Strg-Taste gedrückt und tippen Sie auf die Taste „W“ auf Ihrer Tastatur. Wenn die Suchleiste angezeigt wird, geben Sie ein „max_Ausführungszeit“und drücken Sie die Eingabetaste. Nano springt dann zur ersten Übereinstimmung, die es mit dem von Ihnen eingegebenen Wert findet. Verwenden Sie die Pfeiltasten zum Navigieren und die Rücktaste zum Entfernen von Zeichen. Ändern Sie die „30“ in „360“. Wiederholen Sie diesen Trick, um die Werte für die folgenden PHP-Einstellungen zu ändern:
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.
Aktivieren Sie als Nächstes weitere erforderliche Apache-Module, indem Sie Folgendes eingeben: „sudo a2enmod dir env headers mime rewrite ssl“ in der Konsole. Sie müssen Apache an dieser Stelle nicht mit dem von der Konsolenmeldung vorgeschlagenen Befehl neu starten.
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!
Die „neueste.zip“ Die ZIP-Datei wird nun in einen Ordner namens „nächste Cloud“ im selben Verzeichnis, aus dem es heruntergeladen wurde. Dieser neue Ordner enthält alle notwendigen Materialien für die Nextcloud-Site. Jetzt beginnen wir damit, diesen Ordner an seinen richtigen Platz zu verschieben. „/var/www/html“.
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.
Nun, dass die „www-Daten“ Benutzer besitzt den Ordner, wir können ihn ohne Verzögerung verschieben. Verwenden Sie „sudo mv ./nextcloud /var/www/html“ um den Ordner in das richtige Verzeichnis zu verschieben.
Wir können jetzt die Standard-Apache-Webserverseite deaktivieren, indem wir eingeben „sudo a2dissite 000-default.conf“ in die Konsole. Ignorieren Sie die Warnung, den Apache-Server erneut zu laden, und erstellen Sie eine virtuelle Hostdatei für die neue Site, indem Sie Folgendes eingeben: „sudo nano /etc/apache2/sites-available/nextcloud.conf“ und drücken Sie die Eingabetaste. Der Inhalt der virtuellen Hostdatei sollte genau wie folgt eingegeben werden:
Dokumentstammverzeichnis /var/www/html/nextcloud/ Servername nextcloud-demo.moose.local Alle gewährten Berechtigungen anfordern AllowOverride Alle Optionen FollowSymLinks MultiViews Dav aus
Ersetzen „nextcloud-demo.moose.local“ mit dem vollqualifizierten Domänennamen (FQDN) des Servers, auf dem Sie Nextcloud installiert haben. Der erste Teil des FQDN ist der Hostname des Servers, den Sie zuvor erstellt haben und der mit dem „Hostname“ Befehl in der Konsole. Der zweite und dritte Teil des Namens sind die Domäne bzw. die Top-Level-Domäne. Wenn Ihre Domäne beispielsweise „storagereview.com“ und der Hostname Ihres Servers war „nächste Cloud“, dann wäre der FQDN Ihres Servers „nextcloud.storagereview.com“.
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“ und „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.
Geben Sie im Abschnitt „Speicher & Datenbank“ der Setup-Seite ein „/var/www/html/nextcloud/data“ im Feld „Datenordner“ und den Benutzernamen, das Passwort und den Datenbanknamen, den Sie beim Erstellen der MariaDB-Datenbank verwendet haben. Geben Sie im Feld „Datenbankhost“ Folgendes ein: „lokaler Host“ und klicken Sie nach Abschluss auf die Schaltfläche „Installieren“.
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.
Nachdem die Installation der Apps abgeschlossen ist bzw. die nächste Seite erscheint, können Sie bei Bedarf das Einführungsmenü durchlesen.
Es sieht so aus, als sei der Nextcloud-Server fertig, aber wir müssen noch einen Schritt tun, damit der Server funktioniert: das Einrichten eines Cron-Jobs, um regelmäßig geplante Aufgaben auf dem Server auszuführen.
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.
Wenn das „www-Daten“ Wenn die Crontab des Benutzers geöffnet wird, fügen Sie am Ende der Datei die folgende Zeile hinzu:
*/5 * * * * php -f /var/www/nextcloud/cron.php
Wenn Sie fertig sind, halten Sie die Strg-Taste gedrückt und drücken Sie die Taste „O“, um die Datei zu speichern. Halten Sie die Strg-Taste gedrückt und drücken Sie die Taste „X“, um den Vorgang zu beenden. 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 und von Ihrem Nextcloud-Server in Ihrem Heimnetzwerk beginnen. Damit er jedoch richtig gut läuft, 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
Nachdem wir nun das Apache SSL-Modul (auch bekannt als TLS) aktiviert und das selbstsignierte Zertifikat erstellt haben, müssen wir die Site anweisen, TLS zu aktivieren und das Zertifikat zu verwenden. Geben Sie „sudo nano /etc/apache2/sites-available/nextcloud.conf“ und drücken Sie die Eingabetaste, um erneut mit der Bearbeitung der virtuellen Hostdatei zu beginnen.
Fügen Sie die folgenden Zeilen genau wie folgt am Ende Ihrer virtuellen Hostdatei hinzu, ersetzen Sie jedoch das Feld „ServerName“ durch den vollqualifizierten Domänennamen Ihres Servers:
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
Halten Sie die Strg-Taste gedrückt und drücken Sie die Taste „O“, um die Datei zu speichern. Halten Sie die Strg-Taste gedrückt und drücken Sie die Taste „X“, um nano zu beenden. Um diese Änderungen auf den Apache-Webserver anzuwenden, verwenden Sie die „sudo systemctl restart apache2“ Befehl. Sie sollten jetzt HTTPS mit einem selbstsignierten Zertifikat aktiviert haben!
Wenn Sie Ihre Site das nächste Mal besuchen und den vollqualifizierten Domänennamen oder die IP-Adresse des Servers eingeben, sollte eine Warnung angezeigt werden, die Sie darüber informiert, dass die Zertifizierungsstelle der Site nicht gültig ist. Fahren Sie nach diesem Fehler fort (die Methode variiert je nach Webbrowser) und rufen Sie die Site auf. Der Webbrowser hat automatisch eine Verbindung über HTTPS hergestellt und sendet Daten mit TLS-Verschlüsselung.
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“ und „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.
Führen Sie den Befehl aus „sudo certbot –apache“ (wieder zwei Bindestriche vor „Apache“), um Certbot zu starten, und folgen Sie allen Anweisungen zum Erstellen und Herunterladen Ihres Web-Zertifikats.
Für den Zertifikatserstellungsprozess werden Informationen wie eine E-Mail-Adresse benötigt, die zur Kontaktaufnahme mit dem Domäneninhaber verwendet wird, und Sie werden gebeten, den von Let’s Encrypt geforderten Bedingungen zuzustimmen. Geben Sie den Domänennamen ein oder wählen Sie ihn aus, wenn Sie dazu aufgefordert werden, und schließen Sie den interaktiven Prozess ab. Wenn bei der Verwendung von Certbot Fehler auftreten, müssen Sie möglicherweise die Portweiterleitung auf Ihrem Router für die Ports 80 und 443 an die private IP-Adresse Ihres Nextcloud-Servers aktivieren oder die DNS-Einträge Ihrer Domäne so konfigurieren, dass sie auf die öffentliche IP-Adresse Ihres Routers verweisen. Der Prozess für die Portweiterleitung und die Einrichtung von DNS-Einträgen hängt stark von Ihrem Router, Domänenregistrar und Internetdienstanbieter ab und wird daher in diesem Handbuch nicht behandelt.
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:
Sie sollten jetzt über ein vertrauenswürdiges Zertifikat einer gültigen Zertifizierungsstelle und eine für das Web bereite HTTPS-Verschlüsselung verfügen!
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“ und „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.
Klicken Sie im Abschnitt „Antivirus für Dateien“ auf die Schaltfläche „Herunterladen und aktivieren“, um es auf Ihrer Nextcloud-Instanz zu installieren. Als Nächstes müssen wir ClamAV installieren und das Scanner- und Malware-Signatur-Updatesystem aktivieren. Verwenden Sie „sudo apt install clamav clamav-daemon“ um alle erforderlichen ClamAV-Pakete zu erhalten.
Wenn die Pakete installiert wurden, führen Sie aus „sudo dpkg-reconfigure clamav-daemon“ in der Konsole, um ein interaktives Konfigurationsmenü aufzurufen. Wir werden dies verwenden, um das Scanverhalten unseres ClamAV-Setups anzupassen.Geben Sie die folgenden Antworten auf die unten aufgeführten Fragen ein:
- 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“ und „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.
Scrollen Sie nach unten zum Abschnitt „Antivirus für Dateien“ und ändern Sie das Feld „Modus“ in „ClamAV Daemon (Socket)“. Ändern Sie das Feld „Wenn bei einem Hintergrundscan infizierte Dateien gefunden werden“ in „Datei löschen“ und klicken Sie auf die Schaltfläche „Speichern“. ClamAV durchsucht in regelmäßigen Abständen in Nextcloud hochgeladene Dateien nach Malware und löscht Dateien, die mit bekannten Malware-Signaturen übereinstimmen.
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ü.
Wählen Sie auf der Seite „Administrationseinstellungen“ links den Bereich „Grundeinstellungen“ aus und scrollen Sie nach unten zum Modul „E-Mail-Server“.
Auf dieser Seite können Sie die Verschlüsselungs-, Adressierungs- und Authentifizierungseinstellungen Ihres E-Mail-Servers konfigurieren. Sie können einige Verschlüsselungs- und Authentifizierungsmethoden auswählen, die Ihren Sicherheits- oder Kompatibilitätsanforderungen entsprechen.
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.
Fügen Sie die folgende Zeile zu Ihrer PHP-Konfigurationsdatei hinzu. Behalten Sie dabei das durch die vorherigen Zeilen erstellte Abstandsmuster bei und fügen Sie vor der abschließenden Klammer „);“ ein:
'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.
Verwenden Sie die „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.
Nach dem Speichern der Datei mit Strg (ctrl) + „O“ und Strg (ctrl) + „X“ wenden Sie das Wartungsfenster an, indem Sie „sudo systemctl restart apache2“.
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“.
Nachdem die App aktiviert wurde, müssen wir Nextcloud mit einem LDAP-Server verbinden. Stellen Sie sicher, dass Sie über ein Konto verfügen, um diese Verbindung zu autorisieren. Normalerweise wird ein speziell für diese Verbindung erstelltes Dienstkonto empfohlen, aber Sie können jedes Active Directory- oder LDAP-Konto verwenden, das das Verzeichnis durchsuchen kann. Beachten Sie, dass dieses Beispiel zwar das integrierte Domänenkonto „Administrator“ in einer Active Directory-Domäne verwendet, dies jedoch keine sichere Vorgehensweise ist. Wenn der Nextcloud-Server kompromittiert und die Anmeldeinformationen für das „Administrator“-Konto gestohlen werden, verfügt ein Angreifer über die volle Berechtigung zum Lesen, Ändern und sogar Löschen aller Objekte in der Domäne.
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 „LDAP/AD-Integrationsmodul“, um zu beginnen.
Geben Sie auf dieser Seite die erforderlichen Informationen für Ihren LDAP/Active Directory-Server ein:
- 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.
Nachdem Sie die erste Seite des Moduls „LDAP/AD-Integration“ ausgefüllt haben, klicken Sie auf die Schaltfläche „Weiter“ und nehmen Sie sich einen Moment Zeit, um den Abschnitt „Benutzer“ anzuzeigen und zu studieren.
Obwohl das Layout der Seite zunächst verwirrend erscheinen mag, besteht ihre Funktion darin, die für die Anmeldung auf dem Nextcloud-Server verfügbaren Benutzer nach Attributen wie Objektklassen und Gruppen zu filtern. Wir empfehlen, eine eindeutige Gruppe für Benutzer zu erstellen, die sich beim Nextcloud-Server anmelden, damit die Filterung nach der Mitgliedschaft dieser Gruppe erfolgen kann. Wählen Sie die gewünschten Objektklassen und/oder Gruppen aus, denen Sie Zugriff gewähren möchten, und klicken Sie auf die Schaltfläche „>“, um die Gruppe zum Filter hinzuzufügen. In diesem Beispiel wird eine Gruppe mit dem Namen „Familie“ verwendet. Klicken Sie auf die Schaltfläche „Einstellungen überprüfen und Benutzer zählen“, um eine Meldung anzuzeigen, die angibt, wie viele Benutzer der von Ihnen eingegebenen Beschreibung entsprechen. Wenn die Anzahl falsch erscheint, überprüfen Sie Ihre Objektklassen- und Gruppenfilter noch einmal.
Sobald Sie die richtige Anzahl an Benutzern haben, klicken Sie auf die Schaltfläche „Weiter“, um zum Abschnitt „Anmeldeattribute“ zu gelangen. Aktivieren Sie die Kontrollkästchen für die Felder „LDAP/AD-Benutzername:“ und „LDAP/AD-E-Mail-Adresse“ und überprüfen Sie, ob das Anmeldeattribut korrekt ist, indem Sie einen Benutzernamen und eine E-Mail-Adresse (falls gewünscht) in das Feld „Anmeldenamen testen“ eingeben und auf „Einstellungen überprüfen“ klicken.
Wenn der Benutzername/die E-Mail-Adresse zur Anmeldung verwendet werden kann, wird eine Benachrichtigung mit dem Hinweis „Benutzer gefunden und Einstellungen überprüft“ angezeigt. Klicken Sie ein letztes Mal auf die Schaltfläche „Weiter“, um zur letzten Seite „Gruppen“ zu gelangen. Ähnlich wie auf der Seite „Benutzer“ wird im Abschnitt „Gruppen“ anhand von Objektklassen- und Gruppenkriterien eingegrenzt, wer sich beim Nextcloud-Server anmelden kann. Treffen Sie dieselben Auswahlen wie auf der Seite „Benutzer“ oder reduzieren Sie die Anzahl der Benutzer, die sich anmelden können, indem Sie hier in den Feldern „Objektklassen suchen“ und „Gruppen suchen“ spezifischere Kriterien eingeben. In diesem Beispiel wird die Gruppe „Familie“ aus der Liste auf der Seite ausgewählt und mit der Schaltfläche „>“ der Zugriff auf diese Gruppe beschränkt. Klicken Sie abschließend auf „Einstellungen überprüfen und Gruppen zählen“, um die Anzahl der für die Anmeldung gültigen Gruppen anzuzeigen.
Sie haben nun die Möglichkeit erteilt, sich beim Nextcloud-Server für die in den vorherigen Schritten ausgewählten LDAP- oder Active Directory-Gruppen anzumelden. Klicken Sie auf das Profilbild Ihres Administratorbenutzers und wählen Sie „Abmelden“. Wenn Sie zur erneuten Anmeldung nach einem Benutzernamen und einem Kennwort gefragt werden, testen Sie die Anmeldefunktion für einen der Benutzer, denen Sie Zugriff gewährt haben. Wenn sich der Benutzer nicht anmelden kann, besuchen Sie den Abschnitt „Benutzer“ und „Gruppen“ dieser Seite erneut, um Ihre Kriterien zu überprüfen und den Fehler zu beheben.
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.
Wenn die App aktiviert wurde, können Sie externen Speicher hinzufügen, indem Sie zu „Verwaltungseinstellungen“ gehen und auf das Modul „Externer Speicher“ klicken. Von dieser Seite aus können Sie eine Verbindung zu externem Speicher herstellen, indem Sie den Speichertyp aus dem Dropdown-Menü auswählen und die Konfigurationsdetails eingeben.
Um eine SMB-Freigabe hinzuzufügen, wählen Sie die Option „SMB/CIFS“ aus der Liste und füllen Sie die Konfigurationsdetails wie folgt aus:
- 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: Shau
- Aktivieren Sie dieses Kontrollkästchen, wenn Benutzer versteckte Dateien (die mit dem Zeichen „.“ beginnen) anzeigen können sollen.
- Dateisystem mit Groß-/Kleinschreibung: Shau
- Überprüfen Sie den ACL-Zugriff beim Auflisten von Dateien: Shau
- 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: Shau
- 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.
Wenn Sie möchten, dass Benutzer ihren eigenen externen Speicher mounten können, klicken Sie auf das Häkchen unter dem Abschnitt zur Speichermountung auf der Seite. Wenn Sie diese Option aktivieren, können Sie zusätzlich die Speichertypen einschränken, die für die Selbstmountung verfügbar sind.
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.
Auf dieser Seite können Benutzer ihren Benutzernamen und ihr Passwort eingeben und auf die Schaltfläche mit dem Häkchen klicken, um die SMB-Freigabe zum Speichern und Abrufen von Dateien zu entsperren.
Sobald der Benutzer seine Anmeldeinformationen eingegeben hat, kann auf die Freigabe zugegriffen werden, indem er oben im Nextcloud-Site-Menü auf das Ordnersymbol klickt und die Liste der Benutzerordner und -dateien durchsucht.
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.
Verwenden Sie die „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
Durch das Hinzufügen dieser beiden Zeilen kann das System APCu als Cache verwenden und die Cachegröße auf 128 Megabyte anstelle des Standardwerts von 32 einstellen. Wenn Sie fertig sind, drücken Sie Strg + „O“ und Strg + „X“, um die Datei zu speichern und Nano zu beenden.
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.
Wir haben PHP für die Verwendung von APCu aktiviert, aber jetzt müssen wir Nextcloud anweisen, es zu nutzen.
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.
Sobald die PHP-Konfigurationsdatei gespeichert wurde, verwenden Sie „sudo systemctl restart apache2“ um den Apache-Webserver neu zu starten und Ihre Änderungen anzuwenden.
Wenn Sie alle Schritte befolgt haben, um APCu für die lokale Speicherzwischenspeicherung richtig einzurichten, sollte die Leistung Ihres Nextcloud-Servers erheblich gesteigert sein! Gehen wir noch einen Schritt weiter und konfigurieren Redis für noch mehr Speicherzwischenspeicherung.
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“ und „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“.
Fügen Sie am Ende der Nextcloud PHP-Konfigurationsdatei vor der abschließenden Klammer „);“ diese Zeilen hinzu und achten Sie dabei genau auf Leerzeichen und Kommas:
'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:
Bevor Sie den Apache-Webserver und Redis neu starten, um die Änderungen anzuwenden, verwenden Sie „sudo usermod -a -G redis www-data“ hinzufügen „www-Daten“ Benutzer zum „redis“ – Übersetzung für "redis" im Deutsch Gruppe, die dem Webserver Zugriff auf den Redis Unix-Socket gewährt. Geben Sie abschließend „sudo systemctl restart apache2 && sudo systemctl restart redis-server“ in die Konsole und drücken Sie die Eingabetaste, um die Änderungen anzuwenden und die betroffenen Dienste neu zu starten.
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:
Der eigentliche Star der Datenspeichershow ist Andrews HPE ProLiant MicroServer Gen10 Plus, der vier WD Red Plus 4 TB-Festplatten enthält und über USB 3.2 Gen2 (10 Gbps) und Gen1 (5 Gbps) willkürlich mit einer Micron SSD zum Booten von TrueNAS, einem WD Red Pro 14 TB-Laufwerk als Backup-Speicher und zwei weiteren Samsung 860 EVO SSDs zum Caching verbunden ist. Um es klar zu sagen: Andrew empfiehlt das nicht, sondern reizt gerne die Möglichkeiten seiner Hardware aus. Eine Zuverlässigkeit von XNUMX % ist hier unter keinen Umständen garantiert, Leute.
Zu den weiteren bemerkenswerten Geräten gehören ein umfunktionierter Dell OptiPlex 7040 SFF PC, auf dem pfSense läuft, um Routing-Dienste für die verschiedenen Subnetze seines Homelabs bereitzustellen, und das Netgear CM1200-Modem, das aus irgendeinem Grund überraschenderweise Link Aggregation unterstützt. Haben wir erwähnt, dass jede Serverdatenverbindung, ob 1 oder 10 GB/s, fehlerredundant ist? Dies würde es Andrews Speichersystem ermöglichen, unter bestimmten Bedingungen theoretisch Daten mit einer Geschwindigkeit von 20 GB/s bidirektional auszutauschen, wobei mehrere Verbindungen gleichzeitig erfolgen. Wenn er nur die richtigen Laufwerke hätte, um auch nur annähernd an diese Geschwindigkeit heranzukommen!
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/
Beteiligen Sie sich an StorageReview
Newsletter | YouTube | Podcast iTunes/Spotify | Instagram | Twitter | TikTok | RSS Feed