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.
Das Buch „WordPress 6 Schnelleinstieg“ von Vladimir Simovic und Thordis Bonfranchi-Simovic ist in der 1. Auflage 2023 im mitp-Verlag erschienen. Es trägt den Untertitel „Blogs und Webseiten erstellen – Einfach und ohne Vorkenntnisse“. Das Buch hat insgesamt 272 Seiten und richtet sich an Einsteiger, aber auch fortgeschrittene Nutzer des Content-Management-Systems WordPress.
Das Buch „WordPress 6 Schnelleinstieg“ vom MITP-Verlag bietet einen umfassenden Leitfaden für alle, die sich schnell und effektiv mit dem Bloggen und der Webseitengestaltung mit WordPress vertraut machen möchten. Die Autoren geben mit detaillierten Anleitungen und praktischen Tipps einen strukturierten Überblick über die wichtigsten Funktionen und Möglichkeiten des beliebten Content-Management-Systems.
Dieses Buch ist sachlich verfasst und vermittelt dank der Fachkenntnisse der beiden Autoren dem Leser enorm viel Wissen. Durch die klare Strukturierung kann die erste Webseite in kürzester Zeit umgesetzt werden. Es wird detailliert erklärt, wie WordPress installiert wird, wie das Dateisystem und die Datenbank aufgebaut sind. Der Nutzer wird ausreichend in diese Thematik eingearbeitet. Backups spielen hierbei eine zentrale Rolle, auf die die Autoren ausführlich eingehen. Im Buch erfährt man, welche Nutzerberechtigungen in WordPress vergeben werden können und wie das System gewartet und aktualisiert wird.
Besonders erwähnenswert ist das Kapitel „Design anpassen“, in dem sich die Autoren mit dem Full Site Editing auseinandersetzen. Dabei werden anhand des Themes „Twenty Twenty-Twon“ die Gestaltungsmöglichkeiten mit dem Blockeditor Gutenberg erläutert. Dies ermöglicht nahezu unbegrenzte Anpassungsmöglichkeiten bei der Erstellung oder Bearbeitung eines Webprojekts.
Am Ende des Buches wird es vom Inhalt etwas technischer, jedoch nicht weniger interessant. Möglichkeiten durch den Eingriff in den Programmcode lassen noch mehr Spielraum zu. Auch die Erstellung von Child-Themes wird ausführlich erklärt, damit Änderungen im Code problemlos ein Upgrade des Themes überstehen können.
Ein weiterer bedeutender Fokus der Autoren liegt auf der Suchmaschinenoptimierung (SEO). Dabei spielt die Qualität des Inhalts, die korrekte Verwendung von Überschriften und die Bereitstellung von ausreichenden Metadaten z.B. für Bilder eine entscheidende Rolle. Diese Maßnahmen sind nicht nur für die Zugänglichkeit der Website von Vorteil, sondern auch für ein verbessertes Ranking in Suchmaschinen und sorgen für optimale Suchergebnisse im Internet.
Das Buch gliedert sich in folgende Kapitel:
WordPress installieren und grundlegende Einstellungen
Das Buch „WordPress 6 Schnelleinstieg“ ist sowohl für Anfänger als auch Fortgeschrittene eine nützliche Informationsquelle. Ich empfehle dieses kompakte Handbuch jedem, der daran interessiert ist, seine erste Website mit WordPress zu erstellen. Daher rate ich definitiv zum Kauf dieses Buches!
Es sollte auch darauf hingewiesen werden, dass zu dem gedruckten Exemplar ein eBook zum Download zur Verfügung steht.
Unsere IT-Sicherheit hängt von den Menschen hinter den Technologien ab. Der Sovereign Tech Fund will mit Geldern der Bundesregierung die Maintainer wichtiger Projekte besser unterstützen.
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.
LAMP-Server
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!
Raspberry Pi Imager – OS und SD-Karte auswählenRaspberry Pi Imager – OS-Einstellungen vornehmen
Ü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.
Raspberry Pi Imager – Schreibvorgang
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
Identifizieren des RasPi mit arp-scan
Zugriff auf den Pi erhalte ich nun via zuvor im Imager aktiviertem SSH-Zugang.
ssh Benutzer@IP-Adresse
Zugang via SSH
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.
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, 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
Switch to unix_socker_authentication [Y/n] n Change the 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.
Administrator-Konto anlegen
Vorschau
Im nächsten Teil zeige ich, wie man die App Collabora Online – Built-in CODE Server (ARM64) in der Nextcloud via Terminal installiert.
In diesem Überblick beschreibe ich am Beispiel der Proxmox inventory source, wie eine eigene Inventory Source im Ansible Automation Controller hinzugefügt werden kann.
Die folgenden Schritte wurden mit der Ansible Automation Platform 2.4 getestet. Die einzelnen Schritte sollten in gleicher Weise auch in Ansible AWX ausgeführt werden können.
Um diesem Text folgen zu können, werden Kenntnisse im Umgang mit Ansible und Git auf der Kommandozeile vorausgesetzt.
Der Text verweist, wo möglich, auf bestehende Dokumentation. Es handelt sich bei diesem Text nicht um ein klassisches Tutorial. Er dient mir als Gedächtnisstütze und mag euch eine Anregung sein, bzw. im besten Fall die Wissenslücken schließen, die sich mit der Dokumentation allein nicht schließen lassen.
Für das Beispiel in diesem Text werden Hosts aus der Bestandsliste eines PVE als Inventory Source hinzugefügt. Die dabei verwendete Vorgehensweise kann auch für andere Inventory Plugins verwendet werden. Die Entwicklung von Inventory Plugins ist jedoch nicht Gegenstand dieses Textes. Hierzu wird auf die Dokumentation unter „Developing dynamic inventory“ verwiesen.
Mein Kollege Steffen Scheib hat mir geholfen, das Proxmox-Plugin zu konfigurieren, wofür ich ihm an dieser Stelle nochmal ganz herzlich danke. Es liegt auf meiner Arbeitsstation als Ansible Project in folgender Verzeichnisstruktur vor:
Mit Ausnahme der Datei vault_password_file wurden alle Dateien und Verzeichnisse in Git aufgenommen. Ich verwende einen einfachen Git-Server in meiner Laborumgebung, auf welchen ich meine lokalen Repositorys pushe. Der Automation Controller synchronisiert das Projekt aus dem Git-Repo, um es als Inventory Source verfügbar zu machen.
Das Proxmox Inventory Plugin befindet sich in einem Git-Repository, auf welches mit SSH-Key-Authentifizierung zugegriffen werden kann. Damit auch der Automation Controller auf dieses Repository zugreifen kann, wird ein Credential vom Typ Source Control erstellt.
Beipsiel für einen Source Control Credential Typ im Ansible Automation Controller
Der SSH-Private-Key wurde von meinem Host hochgeladen und verschlüsselt im Automation Controller gespeichert. Der Key lässt sich in der GUI nicht wieder sichtbar machen, lediglich ersetzen.
Die Datei vault_password_file befindet sich jedoch nicht im Git, da sie das Passwort im Klartext enthält. Aus diesem Grund möchte ich die Datei auch nicht auf dem Automation Controller ablegen. Irgendwie müssen auf dem Automation Controller jedoch Credentials hinterlegt werden, um die Ansible Vault encrypted_strings zu entschlüsseln. Die Lösung steckt in diesem Kommentar auf Github. Im Automation Controller User Guide gibt es dazu Chapter 11. Custom credential types.
Das Schlüssel-Wert-Paar secret: true stellt sicher, dass das Passwort verschlüsselt gespeichert wird. Es kann danach im Automation Controller nicht mehr im Klartext angezeigt werden. Nachdem der neue Credential Typ erstellt ist, kann dieser instanziiert werden:
Beispiel des neuen Custom Credential Typs ‚encrypted_vault_password‘
Das Vault Passwort wird in das entsprechende Formularfeld kopiert. Es ist standardmäßig nicht sichtbar und wird wie oben bereits erwähnt, verschlüsselt gespeichert. Mit diesem Credential verfügt der Automation Controller nun über die notwendigen Informationen, um das Proxmox Inventory auszulesen.
Die Open Source Software Landschaft (kurz OSS Landschaft) ist eine dynamische und komplexe Welt, die von einer globalen Gemeinschaft von Entwicklern und Maintainers getragen wird. Diese beiden Rollen sind entscheidend für den Erfolg und die Nachhaltigkeit von OSS-Projekten, unterscheiden sich jedoch erheblich in ihren Verantwortlichkeiten, Aufgaben und Schwerpunkten. Gerade die von Euch, die mit Linux […]
In der Open Source Software - Entwicklung stößt man früher oder später auf die Begriffe oder Rollen „Entwickler“ und „Maintainer“. In diesem Video versuche ich einen Überblick zu geben und die beiden Rollen etwas voneinander abzugrenzen. Nichts ist in Stein gemeißelt. Jedes Projekt kann sich die Rollen selbst verteilen. Oftmals ist der Chefentwickler auch der „erste“ Maintainer. Aber nicht immer. Daher gibts in diesem Beitrag auch ein Stück weit meine Sicht auf die Dinge, die auch nur meine ist. Sie deckt sich möglicherweise nicht vollumfänglich mit anderen Definitionen.
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?
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.
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.
Nextcloud – Verwaltungseinstellungen – TalkEintrag der Domain für STUN- und TURN-Server (sowie Passwort)
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.
Einmal wollte ich faul sein und gleichzeitig einem FOSS-Projekt etwas Gutes tun. Anstelle mich immer selbst um ein Update von LibreOffice zu kümmern, wollte ich es aus dem Apple App Store installieren, via selbigen an das Projekt spenden und die Downloadzahlen im Store um eine Wertigkeit erhöhen. Automatische Updates im Hintergrund sollten hier die Wahl ... Weiterlesen
Mit der zunehmenden computerbasierten und globalen Vernetzung gewinnt die digitale Souveränität an rasanter Bedeutung. Viele Unternehmen setzen sich weniger mit ihrer digitalen Abhängigkeit auseinander, weil sie bezweifeln, dass es einen Weg daraus gibt. Doch es gibt ihn, und er heißt Open Source. GONICUS erweist sich als Wegbegleiter, der Unternehmen zu digitaler Unabhängigkeit führt.
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.
Nextcloud – OpenAI and LocalAI integration und Nextcloud Assistant
Im Anschluss wird der API-Key, wie im Screenshot zu sehen ist, in der App OpenAI and LocalAI integration hinterlegt.
Nextcloud – OpenAI and LocalAI integration (API Key)
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.
Paketquellen
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.
Zusätzliche Paketquellen
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:
Datei zum Einbinden der Datenträger
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.
Immer mehr Länder und Behörden weltweit streben danach, die Abhängigkeit von einzelnen, proprietären Anbietern zu verringern und Open-Source-Software zu fördern. Dieser Trend zeigt sich auch in Deutschland, wo das Bundesland Schleswig-Holstein seine Bemühungen verstärkt von Microsoft-Produkten auf Open-Source umzusteigen. Die Landesregierung hat beschlossen, die PCs der rund 30.000 Landesbediensteten auf Open-Source-Lösungen umzustellen und hin zu...
Anfang März wurde eine neue Postfix Version 3.9 veröffentlicht. Nach fast einem Jahr Entwicklungszeit löst diese Version gleichzeitig den alten stabilen Zweig 3.5 ab, welcher aus dem Jahr 2020 stammt.
Abschaltungen
Mit dieser neuen Major Version wurden alte Zöpfe abgeschnitten und alte, wirklich alte, MySQL Versionen < 4.0. MySQL werden nicht mehr unterstützt.
Auch Features wie "permit_naked_ip_address", "check_relay_domains" und "reject_maps_rbl" wurden entfernt. Die Funktionen "disable_dns_lookups" und "permit_mx_backup" wurden als überholt markiert und werden entfernt.
Änderungen
Daneben wurden die angekündigten Sicherheitsfeatures implementiert, um unter anderem gegen SMTP Smuggling vorzugehen.
So müssen SMTP Clients nun <CR><LF>.<CR><LF> senden, um das Ende eines Datenstroms zu signalisieren.
Die Funktion "smtpd_forbid_unauth_pipelining" trennt ab sofort SMTP-Clients, die gegen RFC 2920 (oder 5321) Befehlspipelining-Beschränkungen verstoßen.
Zusätzlich gab es Formatierungsänderungen im Mailheader. Postfix verwendet jetzt zweistellige Tagesformate. Heißt, einstelligen Nummern wird eine Null vorgestellt.
Neuerungen
Natürlich gab es auch einige Neuerungen in Postfix 3.9, die dich sicher interessieren werden.
MongoDB: Postfix spricht MongoDB, was es dir erlaubt, Daten wie aliases oder canonical dort abzulegen
ID Weiterleitung: IDs können nun via ENVID (Envelope ID) weitergeleitet werden
MySQL and PostgreSQL Verbesserungen: Solltest du MySQL oder PSQL einsetzen, werden die Parameter "idle_interval" und "retry_interval" ab sofort unterstützt. Das erleichtert dir das Verbindungsmanagement
Raw Public Key Support: Erlaubt dir die Verwendung eines selbst signierten Zertifikats anstatt eines x509.
OpenSSL Konfiguration: Postfix unterstützt jetzt eigene OpenSSL Konfigurationsdateien "tls_config_file" und "tls_config_name"
Security
Auf Seiten der Sicherheit gab es ebenfalls Neuerungen.
Das weiter oben bereits erwähnte "smtpd_forbid_unauth_pipelining = yes" gegen Blind Angriffe (SSRF Angriffe) und das ebenfalls genannte Signaling zum Ende des Datenstroms (SMTP Smuggling) zählen hier mit rein. Letzteres hat mit "smtpd_forbid_bare_newline = normalize" eine weitere Sicherheitsfunktion erhalten. Gleiches gilt für das neue "cleanup_replace_stray_cr_lf = yes"
Als Maßnahme gegen Amplification Angriffe wurden die Abfragen des DNS Clients auf 100 reduziert, gewissermaßen ein Rate Limiter am oberen Ende.
Gestern, am 16.03.2024, habe ich die Chemnitzer Linux-Tage besucht. Für mich sind die CLT immer das Highlight des Jahres. Da ich meist nicht an beiden Tagen vor Ort sein kann, schaue ich mir das Programm im Vorfeld genau an und plane meinen Ausflug.
Einlassbändchen
Themen wie Finanzen und Börse faszinieren mich, deshalb wollte ich natürlich einen der ersten Vorträge „Jeder Meter zählt – Linux @ Deutsche Börse“ nicht verpassen. Das Kurse und Handel über eine Linux-Infrastuktur ermittelt bzw. abgewickelt werden, war interessant zu hören. Erst Latenzen von < 1ms des Trading-Systems machen den sogenannten Hochfrequenzhandel der Börse möglich. Dieser Vortrag erlaubte einen Blick aus einer etwas anderen Perspektive auf den Handelsplatz Frankfurt der Deutschen Börse.
Jeder Meter zählt – Linux @ Deutsche Börse
Ein weiterer spannender Vortrag war, „Wie funktioniert ChatGPT? Gibt es das auch als Open Source?„. Hier konnte man etwas über Ideen und Grundlagen des jetzigen Stands der Künstlichen Intelligenz hören, z.B. wie Algorithmen aufgebaut sind und Fragen von ChatGPT abgearbeitet werden. Auch ein kleiner Ausblick in die von Nvidia dominierte Hardware wurde gewagt.
Wie funktioniert ChatGPT? Gibt es das auch als Open Source?
Den interessantesten Vortrag hielt wie immer Prof. Klaus Knopper mit „Ransomware-Angriffe abwehren mit Linux und Open Source„. Dieses Mal wurde nicht das neue Knoppix vorgestellt, sondern es wurde ein aktuelles Thema, wie die erfolgreiche Ransomeware-Attacke auf die Universität Heidelberg, aufgegriffen. Interessant war die Herangehensweise einer Datenrettung nach solch einem Vorfall.
Ransomware-Angriffe abwehren mit Linux und Open Source
Ein weiterer sehr informativer Vortrag „Sichere Datenhaltung und Backup in der Cloud“ bestärkte mich in meinem Handeln im Umgang mit meinen eigenen Daten, auf dem richtigen Weg zu sein.
Sichere Datenhaltung und Backup in der Cloud
Der für mich letzte Vortrag des Tages hatte den Titel „Static Website am Beispiel Hugo„. Hier bekam ich einen kleinen Eindruck in die freie Software Hugo zur Erzeugung statischer Webseiten. Ich muss ganz ehrlich zugeben, dass ich mir Hugo an dieser stelle sehr viel einfacher vorgestellt hatte. Jedoch bin ich der Meinung, dass sich viele Sachen ganz selbstverständlich erschließen, sobald ich das System tatsächlich einmal produktiv einsetzen würde. Diesen Selbstversuch werde ich sicher demnächst einmal wagen.
Static Website am Beispiel Hugo
Am Ende des Tages gab noch einen Tux und dann ging es nach Hause.
Tux
In ein paar Themen konnte ich heute via Stream noch hinein hören bzw. schauen. Ein Großteil der Vorträge wird demnächst über die Webseite chemnitzer.linux-tage.de verfügbar sein.
Um auch einmal in die Welt des Arduino einzutauchen, habe ich mir ein paar Bauteile bestellt und etwas experimentiert. Da ich ein großer Uhren-Fan bin, hatte ich auch gleich eine adäquate Idee. Bei meiner Suche bin ich auf den Artikel „MAKING AN ARDUINO I2C-DIGITALUHR“ gestoßen. So war die Idee geboren, diese Uhr nachzubauen.
Nachdem alle Bauteile inkl. des Arduino Uno Rev. 3 bei mir eingetroffen waren, hieß es ein wenig löten. Die 7-Segmentanzeige HT16K33 sowie das Real Time Clock Modul DS1307 mussten mit Pins für das Steckboard versehen werden. Als das geschafft war, kämpfte ich damit den Code auf den Arduino zu übertragen.
Alte Arduino IDE Version
Hier begannen nun meine Probleme. Ich stellte mir das Vorhaben recht einfach vor. Ich musste doch einfach nur alle Bauteile verbinden, die benötigten Bibliotheken einbinden, den Code in die Software Arduino IDE hinein kopieren und diesen dann in den Arduino hochladen.
Leider funktionierte das aber nicht wie erwartet und ich als Arduino-Neuling war recht ratlos. Mein erster Gedanke war, dass vielleicht beim Löten etwas kaputtgegangen oder der Fehler bei der Verdrahtung zu suchen war. Meine Fehlersuche lief jedoch ins Leere. Da ich absoluter Neuling in der Programmierung dieses Mikrocontrollers war, musste ich mich zunächst einlesen, Videos anschauen, Arduino-Experten befragen und natürlich selbst ausprobieren und experimentieren.
Als ich mir den oben erwähnten Artikel nochmals etwas näher ansah, stellte ich fest, dass dieser Beitrag schon fast 12 Jahre alt ist. Also verwarf ich den Gedanken der Uhr erst und begann mit den Grundlagen.
Die von mir installierte Version von Arduino IDE war die 1.8.19. Hier gibt es etliche Beispiele etwas aus dem Gerät herauszuholen. Im Internet fand ich eine ähnliche Grafik, wie die hier abgebildete (Arduino Uno mit LED). Hier hat ein mutiger User eine LED in Pin 13 und GND gesteckt (hierfür sollte aber ein Vorwiderstand ca. 220 Ohm in Reihe geschaltet werden). Das schnörkellose Beispiel gefiel mir und ich konnte über „Blink“ dem Arduino das erste Lebenszeichen entlocken.
Arduino Uno mit LED
Da ich nun eigentlich das HT16K33 Display ansteuern wollte, suchte ich auch hierfür nach einem Beispiel. Ich fand so die gleichnamige Bibliothek und konnte auch hier einige Tests durchlaufen lassen. Das Display war also in Ordnung.
Einen selbigen Test führte ich mit der Real Time Clock DS1307 und der Bibliothek „RTClib“ durch. Hierbei bekam ich die Zeit im Monitor von Arduino IDE ausgegeben. Also war auch dieses Modul funktionstüchtig.
Nun war die Zuversicht sehr groß, dass ich nur noch alles zusammen stecken muss und ich die Uhr endlich zum Laufen bekomme. Leider klappte das aber nicht. Die in Arduino IDE 1.8.19 ausgegebene Fehlermeldung half mir an dieser Stelle nicht weiter.
Neue Arduino IDE Version
Obwohl ich der Meinung war, dass die verwendete Version mein Vorhaben realisieren kann, lud ich mir die aktuelle Version 2.3.2 herunter und entpackte diese im Downloads-Verzeichnis. Das Öffnen des Programms mit Rechtsklick auf Arduino-IDE -> Ausführen fand ich auf Dauer nicht so praktikabel, also baute ich mir ein Startup Icon mit folgendem Inhalt:
Dieses bekam den Namen Arduino und wurde erst einmal auf dem Desktop abgelegt. Dieser Starter wurde mit Rechtsklick -> Start erlauben aktiviert und danach in das Verzeichnis /usr/share/applications verschoben. So habe ich die aktuelle Version in mein System (Ubuntu 20.04 LTS) eingebunden.
Die Version 2.3.2 verriet mir nun beim Versuch den Code an den Arduino zu übertragen, wo der letzte und entscheidende Fehler lag. Es fehlte die Bibliothek „Adafruit_BusIO“.
Verdrahtung auf dem Steckboard
Nachdem diese nun eingebunden war, ließ sich der Code übertragen und das Herz der Uhr begann zu schlagen.
Ubuntu Pro ist eine Updateerweiterung für bestimmte Pakete der bekannten Distribution.
Ubuntu LTS soll so 10 Jahre Abdeckung für über 25.000 Pakete erhalten. Zusätzlich erhältst du Kernel Livepatching, Telefonsupport und Pakete fürs Hardening (NIST-certified FIPS crypto-modules, USG hardening mit CIS and DISA-STIG Profilen und Common Criteria EAL2).
Leider wird für dieses kostenpflichtige Produkt Werbung gemacht, auf dem Terminal und im Ubuntu Update Manager.
Sollte dich das stören, kannst du diese Meldungen mit wenigen Befehlen abschalten.
Alternativ kannst du dich auch einfach für Ubuntu Pro anmelden, denn der Zugang ist für Privatanwender für bis zu fünf Installationen umsonst.
Ubuntu Pro Nachrichten abschalten
sudo pro config set apt_news=false
Das Abschalten der APT News reicht nicht ganz aus, um dir die Werbeeinblendung zu ersparen.
Du musst zusätzlich eine Datei editieren und deren Inhalt auskommentieren
nano /etc/apt/apt.conf.d/20apt-esm-hook.conf
Ubuntu Advantage deaktivieren oder deinstallieren
Optional kannst du das Ubuntu Advantage Paket entfernen, bzw. die Expanded SecurityMaintenance (ESM) abschalten, wenn du magst.
Ubuntu Advantage war der Vorgänger von Ubuntu Pro
Dieses beinhaltet wie die Pro-Variante Kernel Livepatching, Unterstützung für Landscape oder Zugriff auf eine Wissensdatenbank. Alles Dinge, die für Privatanwender nur bedingt interessant sind.
Solltest du nun maximal verwirrt sein, was zu welchem Supportmodell gehört und wie es unterstützt wird, hier ein Vergleich von endoflifedate. Ubuntu Pro (Infra-Only) steht in der Tabelle für das alte Ubuntu Advantage.
Im Frontend ändert sich mein Blog nur noch marginal. Jedoch musste ich mich aufgrund von Änderungen im Sourcecode von WordPress für ein anderes Theme entscheiden. Zuvor hatte ich ein Theme von einem deutschen bekannten Entwicklerpaar gekauft, aber leider endet hier der Support doch recht schnell. Auch Bugfixes, welche ich einmal auf Github eingereicht hatte, wurden ... Weiterlesen
Ich habe nun das nächste Plugin aus WordPress entfernt. Auch habe ich mir nochmals Gedanken über dieses Plugin gemacht und es ist definitiv nicht Datenschutz konform, wenn ich Daten aus Github nachgeladen habe. Ich hatte zwar somit immer die neueste Version des Codes eingebunden, aber es war eigentlich eine Faulheit auf Kosten der Lesenden. Im ... Weiterlesen
Nachdem unsere Community-Cloud das vorab letzte Software-Upgrade und eine neue SSD erhalten hatte, wurde es nun Zeit auch die Hardware auf eine neue Stufe zu heben. Da wir der Meinung waren, dass hierzu ein Raspberry P4 4 Modell B mit 8GB völlig ausreicht, haben wir uns bewusst für dieses Gerät entschieden. Eingepackt in ein passiv gekühltes Metallgehäuse wird uns diese Kombination, so hoffe ich, die nächste Zeit zuverlässig begleiten.
Da ein Upgrade der installierten Software vom Raspberry Pi 3 auf den Raspberry Pi 4 wenig sinnvoll und auch fast unmöglich umzusetzen ist, war die Idee, die Datenbank und das Datenverzeichnis der Nextcloud in eine Neuinstallation (64-Bit) einzubinden.
Für den Wechsel auf 64-Bit hätte eigentlich parallel zum bestehenden System eine Neuinstallation auf dem erwähnten Raspberry Pi durchgeführt werden müssen. Hier konnte ich mir die Arbeit aber ein wenig erleichtern, indem ich die MicroSD meiner eigenen Cloud klonen konnte. Auf dem geklonten System waren so nur einige Anpassungen vorzunehmen, bevor das neue Gerät an Stelle des 32-Bit-Systems in Betrieb genommen werden konnte.
Aufnahme mit Wärmebildkamera (Raspberry Pi 4 – passive Kühlung)
Die aus dem Raspberry Pi 3 gesicherte Datenbank wurde in den Raspberry Pi 4 eingelesen und die Daten-SSD in die /etc/fstab eingebunden. Danach wurde der ddclient mit der DynDNS neu konfiguriert. Ein neues Zertifikat wurde erstellt und die automatische Upgrade-Routine hierzu angepasst. Zum Schluss mussten nur noch die Ports im Speedport-Router für die neue Hardware freigegeben werden.
Fazit
Der Aufwand hat sich in dem Sinne gelohnt, da dieses nun mittlerweile über fünfeinhalb Jahre existierende Projekt, zukunftssicher weiterbetrieben werden kann.