In einer Zeit, in der immer mehr Daten digital gespeichert werden, ist es wichtiger denn je, sich Gedanken über die Sicherheit und den Schutz der eigenen Daten zu machen. Cloudspeicherung bietet eine bequeme Möglichkeit, Daten zu sichern und von überall aus darauf zuzugreifen. Doch viele Nutzer sind besorgt über die Sicherheit ihrer Daten in der Cloud und suchen nach einer Alternative, die ihnen mehr Kontrolle über ihre Daten gibt. Die Nextcloud ist eine solche Alternative, die Sicherheit, Flexibilität und Datenschutz bietet.
Was ist Nextcloud?
Nextcloud ist eine Open-Source-Plattform für die Speicherung und Synchronisierung von Daten. Sie wurde im Jahr 2016 als Abspaltung von OwnCloud ins Leben gerufen und wird von einer Community von Entwicklern und Benutzern ständig weiterentwickelt. Nextcloud bietet ähnliche Funktionen wie andere Cloudspeicherlösungen, darunter die Möglichkeit, Dateien hochzuladen, zu teilen und zu synchronisieren, Kalender und Kontakte zu verwalten und vieles mehr.
Sicherheit und Datenschutz
Einer der Hauptvorteile von Nextcloud ist die Sicherheit, die sie bietet. Da Nextcloud eine Self-Hosted-Lösung ist, haben Benutzer die volle Kontrolle über ihre Daten und können selbst entscheiden, wo sie gespeichert werden. Dies bedeutet, dass Benutzer ihre Daten auf ihren eigenen Servern speichern können, anstatt sie einem Drittanbieter anvertrauen zu müssen. Darüber hinaus bietet Nextcloud Verschlüsselungsoptionen, um die Sicherheit der Daten zu gewährleisten.
Nextcloud legt großen Wert auf Datenschutz. Die Plattform bietet Funktionen wie End-to-End-Verschlüsselung, um sicherzustellen, dass sowohl die Datenübertragung als auch die Speicherung der Daten sicher sind. Nextcloud ermöglicht es Benutzern auch, ihre eigenen Nutzungsbedingungen festzulegen und zu kontrollieren, wer Zugriff auf ihre Daten hat. Dies gibt Benutzern ein hohes Maß an Kontrolle und Privatsphäre über ihre Daten.
Flexibilität und Integration
Nextcloud zeichnet sich auch durch ihre Flexibilität aus. Die Plattform bietet eine Vielzahl von Apps und Erweiterungen, die es Benutzern ermöglichen, die Funktionalität von Nextcloud nach ihren individuellen Bedürfnissen anzupassen. Dies reicht von der Integration mit anderen Diensten und Anwendungen bis hin zur Anpassung des Benutzeroberfläche. Benutzer können auch Nextcloud mit verschiedenen Plugins erweitern, um zusätzliche Funktionen hinzuzufügen.
Nextcloud ist auch in der Lage, mit verschiedenen Geräten und Betriebssystemen zu interagieren. Benutzer können Nextcloud auf verschiedenen Geräten wie Desktop-Computern, Tablets und Smartphones verwenden und von überall aus auf ihre Daten zugreifen. Die Plattform bietet auch Unterstützung für verschiedene Betriebssysteme wie Windows, macOS und Linux.
Fazit
Die Nextcloud ist eine sichere und flexible Alternative zur Cloudspeicherung, die Benutzern mehr Kontrolle über ihre Daten bietet. Mit Funktionen wie Verschlüsselung, Datenschutz und flexiblen Erweiterungsmöglichkeiten ist Nextcloud die ideale Lösung für alle, die ihre Daten sicher und privat speichern möchten. Nextcloud ist eine Open-Source-Lösung, die von einer großen Community von Entwicklern und Benutzern unterstützt wird, so dass Benutzer sicher sein können, dass ihre Daten in guten Händen sind. Wenn man auf der Suche nach einer sicheren und flexiblen Cloudspeicherlösung ist, ist Nextcloud die richtige Wahl.
Wer meiner Artikelreihe „Nextcloud auf dem RasPi“ gefolgt ist und alle Schritte nacheinander umgesetzt hat, sollte erfolgreich eine Nextcloud 29 auf dem Raspberry Pi installiert haben, die über ein SSL-Zertifikat von Let’s Encrypt aus dem Internet erreichbar ist. Obwohl inzwischen Version 30 am 14.09.2024 veröffentlicht wurde, wird diese noch nicht im Stable-Zweig bereitgestellt. Daher werde ich nun auf die Behebung der verbleibenden Fehler in Nextcloud 29 eingehen.
Es fällt sicherlich auf, dass im installierten System in den Verwaltungseinstellungen zahlreiche Fehlermeldungen aufgelaufen sind. Diese müssen nun behoben und beseitigt werden.
Ihr Datenverzeichnis und Ihre Dateien sind wahrscheinlich vom Internet aus erreichbar. Die .htaccess-Datei funktioniert nicht. Es wird dringend empfohlen, Ihren Webserver dahingehend zu konfigurieren, dass das Datenverzeichnis nicht mehr vom Internet aus erreichbar ist oder dass Sie es aus dem Document-Root-Verzeichnis des Webservers herausverschieben.
Das PHP-Speicherlimit liegt unterhalb des empfohlenen Wertes von 512 MB.
Die PHP-Konfigurationsoption „output_buffering“ muss deaktiviert sein
Ihr Webserver ist nicht ordnungsgemäß für die Auflösung von „/ocm-provider/“ eingerichtet. Dies hängt höchstwahrscheinlich mit einer Webserver-Konfiguration zusammen, die nicht dahingehend aktualisiert wurde, diesen Ordner direkt zu auszuliefern. Bitte vergleichen Sie Ihre Konfiguration mit den mitgelieferten Rewrite-Regeln in „.htaccess“ für Apache oder den in der Nginx-Dokumentation mitgelieferten. Auf Nginx sind das typischerweise die Zeilen, die mit „location ~“ beginnen und ein Update benötigen. Weitere Informationen finden Sie in der Dokumentation .
Ihr Webserver ist nicht ordnungsgemäß für die Auflösung von .well-known-URLs eingerichtet. Fehler bei: /.well-known/webfinger Weitere Informationen finden Sie in der Dokumentation .
4 Fehler in den Protokollen seit 20. September 2024, 10:15:53
Der Server hat keine konfigurierte Startzeit für das Wartungsfenster. Das bedeutet, dass ressourcenintensive tägliche Hintergrundaufgaben auch während Ihrer Hauptnutzungszeit ausgeführt werden. Wir empfehlen, das Wartungsfenster auf eine Zeit mit geringer Nutzung festzulegen, damit Benutzer weniger von der Belastung durch diese umfangreichen Aufgaben beeinträchtigt werden. Weitere Informationen finden Sie in der Dokumentation .
Einige Header sind in Ihrer Instanz nicht richtig eingestellt – Der Strict-Transport-Security-HTTP-Header ist nicht gesetzt (er sollte mindestens 15552000 Sekunden betragen). Für erhöhte Sicherheit wird empfohlen, HSTS zu aktivieren. Weitere Informationen finden Sie in der Dokumentation .
In der Datenbank fehlen einige Indizes. Auf Grund der Tatsache, dass das Hinzufügen von Indizes in großen Tabellen einige Zeit in Anspruch nehmen kann, wurden diese nicht automatisch erzeugt. Durch das Ausführen von „occ db:add-missing-indices“ können die fehlenden Indizes manuell hinzugefügt werden, während die Instanz weiter läuft. Nachdem die Indizes hinzugefügt wurden, sind Anfragen auf die Tabellen normalerweise schneller. Fehlende optionaler Index „mail_messages_strucanalyz_idx“ in der Tabelle „mail_messages“. Fehlende optionaler Index „mail_class_creat_idx“ in der Tabelle „mail_classifiers“. Fehlende optionaler Index „mail_acc_prov_idx“ in der Tabelle „mail_accounts“. Fehlende optionaler Index „mail_alias_accid_idx“ in der Tabelle „mail_aliases“. Fehlende optionaler Index „systag_by_objectid“ in der Tabelle „systemtag_object_mapping“. Fehlende optionaler Index „mail_messages_mb_id_uid_uidx“ in der Tabelle „mail_messages“. Fehlende optionaler Index „mail_smime_certs_uid_email_idx“ in der Tabelle „mail_smime_certificates“. Fehlende optionaler Index „mail_trusted_senders_idx“ in der Tabelle „mail_trusted_senders“. Fehlende optionaler Index „mail_coll_idx“ in der Tabelle „mail_coll_addresses“.
Das PHP OPcache-Modul ist nicht ordnungsgemäß konfiguriert. Der „OPcache interned strings“-Puffer ist fast voll. Um sicherzustellen, dass sich wiederholende Strings effektiv zwischengespeichert werden können, wird empfohlen, „opcache.interned_strings_buffer“ mit einem Wert größer als „8“ in der PHP-Konfiguration zu setzen.. Weitere Informationen finden Sie in der Dokumentation .
Die Datenbank wird für transaktionale Dateisperren verwendet. Um die Leistung zu verbessern, konfigurieren Sie bitte Memcache, falls verfügbar. Weitere Informationen finden Sie in der Dokumentation .
Es wurde kein Speichercache konfiguriert. Um die Leistung zu verbessern, konfigurieren Sie bitte Memcache, sofern verfügbar. Weitere Informationen finden Sie in der Dokumentation .
Für Ihre Installation ist keine Standard-Telefonregion festgelegt. Dies ist erforderlich, um Telefonnummern in den Profileinstellungen ohne Ländervorwahl zu überprüfen. Um Nummern ohne Ländervorwahl zuzulassen, fügen Sie bitte „default_phone_region“ mit dem entsprechenden ISO 3166-1-Code der Region zu Ihrer Konfigurationsdatei hinzu. Weitere Informationen finden Sie in der Dokumentation .
Sie haben Ihre E-Mail-Serverkonfiguration noch nicht festgelegt oder überprüft. Gehen Sie bitte zu den „Grundeinstellungen“, um diese festzulegen. Benutzen Sie anschließend den Button „E-Mail senden“ unterhalb des Formulars, um Ihre Einstellungen zu überprüfen. Weitere Informationen finden Sie in der Dokumentation .
Dieser Instanz fehlen einige empfohlene PHP-Module. Für eine verbesserte Leistung und bessere Kompatibilität wird dringend empfohlen, diese zu installieren: – gmp für WebAuthn passwortlose Anmeldung und SFTP-Speicher Weitere Informationen finden Sie in der Dokumentation .
Fehlerbeseitigung
Der erste Fehler in der Liste (… Datenverzeichnis und Ihre Dateien sind wahrscheinlich vom Internet aus erreichbar …) wird behoben, indem man die Konfigurationsdatei des Webservers mit
sucht. Hier wird „None“ durch „All“ ersetzt. Anschließend wird der Webserver neu gestartet und überprüft, ob die Fehlermeldung tatsächlich verschwunden ist. Diese Vorgehensweise wird nun bei jedem der zu beseitigenden Fehler wiederholt. Auf diese Weise lässt sich gut nachvollziehen, wie die Liste nach und nach abgebaut wird.
sudo service apache2 restart
Beim zweiten Fehler gilt es, das Memory Limit in der php.ini von 128MB auf 512MB anzuheben. Hierzu öffnet man diese mit
sudo nano /etc/php/8.2/apache2/php.ini
und ändert den Wert von
memory_limit = 128M
auf.
memory_limit = 512M
Anschließend wird der Webserver erneut gestartet.
sudo service apache2 restart
Eine weitere Fehlermeldung (… Einige Header sind in Ihrer Instanz nicht richtig eingestellt …) wird behoben, indem wir den Header HSTS aktivieren.
und entfernt das Rautezeichen vor der Zeile. Die Zeile wird also auskommentiert
Header always set Strict-Transport-Security "max-age=31536000"
und der Webserver neu gestartet.
sudo service apache2 restart
Danach wird ein weiterer Fehler (… E-Mail-Serverkonfiguration noch nicht festgelegt …) wie folgt behoben: Hierzu navigiert man in die Verwaltungseinstellungen → Verwaltung → Grundeinstellungen und ermöglicht Nextcloud, eMails zu senden. Dies ist wichtig, damit man bei einem vergessenen Passwort als Nutzer dieses zurücksetzen kann.
Diese Daten sind natürlich an die eigene E-Mail-Adresse anzupassen. Die meisten E-Mail-Anbieter geben hier entsprechende Anleitungen.
Die nächste Fehlermeldung (… keine Standard-Telefonregion festgelegt …) verschwindet, indem die Konfigurationsdatei der Nextcloud mit
um folgende Zeile am Ende der Auflistung erweitert wird.
'default_phone_region' => 'DE',
Die Fehlermeldung zum OPcache-Modul (… PHP OPcache-Modul ist nicht ordnungsgemäß konfiguriert …) lässt sich beseitigen, indem das Paket php-apcu installiert und die Erweiterung entsprechend konfiguriert wird.
Abschließend wird der Apache2 wieder neu gestartet.
sudo service apache2 restart
Die Problematik zum Thema (… konfigurieren Sie bitte Memcache …) lässt sich lösen, indem man einen Redis-Server installiert, konfiguriert und diesen einbindet. Dazu werden die Pakete redis-server und php-redis installiert.
Nach einem erneuten Neustart des Webservers sollte nun auch diese Fehlermeldung verschwunden sein.
sudo service apache2 restart
Nun wird noch dafür gesorgt, dass HTTPS bei einer Webserveranfrage erzwungen wird. Dazu wird das Apache2-Modul rewrite installiert
sudo a2enmod rewrite
und via
sudo nano /etc/apache2/sites-available/raspi.conf
ein weiteres Mal der VirtualHost aufgerufen und dieser Block unter der Zeile <VirtualHost *:80> eingefügt.
RewriteEngine On
RewriteCond %{HTTPS} !=on
RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
Wieder wird der Webserver gestartet.
sudo service apache2 restart
Die Fehlermeldung zu fehlenden Modulen (… fehlen einige empfohlene PHP-Module …) wird durch die Installation des Pakets php-gmp beseitigt.
sudo apt install php-gmp -y
Nach der Installation wird der Apache2 ein weiteres Mal neu gestartet.
sudo service apache2 restart
Ein anderer Fehler (… Server hat keine konfigurierte Startzeit für das Wartungsfenster …) lässt sich beheben, indem man die Nextcloud-Konfiguration mit
Um OCC-Befehle auszuführen, ist es notwendig, den Alternative PHP Cache (APC) für das Command Line Interface (CLI) zu aktivieren. Dies ist wichtig, um den nächsten Fehler zu beheben. Dazu wird die entsprechende Konfigurationsdatei geöffnet
sudo nano /etc/php/8.2/mods-available/apcu.ini
und folgender Eintrag
apc.enable_cli=1
ans Ende gesetzt und der Webserver neu gestartet.
sudo service apache2 restart
Jetzt kann die Fehlermeldung (… In der Datenbank fehlen einige Indizes …) behoben werden, nachdem das Verzeichnis /var/www/html/nextcloud/ zuvor betreten wurde.
cd /var/www/html/nextcloud/
Hier führt man den entsprechenden OCC-Befehl aus, der fehlende Indizes der Nextcloud-Datenbank hinzufügt.
sudo -u www-data php occ db:add-missing-indices
Abschließend wird die Log-Datei der Nextcloud gelöscht. Danach sollte sich ein grünes Häkchen mit dem Hinweis „Alle Überprüfungen bestanden“ zeigen.
Selbstverständlich ist es von entscheidender Bedeutung, dass die Nextcloud optimal funktioniert. Dieser Artikel soll dazu beitragen. Anfangs mag man durch die Vielzahl der Fehlermeldungen etwas überwältigt sein. Doch wenn alle Schritte nach und nach abgearbeitet werden, wird man am Ende mit dem grünen Häkchen belohnt. Ein regelmäßiger Blick in die Verwaltungseinstellungen gibt Aufschluss über den Fortschritt und erleichtert das Verständnis der durchgeführten Maßnahmen.
Tipp
Nach der Veröffentlichung des ersten Point Releases von Nextcloud 30 wird automatisch ein Upgrade auf diese Version vorgeschlagen. Es wird empfohlen, über den grafischen Updater auf die neuere Version umzusteigen.
Vorschau
Der nächste Artikel dieser Reihe wird sich damit befassen, das System mit „PHP-FPM“ weiter zu optimieren und die Ladezeiten zu verkürzen.
Im vorherigen Artikel habe ich beschrieben, wie man den Raspberry Pi und den Router konfiguriert, um auf die Nextcloud aus dem Internet zuzugreifen. Da die Verbindung derzeit unverschlüsselt ist, werde ich nun erläutern, wie man eine SSL-Verschlüsselung implementieren und erzwingen kann.
Installation
Zu Beginn installieren wir Certbot, um ein Let’s-Encrypt-Zertifikat zu erstellen.
sudo apt install python3-certbot-apache -y
Der Vorgang wird wie folgt gestartet. Dabei ist es wichtig, die korrekte DynDNS-Adresse (dnsHome.de) anzugeben. Zudem muss eine eMail-Adresse hinterlegt werden.
sudo certbot --apache
Nachdem das Zertifikat ausgestellt wurde, folgt die Konfiguration des VirtualHost. Diesen erstellt man mit dem folgenden Befehl und fügt den unten aufgeführten Block in die Datei /etc/apache2/sites-available/raspi.conf ein.
Dabei müssen die Pfade für das Zertifikat und der Servername an die eigene DynDNS angepasst werden.
Nun werden die nicht mehr benötigten Vorgaben der VirtualHosts deaktiviert, der neue VirtualHost aktiviert und das SSL-Modul des Apache2 eingeschaltet.
Anschließend wird der Webserver erneut neu gestartet.
sudo service apache2 restart
Regelmäßige Erneuerung des SSL-Zertifikats
Ein Let’s Encrypt-Zertifikat sollte monatlich erneuert werden, um sicherzustellen, dass die verschlüsselte Kommunikation auf Ihrer Website kontinuierlich geschützt ist. Die regelmäßige Erneuerung gewährleistet, dass das Zertifikat gültig bleibt und Ihre Websitebesucher vor potenziellen Sicherheitsrisiken wie Man-in-the-Middle-Angriffen geschützt werden.
Um die auf dem Raspberry Pi installierte Nextcloud nun von außen über das Internet zu erreichen, ist es nötig, eine Webadresse über die öffentliche IP-Adresse mit der, wie im Artikel „Nextcloud auf dem RasPi – Teil 3“ beschriebenen, internen festen IP-Adresse des Raspberry Pi zu verknüpfen. Hierbei greife ich auf einen DynDNS-Dienst zurück. Ich zeige im folgenden Beitrag die Vorgehensweise mit einem bestehenden Account von dnsHome.de.
Das alles realisiert man über ein sogenanntes Portforwarding (Portfreigabe). Hierzu weist man den Router an, Anfragen über alle benötigten Ports zur internen IP des Raspberry Pi durchzustellen. In meinem Fall sind das die Ports 443, 80, 5900, 5349 und 43434. Wie man das Ganze umsetzt, zeigt der Screenshot meiner FRITZ!Box. Diese Einstellungen sind die Grundvoraussetzungen für die Erreichbarkeit der Nextcloud aus dem Internet.
Ports
Port 443 – HTTPS
Port 80 – HTTP
Port 5900 – VNC (optional)
Port 5349 – Turn-Server (optional)
Port 43434 – SSH (optionales Beispiel)
Portfreigabe
Ermittlung der öffentlichen IP-Adresse
Über den Befehl
curl ifconfig.me
erhält man die öffentliche IP-Adresse, über die der Raspberry Pi nun aus dem Internet erreichbar ist. Ein anschließender Test sollte ungefähr so aussehen.
Nun wäre es einfach, diese IP-Adresse mit einer Domain zu verknüpfen. Die wenigsten Nutzer verfügen jedoch über eine feste öffentliche IP-Adresse. Aus diesem Grund greift man hier auf einen DynDNS-Anbieter zurück, da sich aufgrund von Zwangstrennungen durch den Provider die öffentliche IP-Adresse bis zu einmal am Tag ändern kann.
Damit ein DynDNS-Anbieter eine Webadresse dauerhaft mit dem Router verknüpfen kann, muss dieser regelmäßig Informationen über die aktuelle öffentliche IP-Adresse erhalten. Dies kann über eine FRITZ!Box realisiert werden oder durch die Verwendung des ddclient, der auf dem Raspberry Pi installiert wird und so den Kontakt zum DynDNS-Anbieter aufrechterhält. Bei einer Änderung der IP wird diese wieder der DynDNS-Adresse zugewiesen.
Als DynDNS-Anbieter empfehle ich den Dienst dnsHome.de (ein Account ist vorher einzurichten).
Installation ddclient
Zuerst wird ddclient auf dem Raspberry Pi installiert.
sudo apt install ddclient -y
Während der Installation möchte der Client einen DynDNS-Anbieter einrichten. Da dnsHome.de dem ddclient nicht bekannt ist, empfehle ich die Einrichtung einfach durchzuklicken. Im Anschluss öffnet man die Konfigurationsdatei von ddclient
sudo nano /etc/ddclient.conf
und ersetzt den gesamten Inhalt mit folgendem Inhalt.
# Configuration file for ddclient generated by debconf
#
# /etc/ddclient.conf
protocol=dyndns2
ssl=yes
daemon=3600
use=web, web=ip.dnshome.de
server=www.dnshome.de
login=meinecloud.dnshome.de
password=geheim
datenboxx.dnshome.de
Bei „login“ und „password“ sollten natürlich die eigenen Zugangsdaten eingetragen werden, die zuvor bei dnsHome.de vergeben wurden.
Start ddclient
Sobald alles konfiguriert ist, kann der Client gestartet werden.
sudo ddclient start
Um sicherzustellen, dass die Nextcloud einen Login-Bildschirm über die DynDNS-Adresse bereitstellt, ist folgender Eintrag in der Datei /var/www/html/nextcloud/config/config.php erforderlich.
Der Sovereign Cloud Stack Release 7 (SCS R7) kommt mit aktuellem OpenStack (24.01 Caracal) und unterstützt Ubuntu 22.04 LTS, Ubuntu 24.04 LTS, Debian 12 und CentOS Stream 9.
Das Zuweisen einer statischen IP-Adresse an einen Raspberry Pi ist sinnvoll, um sicherzustellen, dass das Gerät immer unter derselben Adresse im Netzwerk erreichbar ist. Dies ist besonders nützlich für bestimmte Anwendungen wie z.B. Nextcloud, für die eine konstante IP-Adresse wichtig ist.
Festlegen einer statischen internen IP-Adresse
Eine statische lokale IP setzt man wie folgt. Zuerst installiert man dhcpcd.
sudo apt install dhcpcd -y
und trägt dann folgenden Block mit
sudo nano /etc/dhcpcd.conf
am Ende der /etc/dhcpcd.conf ein. Hierbei habe ich mich für die interne IP 192.168.178.136. Dies ist natürlich abhängig vom Adressbereich des eigenen Netzwerks. Auch die IP des Routers ist entsprechend anzupassen.
Um später alle Vorzüge, wie Nextcloud Office, von Nextcloud Hub nutzen zu können, empfehle ich den Document Server Collabora Online – Built-in CODE Server (ARM64) auf dem Raspberry Pi via Terminal beizeiten zu installieren, da es über die grafische Oberfläche i.d.R. zu einem Timeout kommt. Wie das Ganze funktioniert erläutere ich in diesem Artikel.
Nextcloud Office
Nextcloud Office ist eine in Nextcloud integrierte Office-Lösung, die es ermöglicht, Dokumente, Tabellen und Präsentationen direkt im Browser zu erstellen und gemeinsam zu bearbeiten. Basierend auf Open-Source-Technologien wie Collabora Online unterstützt es gängige Dateiformate wie DOCX und ODT. Die Echtzeit-Zusammenarbeit und vollständige Integration in die Nextcloud-Plattform ermöglicht eine sichere und effiziente Teamarbeit, bei der alle Daten unter eigener Kontrolle bleiben. Ideal für Unternehmen, die Wert auf Datenschutz und Datensouveränität legen.
Wir leben in einer Zeit, in der der Begriff “Microsoft Linux” keine verwunderten Blicke mehr hervorruft. Der Technologieriese aus Redmond, der einst Linux als “Krebs” bezeichnete, nutzt es nun als Grundlage für seine milliardenschwere Azure Cloud-Plattform. Wie die meisten wissen, gehört LinkedIn, das weltweit führende soziale Netzwerk für Berufstätige, seit Dezember 2016 vollständig zu Microsoft. […]
Vor einiger Zeit habe ich beschlossen eine Serie von Artikeln zum Thema Nextcloud auf dem RasPi auf meinem Blog intux.de zu veröffentlichen. Ziel ist es, eine eigene Cloud zu erstellen, die produktiv nutzbar ist. Diese soll später über das Internet erreichbar sein.
Was benötigt man dafür?
Um langfristig sicherzustellen, dass alles funktioniert, empfehle ich, die neueste Hardware zu verwenden, wie den Raspberry Pi 5. Allerdings würde hier auch ein Einplatinencomputer der vorherigen Generation mit 4GB RAM ausreichen.
Hier eine Auflistung der für das Projekt eingesetzten Komponenten:
Raspberry Pi 5
offizielles Gehäuse für den Raspberry PI 5
offizielles Netzteil für den Raspberry PI 5 (8GB RAM)
32GB MicroSD (SanDisk Extreme microSD UHS-I)
Vorbereitung
Diese kleine Anleitung soll helfen, das Projekt Nextcloud auf dem Raspberry Pi nicht nur umzusetzen, sondern auch besser zu verstehen. Der Schwerpunkt liegt dabei auf der Software und der Konfiguration. So können später auftretende Fehler besser lokalisiert und abgestellt werden.
Der Raspberry Pi wird als LAMP-Server (Linux, Apache, MariaDB, PHP) dienen, die Nextcloud zu betreiben. Wie man diese vier Bausteine aufsetzt, zeige ich im folgenden Abschnitt.
Installation
Der erste Baustein der installiert wird, ist Linux. Hierbei handelt es sich um das Betriebssystem Raspberry Pi OS. Dieses spielt man ganz einfach mit dem Raspberry Pi Imager auf die MicroSD.
Hier wählt man (siehe Screenshot) das zu installierende Betriebssystem aus. In diesem Fall ist es das Raspberry Pi OS (64-bit). Im Imager können vorab einige Einstellungen vorgenommen werden. Ich werde in dieser Anleitung einfache Bezeichnungen und Passwörter verwenden. Diese können während der Installation entsprechend frei angepasst werden!
Über das Zahnrad des Imagers lässt sich das Raspberry Pi OS vorkonfigurieren. Hier trägt man für den Anfang die entsprechenden Daten ein:
Danach wählt man am PC/Notebook die MicroSD aus, auf die geschrieben werden soll.
Zum Schluss werden die Daten auf die MicroSD geflasht. Ist dies erledigt, kann die Karte ausgeworfen und in den vorbereiteten Raspbberry Pi (Kühlkörper, Gehäuse, Lüfter) geschoben werden. Dieser wird dann via LAN-Kabel mit dem heimischen Router verbunden und über das Netzteil mit Strom versorgt.
Natürlich könnte der RasPi auch via WLAN mit dem Router kommunizieren. Hiervon rate ich jedoch ab, da über die Funkverbindung oft nicht die volle Geschwindigkeit einer Ethernet-Verbindung genutzt werden kann. Weiterhin kann es zu Verbindungsabbrüchen bzw. -lücken kommen.
Nachdem der Raspberry Pi mit Strom versorgt wird, startet dieser. Ist der Raspberry Pi hochgefahren, kann dieser via arp-scan vom PC/Notebook im Netzwerk lokalisiert werden. In meinem Fall hat er die IP-Adresse 192.168.178.136.
sudo apt install arp-scan
sudo arp-scan -l
Zugriff auf den Pi erhalte ich nun via zuvor im Imager aktiviertem SSH-Zugang.
ssh Benutzer@IP-Adresse
Ist man eingeloggt, empfiehlt es sich die Lokalisierung über raspi-config auf deutsch (siehe Screenshots) umzustellen. Damit wird Datum und Uhrzeit des Servers an die europäische Zeitzone (Berlin) angepasst.
sudo raspi-config
Nun wählt man de_DE.UTF-8 UTF-8 aus und deaktiviert en_GB.UTF-8 UTF-8. Die deutsche Lokalisierung wird abschließend noch bestätigt.
Danach wird der Raspberry Pi mit
sudo reboot
neu gestartet. Ist dies geschehen, empfiehlt es sich, das OS zu aktualisieren.
sudo apt update && sudo apt upgrade -y
Danach werden die noch fehlenden 3 Bausteine (Apache 2, MariaDB und PHP) nachinstalliert.
Nachdem die Installation durchgelaufen ist, kann man zum Testen den Webserver Apache via Browser über die Web-Adresse http://ip erreichen.
Anschließend wird die von der Nextcloud benötigte Datenbank installiert. Zuerst wird jedoch die mysql_secure_installation durchgeführt. Ich empfehle hier das Ganze gemäß meinen Empfehlungen (Enter, n, y, y, y, y) zu durchlaufen. Hierbei wird für den MariaDB-Server kein separates Root-Passwort vergeben, der anonyme User wird gelöscht, die Remote-Root-Anmeldung wird verboten, die Test-DB wird gelöscht und die Änderungen ausgeführt.
sudo mysql_secure_installation
If you’ve just installed MariaDB, and you haven’t set the root password yet, the password will be blank, so you should just press enter here. Enter
Set root password? [Y/n] n Remove anonymous users? [Y/n] y Disallow root login remotely? [Y/n] y Remove test database and access to it? [Y/n] y Reload privilege tables now? [Y/n] y
Nachdem dieser Schritt durchgeführt wurde, kann über folgenden Befehl die Datenbank erstellt werden.
sudo mysql -u root -p
In meinem Fall heißen die Datenbank und der Benutzer „nextcloud“. Die Datenbank liegt dann auf dem „localhost“.
> CREATE DATABASE nextcloud;
> CREATE USER 'nextcloud'@'localhost' IDENTIFIED BY 'geheim';
> GRANT ALL ON nextcloud.* TO 'nextcloud'@'localhost';
> FLUSH PRIVILEGES;
> \q
Im Nachgang wechselt man in das Verzeichnis /var/www/html, wo die Nextcloud installiert wird. Die letzte Version wird vom Entwickler herunter geladen und entpackt. Danach wird die nicht mehr benötigte Zip-Datei wieder gelöscht und die Rechte der Dateien an den Benutzer www-data übertragen.
Nun ist die Nextcloud über http://ip/nextcloud (http://102.168.178.136/nextcloud) erreichbar. Man legt den Admin fest und trägt die Daten der zuvor erstellten MariaDB-Datenbank in die Eingabemaske ein. Hat das alles geklappt, dann dauert die Einrichtung ein paar Minuten und die Nextcloud steht bereit zum ersten Login des neuen Administrators.
Vorschau
Im nächsten Teil zeige ich, wie man die App Collabora Online – Built-in CODE Server (ARM64) in der Nextcloud via Terminal installiert.
Die Übernahme von VMware durch Broadcom schlägt in der IT-Welt hohe Wellen. Die Produkt- und Lizenzstruktur von VMware hat sich seit der Übernahme durch Broadcom stark verändert. Preiserhöhungen sind die Konsequenz. Viele Unternehmen fragen sich: Wie geht es weiter mit der langfristigen Lizenzierung unserer Plattform? Was kommt mit dem Abo-Modell in puncto Kosten auf uns zu? Und wie steht es um die Zukunftssicherheit bei der Zusammenarbeit mit Broadcom?
Die Open Source Business Alliance (OSBA) hat in einem offenen Brief an die Mitglieder des IT-Planungsrates Bedenken gegen Cloud-Verträge mit Delos, einer in Deutschland betriebenen Variante der…
Das Buch „Nextcloud Schnelleinstieg“ von Herbert Hertramph ist in der 1. Auflage 2023 im mitp-Verlag erschienen. Es trägt den Untertitel „Der leichte Weg zur eigenen Cloud – Daten sicher speichern und teilen“. Das Buch hat insgesamt 224 Seiten und ist für Nutzer konzipiert, die sich für die Verwendung von Nextcloud entschieden haben oder dies planen. Es bietet einen umfassenden Einblick in die Funktionalitäten und die Handhabung dieser besonderen Open-Source-Cloud.
Dieses Buch geht weniger auf Installationsmöglichkeiten der Nextcloud ein, gibt aber wertvolle Tipps, wie der Nutzer an eine eigene Nextcloud gelangt, ob als selbst installiertes Filesharing-System auf einem Einplatinencomputer, wie dem Raspberry Pi, einem angemieteten vServer oder als gemanagte Cloud bei einem Nextcloud-Spezialisten.
In seinem Buch konzentriert sich der Autor ausschließlich auf die Benutzung der Nextcloud. Er erklärt den Aufbau und die Funktionen auf eine klare und verständliche Art. Der Einsatz vieler Grafiken und Screenshots unterstützt diese Erklärungen und macht sie leicht nachvollziehbar.
Im Buch von Herbert Hertramph wird keine spezifische Nextcloud-Version genannt, was aufgrund der häufigen Veröffentlichung neuer Hauptversionen des Open-Source-Projekts in etwa alle sechs Monate auch kaum möglich ist.
Herbert Hertramph zeigt anschaulich die vielfältigen Möglichkeiten, die sich durch die Anwendungen Dateien zur Dateiverwaltung, Kalender und Kontakte ergeben. Er erläutert, wie Daten einfach geteilt werden können und wie kollaboratives Arbeiten in der Cloud funktioniert. Zudem werden spannende Apps wie Aufgaben und Deck genauer betrachtet. Deck ist ein nützliches Kanban System zur Planung und Umsetzung eigener Projekte. Mail und Talk werden ebenfalls ausführlich erklärt: Mail ist ein in die Cloud integrierter eMail-Client und Talk eine eigenständige Anwendung für Videokonferenzen.
Außerdem wird detailliert besprochen, wie arbeitserleichternde Clients für PC und Mobiltelefone genutzt werden können und wie Daten, Kontakte und Kalender mit diesen Geräten synchronisiert werden können.
Nextcloud ist ein hochwertiges, ausgereiftes und kostenfreies System, das in zahlreichen Unternehmen und Bildungseinrichtungen eingesetzt wird. Es wurde in Deutschland entwickelt, ist Open Source und bietet eine transparente Plattform. Anders als herkömmliche Cloud-Lösungen umfasst Nextcloud neben den Grundfunktionen wie Filesharing auch einen E-Mail-Client, Video-Konferenzmöglichkeiten und die Integration eines Online-Office, was es zu einem umfassenden Enterprise-Produkt macht.
Das Buch gliedert sich in folgende Kapitel:
Die Grundlagen
Anmeldung und Rundgang
Dateimanagement
Einstellungssache: Nextcloud anpassen
Geteilte Cloud ist doppelte Cloud: (Mit-)Benutzer einrichten
Terminmanagement: Vom Kalender bis zur Buchungsverwaltung
Ich kann dieses Buch jedem empfehlen, der bereits über die Verwendung von Nextcloud nachdenkt oder bereits ein solches System nutzt. Selbst erfahrene Nutzer werden wahrscheinlich noch nützliche Hinweise darin finden. Insgesamt bin ich der Meinung, dass es sich lohnt, das Buch anzuschaffen.
Willkommen in der Welt von Linux, wo Innovation keine Grenzen kennt. Entdeckt das ungenutzte Potenzial von Linux durch seine vielfältigen Merkmale, Anwendungen und Vorteile. Von Servern bis hin zu Desktops, eingebetteten Systemen und Cloud-Computing steht Linux für Vielseitigkeit und Zuverlässigkeit. Nach diesem Video kennt Ihr die vielen Einsatzbereiche von Linux und seine Vorteile. Erfahrt, warum Linux das bevorzugte Betriebssystem für Millionen von Menschen weltweit ist. Viel Spaß!
Willkommen in der Welt von Linux, wo Innovation keine Grenzen kennt. Entdeckt das ungenutzte Potenzial von Linux durch seine vielfältigen Merkmale, Anwendungen und Vorteile. Von Servern bis hin zu Desktops, eingebetteten Systemen und Cloud-Computing steht Linux für Vielseitigkeit und Zuverlässigkeit. Nach diesem Video kennt Ihr die vielen Einsatzbereiche von Linux und seine Vorteile. Erfahrt, warum Linux das bevorzugte Betriebssystem für Millionen von Menschen weltweit ist. Viel Spaß!
Vor über vier Jahren hatte ich mich schon einmal mit dieser Thematik im Artikel „TURN-Server für Nextcloud Talk“ auseinandergesetzt. Über die Jahre hinweg hat sich jedoch einiges geändert und ich konnte mein Wissen ausbauen. Aus diesem Grund möchte ich nun meine aktuellsten Erkenntnisse noch einmal zusammenhängend präsentieren.
Installation
Ein TURN-Server wird von Nextcloud Talk benötigt, um Videokonferenzen zu ermöglichen. Der TURN-Server bringt die Teilnehmer, welche sich in verschiedenen Netzwerken befinden, zusammen. Nur so ist eine reibungslose Verbindung unter den Teilnehmern in Nextcloud Talk möglich.
Wer bisher meinen Anleitungen zur Installation von Nextcloud auf dem Raspberry Pi gefolgt ist, kann nun die eigene Cloud für Videokonferenzen fit machen. Zu bedenken gilt aber, dass ein eigener TURN-Server nur bis maximal 6 Teilnehmer Sinn macht. Wer Konferenzen mit mehr Teilnehmern plant, muss zusätzlich einen Signaling-Server integrieren.
Nun zur Installation des TURN-Servers. Zuerst installiert man den Server mit
sudo apt install coturn
und kommentiert folgende Zeile, wie nachfolgend zu sehen in /etc/default/coturn aus.
sudo nano /etc/default/coturn
Dabei wird der Server im System aktiviert.
#
# Uncomment it if you want to have the turnserver running as
# an automatic system service daemon
#
TURNSERVER_ENABLED=1
Nun legt man die Konfigurationsdatei zum TURN-Server mit folgendem Inhalt an.
Hier werden u.a. der Port und das Passwort des Servers sowie die Domain der Cloud eingetragen. Natürlich muss hier noch der Port im Router freigegeben werden. Ein starkes Passwort wird nach belieben vergeben.
Hierbei kann das Terminal hilfreich sein. Der folgende Befehl generiert z.B. ein Passwort mit 24 Zeichen.
gpg --gen-random --armor 1 24
Jetzt wird der Server in den Verwaltungseinstellungen als STUN- und TURN-Server inkl. Listening-Port sowie Passwort eingetragen.
Bei meinen ersten Versuchen auf dem Raspberry Pi fiel auf, dass der Service des TURN-Servers schneller startet als das gesamte System, was einen Betrieb unmöglich machte. Diese Problematik konnte ich wie im Artikel „coTurn zeitverzögert auf Raspberry Pi starten“ beschrieben, lösen. Leider überstand aber dieser Eingriff kein Systemupgrade. Durch einen sehr hilfreichen Kommentar von Matthias, kann ich nun eine bessere Lösung aufzeigen.
Es wird mit
sudo systemctl edit coturn.service
der Service des Servers editiert. Folgender Eintrag wird zwischen die Kommentare gesetzt:
### Editing /etc/systemd/system/coturn.service.d/override.conf
### Anything between here and the comment below will become the new contents of the file
[Service]
ExecStartPre=/bin/sleep 30
### Lines below this comment will be discarded
### /lib/systemd/system/coturn.service
Dies ermöglicht den TURN-Server (auch nach einem Upgrade) mit einer Verzögerung von 30 Sekunden zu starten.
Zum Schluss wird der Service neu gestartet.
sudo service coturn restart
Ein Check zeigt, ob der TURN-Server funktioniert. Hierzu klickt man auf das Symbol neben dem Papierkorb in der Rubrik TURN-Server der Nextcloud. Wenn alles perfekt läuft ist, wird im Screenshot, ein grünes Häkchen sichtbar.
Seit Nextcloud Hub 8 (29.0.0) ist ChatGPT nicht mehr über den Picker der Nextcloud zu erreichen. Dieser Umstand kann Nerven kosten, wenn OpenAI’s KI-Dienst hin und wieder genutzt wird und man plötzlich feststellt, dass dieser nicht mehr funktioniert. So ging es mir, als ich den in die Nextcloud integrierten KI-Assistenten einem kleinen Publikum vorstellen wollte. Da das neueste Release 29.0.0 noch recht frisch ist, findet man derzeit wenig Hinweise, wie man ChatGPT weiter nutzen kann.
Einrichtung
Dies hat mich nun dazu bewogen einen kleinen Artikel hierzu zu schreiben. Grundvoraussetzung ist jedoch ein Account beim US-amerikanischen Softwareunternehmen OpenAI bei dem ein API-Key erstellt wird.
Des weiteren müssen in der Nextcloud die Apps OpenAI and LocalAI integration und Nextcloud Assistant hinzugefügt und aktiviert werden.
Im Anschluss wird der API-Key, wie im Screenshot zu sehen ist, in der App OpenAI and LocalAI integration hinterlegt.
Nun kann man über den neuen Nextcloud-Assistent das KI-Tool nutzen.
Da ich einiges an Zeit in meine auf dem Raspberry Pi 4 laufende Nextcloud investiert habe, wäre es schade, für das aktuelle Raspberry Pi OS 12, alles noch einmal aufsetzen und konfigurieren zu müssen. Obwohl die Entwickler des Betriebssystems von einem Upgrade generell abraten, habe ich mich auf die Suche nach einer guten und funktionierenden Anleitung gemacht und bin auf den vielversprechenden Artikel „Raspberry Pi OS – Update von Bullseye (11) auf Bookworm (12)“ von Sascha Syring gestoßen.
Um das Ganze ausgiebig zu testen, habe ich das Upgrade zuerst auf einem Raspberry Pi 4 durchgeführt, auf dem ein Mumble-Server läuft, den unsere Community produktiv zum Erfahrungsaustausch nutzt. Nachdem dies alles problemlos funktioniert hat, habe ich mich an meinen Nextcloud-RasPi gewagt. Was es weiter zu beachten gab, darauf gehe ich am Ende des Artikels noch ein.
Systemupgrade
Bevor es los geht muss das System auf den aktuellsten Stand unter Raspberry Pi OS 11 Bullseye gebracht werden. Hierzu führt man Folgendes aus:
Danach werden die Paketquellen auf das neue System Bookworm angepasst. Hierzu öffnet man die /etc/apt/sources.list
sudo nano /etc/apt/sources.list
und kommentiert alle aktiven Quellen, indem man vor jede aktive Zeile eine Raute „#“ setzt. Danach fügt man die drei Zeilen
deb http://deb.debian.org/debian bookworm main contrib non-free non-free-firmware
deb http://security.debian.org/debian-security bookworm-security main contrib non-free non-free-firmware
deb http://deb.debian.org/debian bookworm-updates main contrib non-free non-free-firmware
am Anfang ein und speichert die Datei mit Ctr + o ab und verlässt dann den Editor mit Ctr + x.
Das Gleiche Spiel wiederholt man mit den zusätzlichen Paketquellen.
sudo nano /etc/apt/sources.list.d/raspi.list
Hier wird nun folgende Zeile an den Anfang gesetzt:
deb http://archive.raspberrypi.org/debian/ bookworm main
Die Datei wird mit Ctr + o gespeichert und der Editor mit Ctr + x verlassen. Ist dies geschehen, können die Paketquellen neu eingelesen werden.
sudo apt update
Bootpartition
Nun kommt der kniffligste Teil. Die Bootpartition muss an die neuen Gegebenheiten angepasst werden. Dazu wird die alte Boot-Partition ausgehängt.
sudo umount /boot
Dann wird das neue Verzeichnis /boot/firmware erstellt.
sudo mkdir /boot/firmware
Jetzt bearbeitet man die Partitionstabelle:
sudo nano /etc/fstab
Hier wird der Eintrag der Bootpartition entsprechend eingetragen. Bei mir sieht das so aus:
Die Datei wird wieder mit Ctr + o gespeichert und der Editor mit Ctr + x verlassen. Damit die Änderungen wirksam werden, wird systemd neu geladen
sudo systemctl daemon-reload
und die neue Boot-Partition gemountet.
sudo mount /boot/firmware
Bootloader und Kernel
Im Nachgang werden die aktuelle Firmware und der aktuelle Kernel für das Raspberry Pi OS 12 (Bookworm) installiert
Ist dies geschehen, müssen die Paketquellen nochmalig mit
sudo apt update
eingelesen werden.
Upgrade
Nun kann das eigentlich Upgrade durchgeführt werden. Hierbei stoppt der Vorgang bei den wichtigsten Konfigurationsdateien. Diese werden in der Regel alle beibehalten.
sudo apt full-upgrade
System aufräumen
Nun wird das System noch aufgeräumt.
sudo apt autoremove
sudo apt clean
Neustart
Nach dem Neustart
sudo reboot now
sollte nun das aktuelle Raspberry Pi OS 12 laufen. Das installierte Betriebssystem lässt man sich mit
Abschließend sei darauf hingewiesen, dass das Upgrade einige Gefahren in sich birgt. Bitte vorher unbedingt an ein Backup denken, was im Bedarfsfall wieder eingespielt werden kann!
Noch zu erwähnen
Eingangs des Artikels hatte ich erwähnt, dass es Weiteres zu beachten gibt. Durch das Upgrade wurden die Einstellungen des Dienstes zu meinem Turn-Server zurück gesetzt. Ein funktionierender Turn-Server ist wichtig, um reibungslosen Verlauf in Videokonferenzen zu ermöglichen.
Wer also wie ich eine Nextcloud auf dem Raspberry Pi installiert hat und bisher meinen Anleitungen gefolgt ist, muss den zeitverzögerten Start des Turnservers, wie im Artikel „coTurn zeitverzögert auf Raspberry Pi starten“ beschrieben, wieder neu konfigurieren. Dazu editiert man die Datei /lib/systemd/system/coturn.service:
sudo nano /lib/systemd/system/coturn.service
Nun fügt man den folgenden Eintrag unter [Service] ein und speichert die Änderung mit Ctlr + o.
ExecStartPre=/bin/sleep 30
Den Editor verlässt man dann wieder mit Ctrl + x. Durch den Eintrag wird nun eine Verzögerung von 30 Sekunden erzwungen. Mit
sudo service coturn restart
wird der Turnserver zeitverzögert neu gestartet. jetzt arbeitet coTURN nach dem nächsten Reboot des Raspberry Pi wie gewünscht.
Das Team von Nextcloud hat ein großes Update für den Nextcloud KI-Assistenten zur Verfügung gestellt. Ab sofort gibt es Context Chat und Context Write. Zudem ist GPU-Beschleunigung möglich und der Nextcloud-Server lässt sich vom KI-Server abspalten. Ferner arbeitet das Nextcloud-Team mit mehreren bekannten europäischen Hosting-Unternehmen zusammen, darunter IONOS und OVHcloud, um KI-as-a-Service-Lösungen anzubieten, die Privatsphäre und digitale Souveränität respektieren. In diesem Fall benötigst Du selbst keine teuren GPUs, um KI und Nextcloud zu vereinen. Nextcloud Assistant 2.0 Die Oberfläche wurde […]
Es handelt sich um Wartungsversionen und die laufen normalerweise schnell und problemlos durch. Die Updates bringen verschiedene Korrekturen und Leistungsverbesserungen in allen unterstützten Versionen von Nextcloud Hub. In Versionsnummern gibt es ab sofort Nextcloud 26.0.13, 27.1.8 sowie 28.0.4. Ich habe es schon mehrmals erwähnt, finde den Mix aus Hub und Versionsnummern echt verwirrend, zumal eine große Versionsnummer nicht zwingend eine große Hub-Nummer repräsentiert. Klar, es ist ein kosmetisches Problem, aber weniger Verwirrung wäre dennoch besser. Nextcloud 26 hat ihr Lebensende […]
Lange Zeit wurde ich glücklicherweise verschont, größere Anhänge versenden zu müssen. In letzter Zeit hat sich das allerdings etwas geändert und mein Thunderbird hat mir immer wieder angeboten, Dateien via FileLink zu verschicken. Dabei wird die größere Datei zunächst in eine Cloud Deiner Wahl hochgeladen und danach fügt das Programm einen Link direkt in Deine Nachricht ein. Das funktioniert auch mit Deiner eigenen Nextcloud, sofern Du das richtige Add-on benutzt. In dieser Anleitung zeige ich Dir, wie Du Thunderbirds FileLink […]
Ich habe bei meiner Nextcloud-Testinstanz die Beta-Version von Nextcloud 29 installiert und war etwas neugierig. Insbesondere die Optionen für KI haben mich interessiert. Bei der letzten Version wurden Möglichkeiten erwähnt, Bilder via KI erstellen zu lassen und so weiter. Allerdings habe ich keine Möglichkeiten gefunden, die erwähnten Funktionen einfach zu nutzen. Mit Nextcloud 29 scheint die Sache nun ein Gesicht zu bekommen. Werfen wir zunächst einen Blick darauf, wie der Nextcloud-Assistent in Version 28 aussieht. Betreibst Du selbst eine NC, […]
Das Team hinter dem Sovereign Cloud Stack (SCS) hat Version 6 mit der Kubernetes Distribution Cluster Stacks und Weiterentwicklungen im Bereich Referenzimplementierung sowie Standarisierung…