Normale Ansicht

Es gibt neue verfügbare Artikel. Klicken Sie, um die Seite zu aktualisieren.
Ältere BeiträgeBlogs

Docker und Docker-Compose auf dem RaspberryPi

03. März 2023 um 16:00

Heute möchte ich zeigen, wie man Docker und Docker-Compose auf dem RaspberryPi installiert, um WordPress als Testumgebung im heimischen Netzwerk zu betreiben. Docker-Container haben durchaus einen gewissen Reiz, wenn man nicht allzu intensiv in die Auswahl und Konfiguration von Server-Anwendungen eintauchen möchte. Man muss jedoch ein gewisses Vertrauen gegenüber des Maintainers mitbringen.

Eine gute Basis, um Docker auf einem Raspberry Pi laufen zu lassen, bietet das Raspberry Pi OS Lite (64-bit). Dieses ist schnell mit dem Raspberry Pi Imager auf die MicroSD geflasht.

Installation Docker und Docker-Compose

Nach dem ersten Start des Betriebssystems führt man nun ein komplettes Upgrade durch. Dies sollte man tun, um alle Pakete auf dem neuesten Stand zu bringen, damit es keine Probleme während der Installation gibt und alle Anwendungen richtig miteinander arbeiten.

sudo apt update && sudo apt upgrade

Raspberry Pi 4

Nach dem Upgrade installiert man Docker.

curl -fsSL test.docker.com -o get-docker.sh && sh get-docker.sh

Nun muss der aktuelle User der Gruppe Docker hinzugefügt werden, i.d.R. ist das der User pi. In meinem Fall ist es der Benutzer intux.

sudo usermod -aG docker ${USER}

Ein erster Test checkt, ob dies funktioniert.

groups ${USER}

Nun wird der Raspberry Pi neu gebootet, damit die Installation und die Konfiguration umgesetzt werden kann.

sudo reboot now

Im nächsten Schritt wird Python 3 mit den entsprechenden Abhängigkeiten eingespielt.

sudo apt install libffi-dev libssl-dev python3-dev python3 python3-pip

Jetzt kann Docker-Compose aufgesetzt werden.

sudo pip3 install docker-compose

Der Dienst Docker wird aktiviert

sudo systemctl enable docker

und mit dem Image hello-world kann getestet werden, ob Docker läuft.

docker run hello-world

Installation WordPress

Nun erstellt man das Verzeichnis wordpress

mkdir wordpress

und wechselt dort hinein.

cd wordpress

Mit dem Editor Nano wird nun eine docker-compose.yml erstellt

nano docker-compose.yml

und mit folgendem Inhalt befüllt.

version: '3.6'

services:
  wordpress:
    image: wordpress:5.7.2
    ports:
      - 80:80
    environment:
      - "WORDPRESS_DB_USER=root"
      - "WORDPRESS_DB_PASSWORD=vFvpKjJ7HUbkD3wyLDp4"
    restart: always
    dns: 8.8.8.8
    volumes: 
      - /srv/wordpress:/var/www/html

  mysql:
    image: jsurf/rpi-mariadb
    volumes:
    - /srv/wordpress-mysql:/var/lib/mysql
    environment:
    - "MYSQL_ROOT_PASSWORD=vFvpKjJ7HUbkD3wyLDp4"
    - "MYSQL_DATABASE=wordpress"
    restart: always

  phpmyadmin:
    image: phpmyadmin:apache
    environment:
     - PMA_ARBITRARY=1
    restart: always
    ports:
     - 9999:80
    volumes:
     - /sessions

Zum Schluss wird das Image geladen und die Container gestartet.

docker-compose up -d

Die fertige WordPress-Installation ist nun über die IP (http://IP-Adresse) des Raspberry Pi erreichbar. Die Einrichtung von WordPress erfolgt über das Webinterface.

Viel Spaß beim Nachbauen!

Internetgeschwindigkeit mit dem Raspberry Pi messen

08. März 2023 um 19:15

Über mein Smartphone führe ich hin und wieder einen Speedtest durch, um die Geschwindigkeit meines Internetanschlusses zu ermitteln. Wie das Ganze aber via Terminal unter Linux auf dem Raspberr Pi geht, erkläre ich im folgenden kurzen Artikel.

Speedtest via command-line interface

Ein Test über den RasPi macht bei mir zu Hause Sinn, da dieser fest über ein LAN-Kabel mit dem Router verbunden ist. Derartige Messungen über eine Direktverbindung sind genauer als Messungen über WiFi. Drahlose Prüfungen mit einem mobilen Endgerät wie Smartphone oder Tablet sind hingegen immer verlustbehaftet.

Die Internetgeschwindigkeit lässt sich mit einem Raspberry Pi relativ einfach über die Konsole ermitteln. Große Programmpakete werden hierfür nicht benötigt.

Installation

Zuerst wird das Paket speedtest-cli installiert.

sudo apt install speedtest-cli

Speedtest durchführen

Wenn das Package eingespielt ist, reicht die Eingabe des folgenden Befehls:

speedtest-cli

Hierbei wird der Test über den nächsten Server ausgeführt. Ist man mit dem Resultat nicht zufrieden, kann ein anderer Server angesteuert werden. Dazu lässt man sich die 10 nächsten Standorte anzeigen.

speedtest-cli --list

Retrieving speedtest.net configuration...
53128) WOBCOM GmbH (Wolfsburg, Germany) [132.61 km]
49459) FNOH-DSL (Uetze, Germany) [163.37 km]
47786) WebseitenDesigner.com (Hannover, Germany) [183.20 km]
45664) WEMACOM Telekommunikation GmbH (Schwerin, Germany) [242.14 km]
 8827) Marco Bungalski GmbH (Verden, Germany) [246.12 km]
45822) WEMACOM Telekommunikation GmbH (Hamburg, Germany) [266.29 km]
53256) LWLcom GmbH (Hamburg, Germany) [267.38 km]
 5733) LWLcom GmbH (Bremen, Germany) [279.95 km]
16596) Bremen Briteline GmbH (Bremen, Germany) [279.95 km]
 4556) TNG Stadtnetz GmbH (Kiel, Germany) [339.23 km]

Der Test über einen anderen Server wird dann mit dem Befehl

speedtest-cli --server 49459

angestoßen. In diesem Fall habe ich mich für den Server FNOH-DSL (Uetze, Germany) entschieden.

Grafische Ausgabe

Möchte man noch eine grafische Ausgabe des Ergebnis, setzt man einfach den entsprechenden Schalter (share) und bekommt am Ende der Ausgabe den Link zum Ergebnis (PNG-Datei).

speedtest-cli --share

Speedtest über OOKLA

Besuch bei den Chemnitzer Linux-Tagen 2023

11. März 2023 um 20:25

Am 11. und 12 März 2023 finden nach dreijähriger Zwangspause endlich wieder die Chemnitzer Linux-Tage an der TU Chemnitz statt. Unter dem Motto „Bewusst sein“ treffen sich zahlreiche Aussteller, Vortragende und Besucher zum Thema Linux und freie Software auf dem Uni-Campus.

TU Chemnitz
Chemnitzer Linux-Tage
Halbleiter von Chemnitz

Ich freute mich riesig dieses Event nach 2019 wieder besuchen zu können, um interessante Leute zu treffen und Gedanken auszutauschen. Am ersten Tag verabredete ich mich mit meinem Mitstreiter Andi alias Waldstepper aus Berlin, um gemeinsam einige Vorträge zu besuchen.

Das Highlight war einmal mehr der lebendige Beitrag „Nachhaltiges Computing mit KNOPPIX“ von Prof. Dipl.-Ing. Klaus Knopper. Überlegungen zu CO2-Fußabdrücken des von Knopper entwickelten Betriebssystems sowie Einblicke in das Innenleben dieser Live-Distribution stießen auf reges Interesse.

Vortrag Nachhaltiges Computing mit KNOPPIX

Natürlich konnte ich noch weiteren interessanten Vorträgen lauschen, wie VPN via WireGuard, Programmierung mit Scratch und Ausführungen zur komplexen Thematik Linux-Desktop, wo darüber philosophiert wurde, warum sich das OS bis heute noch nicht im Desktopbereich durchsetzen konnte und was nötig wäre, um ein solches Projekt zu realisieren. Hier gab es natürlich interessante und praxisnahe Ansätze, die zum Nachdenken anregten.

Einige gute Gespräche konnte ich auch an den Ständen von den Ubuntuusers, der FSFE, TUXEDO, Linuxnews, LibreOffice und den CMS Gardeners führen.

Besuch bei den Ubuntuusers
FSFE-Stand

Alles in allem war es heute ein interessanter und informativer Tag an der TU, der morgen seine Fortsetzung findet.

PrivateBin über MySQL laufen lassen

22. März 2023 um 17:53

Seit längerer Zeit nutze ich als Pastebin-Alternative die Web-Anwendung PrivateBin, um Texte oder Code bei Bedarf zur Verfügung zu stellen. Da ich aber meine Dienste nicht mehr selbst hoste, sondern wieder bei einem renommierten Hoster bin, musste ich PrivateBin umziehen bzw. neu installieren.

Der für mich komfortablere Weg der Nutzung ist die Anbindung an eine MySQL-Datenbank. Wie das geht, erkläre ich im folgenden Artikel.

Installation

Zuallererst habe ich mir die aktuellste Version von PrivateBin (Version 1.5.1) unter dem Punkt Source code (zip) herunter geladen, diese entpackt und via FTP zum Hoster hochgeladen. Um das Verzeichnis aber für mich besser zugänglich zu machen, wurde dieses von /PrivateBin-1.5.1 in /privatebin umbenannt.

Damit ist mein neue Pastebin-Instanz unter https://domain.tld/privatebin verfügbar.

Konfiguration

Um jetzt nicht ins Data-Verzeichnis /privatebin/data zu speichern, sondern in eine MySQL-Datenbank, ändert man einfach den Dateinamen /privatebin/cfg/conf.sample.php in /privatebin/cfg/conf.php.

Nun werden noch die folgenden Zeilen auskommentiert und angepasst.

;[model]
; example of DB configuration for MySQL
;class = Database
;[model_options]
;dsn = "mysql:host=localhost;dbname=privatebin;charset=UTF8"
;tbl = "privatebin_"	; table prefix
;usr = "privatebin"
;pwd = "Z3r0P4ss"
;opt[12] = true	  ; PDO::ATTR_PERSISTENT

Hierzu trägt man den korrekten Datenbank-Namen, den Datenbank-Nutzer und das Passwort der zuvor eingestellten MySQL-Datenbank an entsprechender Stelle ein.

[model]
; example of DB configuration for MySQL
class = Database
[model_options]
dsn = "mysql:host=localhost;dbname=Datenbank-Namen;charset=UTF8"
tbl = "privatebin_"	; table prefix
usr = "Datenbank-Nutzer"
pwd = "Passwort"
opt[12] = true	  ; PDO::ATTR_PERSISTENT

Ist dies getan, sollte PrivateBin kein Data-Verzeichnis /privatebin/data anlegen, sondern gleich in die entsprechende Datenbank schreiben.

Viel Spaß beim Nachbauen!

Mumble auf dem Raspberry Pi

24. März 2023 um 18:53

In den Zeiten der Pandemie hatte fast jeder den Drang danach, Kontakte weiter aufrecht zu erhalten und zu pflegen. Die meisten traf das Kontaktverbot völlig unvorbereitet. Das man Videokonferenzen abhalten konnte, war bekannt, aber wer nutzte so etwas schon im Alltag. Viele von uns suchten plötzlich nach Möglichkeiten sich irgendwo online zu treffen. Große Softwarekonzerne ermöglichten einem plötzlich diese Funktionen kostenlos zu nutzen, mit dem Hintergrund spätere Kunden zu gewinnen. Zwar war die Nutzung dieser Dienste kostenlos, jedoch nicht umsonst. Nutzer bezahlten für diese Art der Nothilfe mit ihren Daten.

Da ich schon lange zuvor Open-Source-Lösungen dieser Art wie Nextcloud Talk nutzte, brauchte ich nur die Leute mit denen ich mich nicht treffen konnte, dort hin einzuladen. Für kleine Gesprächsrunden eignete sich meine Nextcloud durchaus. Für eine größere Anzahl von Nutzern war dies jedoch problematisch. Deshalb suchte ich nach einer anderen Lösung.

Perfekt für reine Audio-Treffen war Mumble, welches die ganze Pandemie-Zeit auf einem meiner Server lief. Die Nutzung meines Mumble-Servers verhielt sich aber umgekehrt proportional zur Aufhebung der Kontaktbeschränkung. Reale Treffen waren wieder möglich und man traf sich weniger online. Da ich aber die Technik doch hin und wieder nutzen möchte, habe ich den Versuch gewagt, einen Mumble-Server auf einem Raspberry Pi aufzusetzen. Wie das ganze geht, zeige ich in diesem Artikel.

Installation

Als Server dient ein Raspberry Pi 4 mit 4 GB RAM. Auf diesem wurde ein Raspberry Pi OS mit 64-Bit installiert. Der Mumble-Server wird wie folgt aufgesetzt:

sudo apt install mumble-server

Während der Installation wird abgefragt, ob der Server automatisch starten soll. Diese Frage beantwortet man mit „Ja“. Danach wird abgefragt, ob der Mumble-Server mit einer höheren Priorität zu nutzen ist. Diese Frage habe ich in meinem speziellen Fall mit „Nein“ beantwortet. Danach vergibt man noch ein SuperUser-Passwort und widmet sich dann der erweiterten Konfiguration.

Konfiguration

In der Konfigurationsdatei können nun gewünschte Anpassungen vorgenommen werden, wie z.B. Begrüßungstext, Port etc. Hier habe ich aber nur ein Passwort für die Nutzung meines Server vergeben, um die Kontrolle über den Server zu behalten. Weiterhin kann hier die maximale Anzahl der Besucher festgelegt werden.

sudo nano /etc/mumble-server.ini

Damit der Server jedoch aus dem Internet erreichbar ist, muss der Raspberry Pi mit einer DynDNS verbunden sein. Hier ein Beispiel für den Hoster all-inkl.com. Weiterhin muss der Port im heimischen Router freigegeben werden. Ich nutze den voreingestellten Standard-Port „64738“. Für das Forwarding muss TCP und UDP aktiviert werden.

Portforwarding – 64738

Sind diese Voraussetzungen erfüllt, kann der Mumble-Server gestartet werden.

sudo service mumble-server start

Client

Als Client auf dem PC und Notebook verwende ich Mumble.

Remote-Desktop Ubuntu 22.04

28. März 2023 um 19:29

Wer via Remote auf den Bildschirm eines anderen PC zugreifen möchte, hat mit Ubuntu bereits ein mächtiges Hilfsmittel dieses Betriebssystems an Bord. Die Rede ist hierbei von Remmina. Remmina ist ein Remote Desktop Client, welcher u.a die wichtigsten Protokolle, wie VNC und RDP beherrscht. Diese Fernwartungssoftware kann, anders als X2Go, den GNOME 3 Bildschirm übertragen. Hierzu muss kein weiterer Desktop auf dem Rechner installiert werden, mit dem sich der Client verbinden soll. Aus diesem Grund ist Remmina das beste Tool, um Verbindungen von Ubuntu zu Ubuntu via VNC zu realisieren. Im folgenden Beispiel zeige ich die Einrichtung anhand einer virtuellen Maschine.

Installation

Auf die Installation von weiteren Paketen kann client- und serverseitig verzichtet werden. Alle nötigen Voraussetzungen erfüllen beide Ubuntu-Rechner schon mit der Grundinstallation des Betriebssystems.

Konfiguration

Zuerst sollte man am Host die IP-Adresse des Rechners ermitteln. Nur über diese lässt sich später eine Verbindung aufbauen. Dazu geht man über Einstellungen -> Netzwerk -> Kabelgebunden -> Einstellungen (siehe Grafik).

Identifizierung der IP am Host

Ist die Adresse bekannt, erteilt man am Host bzw. Server die Freigabe zum Teilen. Dies geht über Einstellungen -> Freigabe.

Freigabe am Host

Nun kann man sich entscheiden, ob nur der Desktop zum Beobachten oder dieser auch zum Bedienen frei gegeben werden soll. Im konkreten Fall soll der Client komplett am Host arbeiten können. Deshalb werden beide Schalter (Remote Desktop und Remote Control) aktiviert.

Freigabe am Host

Weiterhin wird das VNC-Protokoll angewählt. In den erweiterten Einstellungen kann man nun auswählen, wie sich der Client auf das System zuschalten darf. Ich bevorzuge hier die Variante zur Berechtigung über Benutzername und Passwort. Alternativ kann der User am Host den Remote-Zugriff manuell gewähren.

Freigabe über Passwortabfrage am Host

Damit sind am Host alle nötigen Einstellungen gesetzt. Möchte man allerdings den Desktop aus der Ferne über das Internet erreichbar machen, so muss im Router ein Portforwarding des Host auf den Port 5900 gesetzt werden. Hierbei wird am Client die öffentliche und nicht die interne IP-Adresse des Host verwendet.

Am Client startet man nun die Anwendung Remmina und erstellt ein neues Profil (siehe Grafik).

Erstellung Profil in Remmina (Client)

Dazu wird das Protokoll Remmina-VNC-Plugin gewählt.

Auswahl des Übertragungsprotokolls in Remmina (Client)

Nun gibt man unter Server die IP des Host (im lokalen Netzwerk die interne IP-Adresse) ein. Benutzername und Passwort werden aus den Voreinstellungen des zu übernehmenden Computers gewählt.

Über speichern und verbinden stellt man dann die erste Verbindung her.

Verwendung von VNC in Remmina (Client)

Die Verbindung sollte nun stehen und am Host kann gearbeitet werden.

Desktop des entfernten Computers auf dem Client

Am entfernten Rechner wird im Tray angezeigt, dass auf diesen aus der Ferne zugegriffen wird.

Bildschirmübernahme am Host

Die richtige IP im Netzwerk finden

03. April 2023 um 16:00

Serveranwendungen sind oft Thema in meinen Vorträgen und Workshops. I.d.R werden diese Anwendungen für den Zugriff aus dem Internet aufgebaut und konfiguriert. Steht die Hardware später an einem anderen Ort, wird diese dann über eine DynDNS-Adresse angesprochen.

Da die erwähnte Software oft keine großen Anforderungen an die Hardware stellt, auf der diese installiert wird, arbeite ich gern mit Mini-PCs oder Einplatinencomputern, wie dem Raspberry Pi.

Auf diese Geräte wird zuerst das Betriebssystem installiert. Geschieht das jedoch in einem fremden Netzwerk, so ist die lokale IP-Adresse dieses Rechners meist unbekannt. Den Zugriff auf den Router verweigert der Admin und an den Server ist i.d.R. auch kein Monitor angeschlossen.

Wie man aber trotzdem die IP-Adresse der im Netzwerk befindlichen Geräte identifizieren kann, beschreibt dieser Beitrag.

arp-scan verrät IP der WordPress-Installation

Ich nutze in solchen Fällen das Netzwerk-Scanning-Tool arp-scan.

Installation

arp-scan ist eine reine CLI-Anwendung (Command Line Interface). Diese kann unter Ubuntu oder Debian recht leicht über das Terminal installiert werden.

sudo apt install arp-scan

Anwendung

Das Netzwerk wird mit dem Befehl

sudo arp-scan -l

gescannt. Die im Netzwerk für arp-scan sichtbaren Geräte werden im Anschluss (siehe Grafik) aufgelistet.

Dieses kleine Tool erleichtert mir die Arbeit ungemein, wenn ich z.B. in einem fremden lokalen Netzwerk etwas über das Content Management System WordPress oder Nextcloud zeigen möchte.

VNC-Verbindung mit SSH-Tunnel

08. April 2023 um 18:00

Im Artikel „Remote-Desktop Ubuntu 22.04“ hatte ich erklärt, wie es möglich ist, sich mit einem Ubuntu-Desktop über VNC mit einem anderen Ubuntu-Rechner zu verbinden. Natürlich darf man auch hier die Sicherheit nicht aus dem Auge verlieren, obwohl das Thema Verschlüsselung im heimischen lokalen Netzwerk eher eine untergeordnete Rolle spielen dürfte.

Wenn man allerdings über das Internet auf einen entfernten PC oder ein Notebook zugreifen möchte, sieht das schon anders aus. Das Wiki von ubuntuusers.de schreibt zur Nutzung von VNC über Remmina Folgendes:

Remmina ist eine Fernwartungssoftware, die die Protokolle VNC, NX, RDP, XDMCP, SPICE, HTTP/HTTPS, SSH sowie SFTP unterstützt. Es ist möglich, eine Verbindung durch einen SSH-Tunnel zu leiten, was besonders sinnvoll ist, wenn man normalerweise unverschlüsselte Protokolle wie VNC über das Internet einsetzen möchte.

Was kann man nun tun?

Inspiriert durch einen entsprechenden Hinweis in einem Kommentar, im zuvor erwähnten Beitrag, möchte ich nun eine sicherere Vorgehensweise aufzeigen, um von einem Rechner auf einen anderen über VNC zuzugreifen. Es handelt sich dabei um die Verbindung vom Client zum Server mit einem SSH-Tunnel.

Einstellung am Host

Da der Server über das Internet erreichbar sein soll, muss zuerst die Voraussetzung hierzu über ein Portforwarding im Router geschaffen werden. In diesem Fall ist es der Port 5900 (siehe Beispiel).

VNC Portforwarding – 5900 am Host

Einstellung am Client

Genau wie im Artikel „Remote-Desktop Ubuntu 22.04“ gezeigt, wird am Client in Remmina die IP des Host eingetragen. Da dieser sich nicht im lokalen Netzwerk befindet, tippt man hier nun die öffentliche IP-Adresse in den Tab Grundlegend ein.

grundlegende Einstellungen von Remmina

Im Anschluss wechselt man in den Reiter SSH-Tunnel, aktiviert diesen und trägt die öffentliche IP des Client ein. Damit das alles funktioniert, ist auch am Router des Client ein Portforwarding auf SSH nötig. I.d.R. ist das der Port 22. Wenn dieser jedoch dauerhaft geöffnet bleiben soll, empfehle ich diesen wie hier beschrieben zu ändern, da der bekannte SSH-Port 22 sehr oft für Angriffe aus dem Internet genutzt wird.

Verwendung des SSH-Tunnels in Remmina

Sind alle Einstellungen korrekt, kann man sicher via SSH-Tunneling auf den entfernten Rechner zugreifen.

Bildschirmübernahme am Host

Zugang über YubiKey zu WordPress verweigert

20. April 2023 um 19:07

Wer wie ich seine WordPress-Seite über das beliebte Plugin Two-Factor absichert, wird bestimmt bemerkt haben, dass man mit den neuen Versionen 112 von Firefox und Google Chrome über seinen U2F-Token keinen Zugang mehr zum Backend bekommt. Wohl dem, der bei der Einrichtung zusätzlich auf TOTP gesetzt hat und sich vom System Backup-Codes erstellen ließ. Über diese Hintertüren erhält man trotz Verweigerung des Hardware-Keys Zugang zur eigenen Webseite.

Was ist passiert?

Ich vermute, dass die neuen Browserversionen die Nutzung von FIDO verweigern und nur noch den neueren Standard FIDO2 bzw. Webauthn zulassen, was zur Folge hat, dass einige Dienste im herkömmlichen Sinne den aktivierten Zugang über USB-Token, wie u.a. YubiKey verweigern. Ein weiteres Indiz hierfür wäre, die kaputte Webauthn-Anmeldung in Nextcloud 26, welche heute mit Version 26.0.1 gefixt wurde.

Wie kann WordPress nun wieder via YubiKey abgesichert werden?

Eine einfache Lösung wäre vorerst das Plugin WebAuthn Provider for Two Factor zu installieren, welches auf dem Plugin Two-Factor aufsetzt, bis der Entwickler dieses an die neuen Gegebenheiten angepasst hat. Hierbei wird die weitere Auswahlmöglichkeit Webauthn in der Einstellung des Profils hinzugefügt. Der zuvor aktivierte FIDO-Token wird automatisch übernommen und unter FIDO2 genutzt. Somit ist die Webseite wieder über den zweiten Faktor abgesichert.

Eine passwortlose Anmeldung wie in der Nextcloud ist aber leider nicht möglich.

Webauthn in WordPress

Viel Spaß!

WordPress 6 – Das umfassende Handbuch

06. Mai 2023 um 04:00

WordPress 6 – Das umfassende Handbuch“ von Richard Eisenmenger und Florian Brinkmann ist 2022 in der 2. aktualisierten und erweiterten Auflage im Rheinwerk Verlag erschienen und umfasst 955 Seiten.

Dieses Buch basiert auf der Arbeit von Richard Eisenmenger, der 2021 nach schwerer Krankheit verstarb und mit „WordPress 5 – Das umfassende Handbuch“ den Grundstein zu dieser Neuerscheinung legte. Florian Brinkmann konnte dieses Werk weitgehend überarbeiten, aktualisieren und erweitern. Die Teile dieses Buches bauen didaktisch aufeinander auf und sind somit für Neulinge und Fortgeschrittene gleichermaßen interessant.

Auch in dieser Ausgabe geht der Autor einleitend und ausführlich auf zwei entscheidende Unterschiede zum Betrieb von WordPress ein; will man die Seite selbst hosten oder hosten lassen. Ob Dot-org oder Dot-com entscheidet oft der Preis, aber auch die Frage, wie weit sich der Nutzer auf die Technik und die Vorzüge Freier Software selbst einlassen möchte.

Das Buch ist in vier Teile gegliedert.

TEIL I WordPress installieren und bedienen gibt dem Leser einen Einblick über die Möglichkeit einer lokalen Installation auf dem PC in einer Virtualisierungsumgebung zum Testen, aber auch zur finalen Installation bei einem Webhoster seiner Wahl. Als erste Anlaufstelle wird hier auf den Open-Source-Spezialisten Bitnami verwiesen, von dem man sich ein vorkonfiguriertes Anwendungspaket herunterladen kann, um WordPress auf einem PC oder Notebook auszuprobieren. Begrifflichkeiten, wie Frontend und Backend werden hinreichend besprochen. Weiterhin werden ausreichende Tipps und Hinweise zur Administration, Konfiguration und Absicherung der eigenen Webseite gegeben. Diese Erläuterungen setzt der Autor anhand des Themes Twenty Twenty-Two praxisnah um.

Mit WordPress 5.0 wurde im Jahre 2018 der neue Block-Editor Gutenberg eingeführt, auf den in diesem Teil sehr ausführlich eingegangen wird. Dies dient nicht nur dazu Kritiker dieses Editors zu überzeugen, sondern gibt einen Einblick in die vielfältigen Gestaltungsmöglichkeiten dieses Werkzeugs.

TEIL II WordPress-Website anpassen und erweitern geht auf die neuen Möglichkeiten des mit WordPress 6 eingeführten Full Site Editing ein. Hiermit wird dem Anwender eine Möglichkeit gegeben, die neuen Block-Themes noch freier und umfangreicher zu gestalten als im bekannten Customizer.

Weiterhin zeigt dieser Teil des Handbuches, wie man mit WordPress einen Blog, eine statische Webseite, eine Community-Seite oder einen Online-Shop mit WooCommerce aufbauen kann.

TEIL III WordPress optimieren und warten behandelt Themen wie Updates, Updateverhalten, Backups, Wartung, Suchmaschinenoptimierung und Umzug einer WordPress-Seite auf eine andere. Der Leser findet viele nützliche Tipps und Hinweise rund um die Sicherheit sowie den reibungslosen Betrieb der eigenen Webseite. Themen wie die Optimierung der Zugriffsgeschwindigkeit über Aktivierung eines Caches als Erweiterung, aber auch die Option, die Seite über ein Plugin bei Bedarf in einen Wartungsmodus zu versetzen, sind hinreichend beschrieben.

TEIL IV WordPress für Entwicklerinnen und Entwickler ist für diejenigen interessant, die noch tiefer in das Content Management System einsteigen möchten, um eventuell Plugins oder Themes selbst zu entwickeln bzw. die eigene Webseite noch individueller zu gestalten.

Das Buch umfasst 21 Kapitel.

  • Was Sie mit WordPress vorhaben und wo Sie jetzt weiterlesen
  • WordPress-Installation in wenigen Minuten
  • WordPress-Installation – flexibel
  • Online-Installation beim Webhoster
  • Administration und Konfiguration von WordPress
  • Inhalte veröffentlichen
  • Benutzer und Besucher
  • Design anpassen
  • Neue WordPress-Funktionen mit Plugins hinzufügen
  • Das Blog
  • Die Community
  • Einen Online-Shop mit WooCommerce betreiben
  • WordPress-Wartung und Pflege
  • Migrationen, Synchronisationen und Deployments
  • Sicherheit ausbauen
  • Performance- und Suchmaschinenoptimierung
  • Notfallmaßnahmen
  • Grundwissen für WordPress-Entwicklerinnen und Entwickler
  • Theme entwickeln
  • Plugin und Block entwickeln
  • Rechtliche Aspekte: Newsletter, Datenschutz und Cookies

Leseproben und Downloads

Fazit

„WordPress 6 – Das umfassende Handbuch“ ist, wie der Name schon verrät, ein ideales Nachschlagewerk für Einsteiger und versierte WordPress-Nutzer gleichermaßen. Florian Brinkmann geht in der fast tausendseitigen Überarbeitung dieses Werkes so ziemlich auf jedes Szenario ein und hilft dem Leser beim Auf- bzw. Ausbau der eigenen Webseite mit dem Content Management System WordPress. Zahlreiche Beispiele in Form von Code-Schnipseln helfen, dabei Fehler beim Abtippen zu vermeiden.

Dieses ausführliche Handbuch ist aus den zuvor genannten Gründen eine klare Empfehlung.

VirtualBox 7 auf Ubuntu 22.04

28. Mai 2023 um 11:19

Da die in den Repositories von Ubuntu 22.04 enthaltene VirtualBox 6.1 schon ein wenig eingestaubt ist, möchte ich heute zeigen, wie man die aktuelle Version 7.0 installiert.

VirtualBox 7.0

Paketquelle hinzufügen

Dazu fügt man zuallererst den Schlüssel zur Paketquelle hinzu.

wget -O- https://www.virtualbox.org/download/oracle_vbox_2016.asc | sudo gpg --dearmor --yes --output /usr/share/keyrings/oracle-virtualbox-2016.gpg

Diese wird dann in die Datei /etc/apt/sources.list.d/virtualbox.list eingetragen.

echo "deb [arch=amd64 signed-by=/usr/share/keyrings/oracle-virtualbox-2016.gpg] http://download.virtualbox.org/virtualbox/debian $(lsb_release -cs) contrib" | sudo tee /etc/apt/sources.list.d/virtualbox.list

Installation

Nun werden die Paketquellen aktualisiert und mögliche Upgrades ausgeführt.

sudo apt update && sudo apt upgrade -y

Über den Befehl

sudo apt install virtualbox-7.0

lässt sich nun problemlos VirtualBox 7.0 installieren.

Ein letzter Check nach dem Neustart des Systems zeigt über die Abfrage des Module Service Status der VirtualBox, ob das System korrekt läuft (siehe Grafik).

sudo systemctl status vboxdrv

 

Virtual Linux kernel module

Viel Spaß!

Nextcloud bei ALL-INKL.COM installieren

10. Juni 2023 um 15:00

Heute möchte ich zeigen, wie einfach man seine eigene Cloud mit Nextcloud beim Shared-Hoster all-inkl.com realisieren kann. Hierbei sind ein paar Dinge zu beachten.

Ich nutze Nextcloud quasi seit der ersten Stunde, erst auf einem vServer und später auf einem Homeserver. Die letztere Variante ist natürlich die, die mir am besten gefällt, da meine Daten zu Hause aufbewahrt werden und nicht auf den Rechnern Dritter.

Wenn ich eine Cloud bei einem Shared-Hoster wie all-inkl.com installiere, liegen meine Daten zwar nicht zu Hause, jedoch gebe ich die Hoheit hierüber nicht ganz in fremde Hände. Es ist schon ein beruhigenderes Gefühl, der Administrator seiner eigenen Cloud zu sein, wobei weitere Abstriche gemacht werden müssen. So können Erweiterungen wie Nextcloud-Talk, Collabora-Office etc. nicht genutzt werden. Trotz dieser Einschränkungen erhält man aber eine voll funktionstüchtige und schnelle File-Sharing-Lösung. Die wichtigsten Funktionen, wie die Datenspeicherung (z.B. Dateien, Kalender, Kontakte etc.), erledigt die Nextcloud nach der Installation beim Hoster all-inkl.com problemlos. Somit ist diese Variante durchaus interessant für kleine Firmen, Vereine und natürlich auch Privatpersonen.

Installation

Zuallererst macht man sich Gedanken über die Domain bzw. Subdomain für dieses Vorhaben. Ich habe für den produktiven Test dieses Artikels eine Subdomain cloud.doman.tld verwendet (domain.tld ist hierbei eine fiktive Adresse und muss entsprechend angepasst werden).

Wurde die Subdomain eingerichtet, geht man im KAS auf Software-Installation -> Software auswählen -> Software -> Cloud und wählt Nextcloud. Diese wird dann in das entsprechende Verzeichnis zur zuvor erstellten Subdomain installiert. Dabei wird eine neue Datenbank erstellt. Um das Ganze realisieren zu können, ist mindestens das Paket ALL-INKL privat beim Hoster zu buchen. Nach der Eingabe des Benutzernamens, des Passwortes und der Mailadresse des neuen Administrators der Cloud sowie der Bestätigung der Nutzungsbedingungen, wird die Installation ausgeführt. Nach ein paar Minuten ist die Nextcloud nun bereit für den ersten Login.

In den Administratoreinstellungen der Nextcloud findet man allerdings einige Fehlermeldungen, die es für den reibungslosen Betrieb der eigenen Cloud zu beseitigen gilt.

 

Fehlermeldungen

Fehlermeldungen beseitigen

Fehlermeldungen bezüglich des fehlenden SSL-Zertifikats lassen sich durch Erstellung eines Let’s Encrypt Zertifikates beseitigen. Hierbei sind die Einstellungen SSL aktivieren, SSL erzwingen und HSTS aktivieren zu setzen. Weiterhin muss folgender Wert angepasst werden: max-age = 15552000.

Um die PHP-Speichergrenze zu erhöhen, muss in die Datei .user.ini im Hauptverzeichnis wie folgt erweitert werden. Zu beachten hierbei ist, dass nach einem Nextcloud-Upgrade diese Änderungen wieder verloren gehen und wiederholt werden müssen.

mbstring.func_overload=0
always_populate_raw_post_data=-1
default_charset='UTF-8'
output_buffering=0

memory_limit=512M 
max_execution_time=7200

Die Fehlermeldung zum Memory Cache lässt sich leider nicht beseitigen, da OPcache aus Sicherheitsgründen als Filecache beim Hoster installiert ist.

Eine weitere Fehlermeldung findet man in der Nextcloud unter Verwaltung -> Grundeinstellungen. Diese betrifft die Hintergrund-Aufgaben.

Damit der Server ordnungsgemäß funktioniert, ist es wichtig, Hintergrundjobs richtig zu konfigurieren. Cron ist die empfohlene Einstellung. Weitere Informationen findest du in der Dokumentation. 

Um diese Fehlermeldung zu eliminieren, erstellt man im KAS von all-inkl.com über Tools -> Cornjobs einen neuen Cronjob, der die Hintergrund-Aufgaben erledigt (siehe Grafik).

Als E-Mail-Filter sollte success gewählt werden. So bekommt man nur dann System-Nachrichten, wenn der angelegte Conjob fehlerhaft ausgeführt wird.

Cronjob

Unter Verwaltung -> Grundeinstellungen wird nun in der Nextcloud die Einstellung Webcron gewählt (siehe Grafik).

Hintergrund-Aufgaben

Nun ist die eigene Cloud einsatzbereit und kann genutzt werden.

Viel Spaß!

Nixie Uhr selbst bauen

09. Juli 2023 um 19:41

Vor meinem Urlaub hatte ich ein tolles YouTube-Video von Teslaundmehr gesehen, was mich dazu animierte, eine stylische Nixie Uhr selbst zu bauen. Das kleine Projekt wollte ich natürlich sofort in die Tat umsetzen. Nixie-Röhren erfreuten sich in den 1960er- und 1970er-Jahren vor allem als Ziffernanzeige in Messgeräten und elektronischen Rechenmaschinen großer Beliebtheit. Diese Röhren sind oft nur noch gebraucht erhältlich.

Auch wenn es sich hierbei um kein Open-Source Vorhaben handelt, möchte ich meine Erfahrung teilen und vielleicht den ein oder anderen zum Nachbauen animieren.

Ich habe also auf eBay nach den benötigten Nixie-Röhren IN-14 gesucht und musste feststellen, dass die Preise aufgrund der geopolitischen Lage enorm angezogen haben. Egal, ich hatte mein Projekt gefunden und gleich Röhren bei einem osteuropäischen Anbieter geordert, die dann fast einen Monat auf dem Weg zu mir waren.

Die Platine Zirrfa 5V Elektronische DIY kit in14 nixie digitale LED uhr platine kit PCBA habe ich auch, wie im Video beschrieben, bei AliExpress bestellt. Hierbei ist darauf zu achten, dass Glimmlampen für die Kommastellen der Anzeige dabei sind. Bei näherer Suche fand ich sogar ein schönes Holzgehäuse inkl. Glimmlampen, Messing-Accessoires und Metallknöpfen zur Bedienung der Uhr.

Für die Real Time Clock wurde noch eine 3V Batterie CR1220 benötigt, die ich bei Amazon bestellen konnte.

alle benötigten Bauelemente für die Nixie Uhr

Da alle Teile erst zwei Tage vor meinem Urlaub komplett bei mir zu Hause eintrafen, musste ich die Montage auf nach dem Urlaub verschieben.

Nun ist meine Nixie-Clock allerdings fertig und das Resultat kann sich wirklich sehen lassen.

Quelle: YouTube

Fazit

Die einzelnen Komponenten waren zwar nicht gerade günstig, jedoch ist die fertige Nixie Uhr ein echter Hingucker. Mit etwas handwerklichem Geschick beim Zusammenbau und Löten kann man einen einzigartigen Retro Zeitmesser selbst bauen.

Memory Caching mit Redis für Nextcloud 27

14. Juli 2023 um 16:00

Wer bisher meinen Anleitungen zur Installation der Nextcloud auf dem Raspberry Pi gefolgt ist, setzt im Moment das Raspberry Pi OS (64-bit) basierend auf Debian 11 mit dem Webserver Apache 2 und PHP 8.1 aus einer Fremdquelle ein. Nach dem Upgrade auf Nextcloud Version 27 erscheint neben dem Hinweis, die Datenbank mit fehlenden Inidizes zu fixen, folgende Fehlermeldung in den Sicherheits- & Einrichtungswarnungen:

Die Datenbank wird zum Sperren von Transaktionsdateien verwendet. Um die Leistung zu verbessern, richte bitte, sofern verfügbar, Memcache ein. Weitere Informationen findest du in der Dokumentation ↗.

Sicherheits- & Einrichtungswarnungen

Bisher bin ich allein mit APCu als Memcache recht gut gefahren. Nun möchte jedoch die Nextcloud in Version 27 einen funktionellen Redis-Server aufgesetzt bekommen.

Da ich, wie oben erwähnt, im Moment PHP 8.1 verwende, muss ich neben Redis auch das entsprechende Paket für diese PHP-Version herunterladen und installieren.

sudo apt install redis-server php8.1-redis

Ist dies geschehen, wird die /etc/redis/redis.conf konfiguriert.

sudo nano /etc/redis/redis.conf

Hierbei sind die entsprechenden Einträge zu suchen, auszukommentieren und anzupassen. Mit Ctrl + o wird die Konfiguration gespeichert mit Ctrl + x der Editor wieder verlassen.

unixsocket /var/run/redis/redis.sock
unixsocketperm 770

Nun kann der Redis-Server gestartet werden.

sudo service redis start

Jetzt wird noch redis der Gruppe www-data hinzugefügt.

sudo usermod -aG redis www-data

Damit das alles funktioniert, muss Redis in die Konfiguration der Nextcloud eingetragen werden.

sudo nano /var/www/html/nextcloud/config/config.php

In meinem Fall wird dann folgender Block unter die Zeile ‚memcache.local‘ => ‚\\OC\\Memcache\\APCu‘, gesetzt:

'filelocking.enabled' => true,
  'memcache.locking' => '\OC\Memcache\Redis',
  'redis' => array(
     'host' => 'localhost',
     'port' => 6379,
     'timeout' => 0.0,
      ),

Nach dem Abspeichern via Ctrl + o und dem Verlassen des Editors mit Ctrl + x wird der FastCGI-Prozessmanager PHP-FPM neu gestartet.

sudo service php8.1-fpm restart

Nun sollte die Fehlermeldung verschwunden sein.

Viel Spaß!

OCC-Befehle bei ALL-INKL.COM ausführen

29. Juli 2023 um 09:07

Vor ein paar Tagen hatte ich im Artikel „Nextcloud bei ALL-INKL.COM installieren“ erklärt, wie man seine eigene Nextcloud beim Hoster ALL-INKL.COM aufsetzen kann.

Nachdem die Cloud dort installiert ist, sollte man damit beginnen, die Fehlermeldungen in den „Sicherheits- und Einrichtungswarnungen“ abzuarbeiten. Die meisten Fehlermeldungen können nach der Installation recht einfach eliminiert werden. Leider ist es aber nicht möglich, alle zu beseitigen, was jedoch den fehlerfreien Betrieb der eigenen Cloud nicht weiter beeinflussen sollte.

Wie verhält es sich aber, wenn es in Folge von Upgrades zu weiteren Fehlermeldungen kommt? Diese werden i.d.R. mit einem entsprechenden OCC-Befehl behoben. Hat man bei ALL-INKL ein entsprechendes Hosting-Paket gebucht, dann muss man hier etwas anders vorgehen als z.B. auf dem eigenen Server.

Variante 1

Ab dem Paket Premium hat der Nutzer die Möglichkeit sich via SSH einzuloggen. Da man jedoch über keine root-Rechte verfügt, muss hier der entsprechende OCC-Befehl an die Gegebenheiten angepasst werden. Dies setzt allerdings voraus, dass man mindestens PHP 8 verwendet (bei niedrigereren Versionen ist der Befehl entsprechend anzupassen).

Im folgenden Beispiel zeige ich, wie fehlende Indizes der Datenbank hinzugefügt werden. Dazu wählt man sich via SSH ein, wechselt in das Hauptverzeichnis der Nextcloud und führt folgenden Befehl aus:

php80 -d memory_limit=512M ./occ db:add-missing-indices

Variante 2

Ist der Zugriff über SSH nicht möglich, können OCC-Befehle mit einem kleinen Trick ausgeführt werden. Hierzu wird eine PHP-Datei mit folgendem Inhalt erstellt. Der Dateiname spielt dabei keine Rolle. Wenn man z.B. den Dateinamen oc.php verwendet, kann das Skript über die entsprechende Domain mit https://cloud.domain.tld/occ.php im Browser angestoßen werden.

<?php
exec("/usr/bin/php80 -d memory_limit=512M ./occ db:add-missing-indices");
?>

Hier noch ein Beispiel, wie man die Nextcloud in den Wartungsmodus versetzt

<?php
exec("/usr/bin/php80 -d memory_limit=512M ./occ maintenance:mode --on");
?>

und dort wieder heraus holt.

<?php 
exec("/usr/bin/php80 -d memory_limit=512M ./occ maintenance:mode --off"); 
?>

Zum Schluss sollte die zusätzlich erstellte PHP-Datei wieder gelöscht werden, da sonst ein manuelles Upgrade auf die nächsthöhere Nextcloud Version nicht ausgeführt werden kann.

Was ist ein eigentlich ein Raspberry Pi?

17. August 2023 um 16:56

Der Raspberry Pi ist ein kleiner und günstiger Computer, der viele spannende Möglichkeiten bietet, um zu lernen, zu basteln und zu programmieren. In diesem Artikel werde ich einige grundlegende Informationen über den Raspberry Pi geben, wie er entstanden ist, was er kann und wie du ihn nutzen kannst.

Der Raspberry Pi wurde von der Raspberry Pi Foundation entwickelt, einer gemeinnützigen Organisation aus Großbritannien, die sich zum Ziel gesetzt hat, die digitale Bildung weltweit zu fördern. Die Idee für den Raspberry Pi kam von Eben Upton, einem Informatiker und Dozenten an der Universität Cambridge, der feststellte, dass die Zahl der Studienanfänger in seinem Fach stark zurückgegangen war. Er vermutete, dass dies daran lag, dass die Schüler die Lust am Experimentieren mit Computern verloren hatten. Er wollte daher einen einfachen und billigen Computer schaffen, der die Neugier und Kreativität der jungen Generation wieder wecken sollte.

Der erste Raspberry Pi wurde im Jahr 2012 veröffentlicht und kostete nur 35 US-Dollar. Er bestand aus einer einzigen Platine mit einem Broadcom-Chip, der eine ARM-CPU, eine GPU, einen RAM-Speicher und verschiedene Anschlüsse hatte. Der Raspberry Pi hat kein Gehäuse, kein Netzteil, keine Tastatur, keine Maus und keinen Bildschirm. Diese Teile müssen separat gekauft werden. Der Raspberry Pi kann über den verbauten SD-Karten-Slot oder einen USB-Stick gestartet werden, auf dem ein Betriebssystem wie das Raspberry Pi OS installiert ist.

Der Raspberry Pi war ein großer Erfolg und wurde schnell von Hobbyisten, Lehrern, Schülern und sogar professionellen Entwicklern auf der ganzen Welt angenommen. Er wurde und wird für viele verschiedene Zwecke eingesetzt, wie zum Beispiel für Spiele, Musik, Kunst, Robotik, Wetterstationen, Heimautomation und vieles mehr. Die Raspberry Pi Foundation veröffentlicht regelmäßig neue Modelle und Versionen des Raspberry Pi, die leistungsfähiger sind als die vorherigen. Bis heute wurden mehr als 40 Millionen Raspberry Pi verkauft.

Der Raspberry Pi ist nicht nur ein Computer zum Spielen und Lernen, sondern auch eine Plattform zum Erstellen und Erfinden. Mit dem Raspberry Pi kannst du deine eigenen Projekte verwirklichen, indem du ihn mit Sensoren, Motoren, LEDs, Kameras oder anderen Geräten verbindest und ihn mit einer Programmiersprache wie Python steuerst. Du kannst auch die vielen Online-Ressourcen nutzen, die dir die Raspberry Pi Foundation oder die Raspberry Pi Community zur Verfügung stellen. Dort findest du Anleitungen, Beispiele, Tipps und Inspirationen für deine eigenen Ideen.

Spannende Projekte lassen sich so, dank der GPIO-Schnittstelle, problemlos umsetzen. GPIO steht für General Purpose Input Output und bezeichnet programmierbare Ein- und Ausgänge, die du für unterschiedliche Zwecke nutzen kannst. Der Raspberry Pi hat eine Reihe von GPIO-Pins entlang der oberen Kante der Platine. Diese Pins dienen als Schnittstelle zu anderen Systemen, Schaltungen oder Bauteilen, um diese über den Raspberry Pi zu steuern oder Daten auszutauschen.

GPIO-Schnittstelle Raspberry Pi 1

Mit den GPIO-Pins kannst du zum Beispiel LEDs, Taster, Sensoren, Motoren oder Displays anschließen und programmieren. Du kannst verschiedene Programmiersprachen wie Python, C oder Scratch verwenden, um mit den GPIO-Pins zu interagieren.

Es gibt viele spannende Projekte, die du mit dem Raspberry Pi verwirklichen kannst. Der Raspberry Pi ist ein kleiner und günstiger Computer, der sich für viele verschiedene Zwecke eignet. Hier sind einige Beispiele für Projekte, die du mit dem Raspberry Pi umsetzen kannst:

  • Webserver: Du kannst den Raspberry Pi als Webserver nutzen, um deine eigene Website zu hosten oder Daten zu speichern.
  • Videokonferenz-Station: Du kannst den Raspberry Pi mit einem Monitor, einer Kamera und einem Mikrofon ausstatten, um eine Videokonferenz-Station für Zoom, Skype und Co. zu erstellen.
  • Luftqualitätsmonitor: Du kannst den Raspberry Pi mit einem Sensor verbinden, um die Luftqualität in deiner Umgebung zu messen und anzuzeigen.
  • 3D-Drucker: Du kannst den Raspberry Pi mit einem 3D-Drucker verbinden, um ihn fernzusteuern, zu überwachen und zu optimieren.
  • Retro-Spielekonsole: Du kannst den Raspberry Pi mit einem Gehäuse, einem Controller und einer Software ausstatten, um eine Retro-Spielekonsole zu bauen, die viele klassische Spiele emulieren kann.
  • Smart Home: Du kannst den Raspberry Pi mit verschiedenen Sensoren, Aktoren und Geräten verbinden, um dein Zuhause smarter zu machen. Zum Beispiel kannst du Lichter, Heizung, Sicherheit oder Musik steuern.

Verknüpfung unter Ubuntu erstellen

01. Oktober 2023 um 10:10

Was mit Windows selbstverständlich ist, sollte auch mit Linux möglich sein. Heute möchte ich auf die Erstellung von Verknüpfungen eingehen, im speziellen Fall auf das Setzen von Softlinks unter Ubuntu.

Verknüpfungen haben den Vorteil, dass man auf eine bestehende Datei verlinken kann, ohne ein Duplikat dieser Datei anlegen zu müssen. Ein Beispiel hierfür wäre ein Verzeichnis, in dem alle Rechnungen liegen, man aber aus anderen Verzeichnissen genau auf diese zugreifen kann. Hier ist es sinnvoll mit Verknüpfungen wie unter Windows zu arbeiten. Diese Art von Verknüpfungen werden ganz einfach über sogenannte Softlinks realisiert.

Verknüpfung via Terminal

Im folgenden Beispiel zeige ich, wie man über das Terminal von der Datei /home/intux/Original/i.svg im Verzeichnis /home/intux/Verknüpfung/ einen Softlink auf das Original erzeugt. Hierzu öffnet man das Terminal und gibt folgenden Befehl (die Eingabe ist den entsprechenden Gegebenheiten anzupassen) ein:

ln -s /home/intux/Original/i.svg /home/intux/Verknüpfung/

Die Grafik zeigt die Verknüpfung auf i.svg.

Softlink

Verknüpfung über den Dateimanager

Das Ganze lässt sich natürlich auch grafisch lösen. Hierzu öffnet man Dateien und aktiviert unter „Optionale Aktionen im Kontextmenü“ den Schalter „Verknüpfungen erstellen“. Nun kann man im Originalverzeichnis mit einem Rechtsklick auf die entsprechende Datei eine Verknüpfung erstellen, die sich dann beliebig verschieben lässt.

Dateien – Einstellungen
Dateien – Einstellungen – Verknüpfung erstellen
Dateien – Einstellungen – Verknüpfung

Bootreihenfolge im GRUB ändern

07. Oktober 2023 um 14:04

Ab und zu installiere ich ein Betriebssystem parallel zum Hauptsystem meines Testrechners. Je nach dem was ich gerade vorhabe, verweilt das neue OS doch etwas länger auf dem Computer, bis es wieder gelöscht wird.

Im konkreten Fall wurde ein Linux Mint neben Ubuntu installiert. Nach dem erfolgreichen Setup, steht das neue OS an erster Stelle der Bootreihenfolge. Das ist nicht weiter schlimm, da man bei jedem Neustart das Betriebssystem, welches es zu booten gilt, per Hand auswählen kann. Hierzu hat man per Standard zehn Sekunden Zeit.

GRUB Startmenü

Da aber Ubuntu häufiger genutzt wird als Linux Mint, habe ich kurzerhand die Bootreihenfolge angepasst.

Bootreihenfolge festlegen

Hierzu starte ich das zuletzt installierte Linux Mint und editiere, wie in der Abbildung zu sehen, die Datei /etc/default/grub.

GRUB Konfiguration
sudo nano /etc/default/grub

Da in der Bootreihenfolge Ubuntu an 3. Stelle platziert ist und die Reihenfolge mit 0 beginnt, ändert man im speziellen Fall GRUB_DEFAULT von 0 auf 2.

GRUB_DEFAULT=2

Werte in GRUB speichern

Nach dem Abspeichern werden die Werte mit

sudo update-grub

in den Bootmanager geschrieben. Nach dem Neustart bootet nun automatisch Ubuntu.

Tipp

Über GRUB_TIMEOUT kann die Verweildauer beim Booten angepasst werden; i.d.R reichen hier 2 Sekunden.

GRUB_TIMEOUT=2

Upgrade von Linux Mint 20 -> 21.2

18. Oktober 2023 um 17:25

Aus gegebenen Anlass möchte ich heute zeigen, wie es möglich ist, von Linux Mint 20 auf die momentan aktuelle Version Linux Mint 21.2 abzugraden. Hintergrund war die Frage eines Users in der Community, ob ein Upgrade grundsätzlich möglich sein. Hierbei soll vermieden werden, dass das System neu installiert werden muss.

Um dies nachvollziehbar zu testen, wurde ein Linux Mint 20 auf meinem Testrechner installiert und alle notwendigen Schritte bei der Aktualisierung festgehalten.

Mint 20 „Ulyana“ – Aktualisierungsverwaltung
Mint 20 „Ulyana“ – Aktualisierungsverwaltung und Systeminformationen

20 – > 20.3

Zu aller erst wird Linux Mint auf die Version 20.3 angehoben. Dies erledigt man nach der Aktualisierung des Systems über Aktualisierungsverwaltung -> Bearbeiten -> System aktualisieren auf „Linux Mint 20.3 Una“. Ist dies geschehen, muss der Rechner neu gestartet werden.

Mint 20 „Una“ – Systeminformationen

20.3 -> 21

Nach dem Reboot führt man nun folgende Befehle aus:

apt update
apt install mintupgrade
sudo mintupgrade
apt remove mintupgrade
sudo reboot

Während des Mintupgrade muss man zwingend ein Backup via Timeshift anlegen. Dies dient der Sicherheit als Fallback. Falls doch etwas schief geht, kann man so auf das zuvor erstellte Backup zurückgreifen.

Das Paket mintupgrade wird nach dem erfolgreichen Upgrade wieder entfernt und das System neu gebootet.

Upgrade auf Linux Mint 21 „Vanessa“
erfolgreiches Upgrade auf Linux Mint 21 „Vanessa“

21 -> 21.2

Nun geht es weiter über Aktualisierungsverwaltung -> Bearbeiten -> System aktualisieren auf „Linux Mint 21.2 Victoria“. Nach dem abschließenden Reboot sollte nun die aktuelle Version 21.2 fehlerfrei laufen.

Campus Medien Tage 2023

20. Oktober 2023 um 04:00

Am 16. September 2023 fanden in Halle am Institut für Informatik der Martin-Luther-Universität die Campus Medien Tage 2023 statt.

Hierzu wurde ich von der Studierendenzeitschrift hastuzeit angefragt, einen kleinen Workshop zum Thema WordPress durchzuführen. Da dies eine gute Plattform bot, die freie Software WordPress vorzustellen, habe ich nicht lange überlegt und ja gesagt. Ich wusste zu diesem Zeitpunkt nicht, in wie weit das Puplikum schon mit diesem Content-Management-System gearbeitet hat, deshalb habe ich mich kurzerhand dazu entschieden auf die Grundlagen von WordPress einzugehen und die Basics etwas näher zu beleuchten.

Instagram-Post cameta_halle
Flyer der Campus Medien-Tage 2023
Campus Medien Tage 2023

Da tatsächlich nur ein Viertel der anwesenden Studierenden mit WordPress (aus administrativer Sicht) bisher in Berührung kam, lag ich mit meinem Gefühl hier durchaus richtig. Einige Fragen konnten in der anschließenden Diskussion noch beantwortet werden.

Neben meinem Vortrag gab es viele weitere interessante Themen, wie Grafikbearbeitung, die richtige Verwendung von Suchmaschinen, Künstliche Intelligenz, Fotografie, Tipps zum redaktionellen Schreiben und Rechtliches, in Form von Vorträgen und Workshops.

Geöffnetes Notebook im Workshop CaMeTa
Workshop CaMeTa

Alles in allem war es eine sehr gute Veranstaltung, organisiert und durchgeführt von engagierten jungen und wissbegierigen Menschen.

Gruppenfoto der Studierenden
Gruppenfoto

QCAD im Straßenbau

22. Oktober 2023 um 04:00

Vor über 10 Jahren hatte ich im Artikel „QCad getestet“ darüber berichtet, ob die AutoCAD-Alternative QCAD (inzwischen mit vier großen Buchstaben geschrieben) im Baustellenalltag einer Straßenbaufirma einsetzbar wäre. Da man aber zu dieser Zeit keine Koordinaten punktgenau abgreifen konnte, habe ich das Projekt nicht weiter verfolgt.

Mit der aktuellen Version 3.28 sieht dies jedoch ganz anders aus. QCAD stellt nun tatsächlich eine Alternative zu anderen kommerziellen Programmen dar und ist durchaus für Bauleiter und Poliere geeignet, um Aufmaße zu erstellen bzw. kleinere Absteckungen vorzunehmen.

Installation

Es gibt zwei verschiedene Versionen von QCAD, zum einen QCAD Professional und zum anderen die freie und kostenlose QCAD Community Edition. Um die CAD-Software unter Ubuntu/Debian zu installieren, lädt man die aktuelle Version als „QCAD Demo“ herunter und führt das Installationsscript aus. Dazu wechselt man in das Download-Verzeichnis, wo die heruntergeladene Version liegt, macht das Script ausführbar

chmod +x qcad-*

und installiert mit

./qcad-*

die Software. Nun hat man 15 Minuten Zeit sich die Pro-Version genauer anzusehen. Ich persönlich finde die Zeit etwas kurz bemessen, um sich einen genauen Überblick über die Vollversion zu verschaffen. Nach Ablauf der erwähnten 15 Minuten wird über ein Widget angezeigt, dass die Testphase abgelaufen ist.

Pro vs. Community Edition

Nun kann man sich entscheiden die Pro-Version zu kaufen oder stattdessen auf die Community-Edition downzugraden. QCAD Professional verfügt über einen größeren Funktionsumfang, wie z.B. der Triangulation oder des DWG-Supports.

Umwandlung der Demo-Version in die Community Edition

Wie aus der Demo eine Community Edition wird, beschreibt der schweizer Entwickler folgendermaßen:

Wenn Sie die kostenlose Open Source QCAD Community Edition verwenden möchten, können Sie die Demoversion für Ihre Plattform herunterladen (siehe oben) und dann das QCAD Professional Add-On entfernen (klicken Sie im Widget „Testversion“ auf „Entfernen“ und folgen Sie den Anweisungen auf dem Bildschirm). Alternativ können Sie die QCAD Community Edition von den Quellen unten selbst kompilieren.

Quelle: https://qcad.org/de/download

Das Ganze lässt sich also relativ leicht realisieren. Hierzu sind einfach die Hinweise im Widget (nach Ablauf der Testphase) zu befolgen. Dies bedarf dem Löschen einiger Dateien im Installationspfad (siehe Grafik).

Anzeige zum Löschen der erforderlichen Dateien zum Downgrade auf Community Edition
Downgrade auf Community Edition

Ich habe mich für diesen Test bewusst für die für mich ausreichende Community-Variante entschieden, da diese alle Features beinhaltet, die ich zum Arbeiten benötige.

Anzeige QCAD Community Edition
QCAD Community Edition

Beispiele

Hier möchte ich einige wichtige Funktionen zeigen, die mir für den produktiven Einsatz genügen. Zum einen geht es um das Abgreifen von Koordinaten. Im gezeigten Beispiel können Koordinaten an einen Rover übergeben werden, um eine Bordanlage exakt auf der Baustelle abzustecken.

Anzeige Koordinaten Absteckpunkt Bord auf dem Lageplan
Koordinaten Absteckpunkt Bord

Eine andere wichtige Anwendung ist das Messen von Entfernungen im Lageplan.

Anzeige Entfernung messen auf dem Lageplan
Entfernung messen

Ein weiteres Tool hilft dabei, Flächen in Plänen zu messen. Dies geht ganz einfach in der linke Symbolleiste über Informationswerkzeuge -> Polygon Fläche.

Anzeige Fläche Verkehrsinsel auf dem Lageplan
Fläche Verkehrsinsel

Fazit

QCAD ist ein wirklich gutes Anwendungsprogramm, welches sich durchaus für den Baustelleneinsatz eignet. Der Preis von 40€ für die Vollversion ist im Gegensatz zu Preisen, die Mitbewerber aufrufen, ein echtes Schnäppchen.

OB diese Anwendung in einem Ingenieurbüro allerdings mit den großen CAD-Programmen mithalten kann, kann ich nicht beurteilen. Jedoch lohnt es sich, einen Blick auf die Software der RibbonSoft GmbH zu werfen.

QCAD ist für Windows, macOS und Linux erhältlich.

Senden der Nachricht fehlgeschlagen

22. Oktober 2023 um 16:00

Seit 2016 verwende ich einen OpenPGP-Key, um bei Bedarf meine eMails zu verschlüsseln. Leider hat sich dieses Verfahren nicht so durchgesetzt, wie man es sich erhofft hat. Negativ wirkten sich auch u.a. auch die zahlreichen Attacken auf SKS-Keyserver und die dort hinterlegten öffentlichen Schlüssel aus. Durch die Verwendung des neuen Keyservers auf keys.openpgp.org kam jedoch etwas Ruhe in die ganze Sache. Zur Freude musste ich meinen Key nicht aufgeben, den ich tatsächlich hin und wieder einsetze.

Die eMails, welche ich von meinem Notebook versende, wurden bis letzte Woche mit diesem Key signiert. Das heißt, dass u.a. auch mein öffentlicher Schüssel an jede abgehende Nachricht angehängt wurde. Nun bemerkte ich aber, dass meine eMails, mit dem Hinweis „Senden der Nachricht fehlgeschlagen“, nicht mehr verschickt wurden. Schnell hatte ich herausgefunden, dass der Anhang Probleme machte. Also habe ich als Sofortmaßnahme die digitale Signatur mit OpenPGP abgeschaltet, was natürlich nur eine Übergangslösung darstellen sollte.

Heute konnte ich der Sache auf den Grund gehen und habe mir den Key in Thunderbird näher angesehen. Hier konnte ich jedoch nichts Außergewöhnliches feststellen.

Kein Backup, kein Mitleid

… so hört man es immer von den IT-Profis. Backups meines Schlüsselpaares existierten aber zum Glück. Bevor ich jedoch den Schlüssel in Thunderbird neu eingespielt habe, wurde meinerseits nochmals ein Backup des privaten Schlüssels über das Terminal mit

gpg --export-secret-keys -a user@domain.tld > secret.asc

angelegt. Dieses Backup packte ich nun zu den anderen. Hierbei fiel auf, dass der private Key nur 2,2kB groß war und das letzte Backup bei ca. 35kB lag. Eigentlich hätte doch der aktuelle Key größer sein müssen!?

Kurzerhand wurde also das letzte Backup des privaten Schlüssels in Thunderbird eingespielt und das Problem war tatsächlich gelöst. eMails können nun wieder mit digitaler Signatur versendet werden.

Ansicht Ende-zu-Ende-Verschlüsselung in Thunderbird privater OpenPGP-Schlüssel
Privater OpenPGP-Schlüssel in Thunderbird

Natürlich wurde gleich, mit dem oben erwähnten Befehl, ein aktuelles Backup erzeugt. Der neue private Key hat nun eine Größe von 36,8kB, was beruhigt.

Ende gut, alles gut!

Integration von OpenAI in Nextcloud

15. November 2023 um 17:43

Mit Hub 4 integriert Nextcloud die künstliche Intelligenz auf ethische Weise. So heißt es zumindest in der damaligen Vorstellung von Frank Karlitschek, CEO und Gründer der Nextcloud GmbH.

Nextcloud Hub 4 ist die erste Kollaborationsplattform, die intelligente Funktionen umfassend in ihre Anwendungen integriert und gleichzeitig die mit KI-Technologien einhergehenden Herausforderungen in Bezug auf Datenschutz und Kontrolle bewältigt.

Nextcloud Hub bietet fortschrittliche, KI-basierte Funktionen, von intelligenten Datei- oder Freigabe-Empfehlungen bis hin zur Erkennung verdächtiger Logins über neuronale Netzwerke und vieles mehr. Diese Version verbessert die bestehenden intelligenten Funktionen wie den intelligenten Posteingang in Mail und die Standortverwaltung mit Fotos und führt gleichzeitig die Dateiklassifizierung, die on-premises Übersetzung, die Umwandlung von Sprache in Text, Bilderstellung via Stable Diffusion und Dall-e, ChatGPT-basierte Texterzeugung, DeepL-Übersetzungen und mehr ein.

nextcloud.com

Diese intelligenten Funktionen findet man im Smart Picker. Hierüber wird es möglich, u.a. Links und Inhalte einzufügen. Weitere Optionen sind:

  • Aufgaben von Deck
  • Orte von Open Street Map
  • Wissensdatenbankeinträge von Collectives
  • Videos von YouTube und PeerTube
  • GIF-Dateien von Giphy
  • Vordefinierte Textausschnitte
  • Filme, Serien und Personen aus The Movie Database (TMDB)
  • Stable Diffusion (on-premises) oder Dall-E (online) generierte Bilder
  • ChatGPT generierter Text
  • Tabellen und mehr.

Den Smart Picker wählt man in der entsprechenden Anwendung (z.B. Text) aus, indem man ein „/“ eintippt. Dort öffnet sich ein Kontextmenü und die Anwendung kann ausgewählt werden.

Um jedoch auch Funktionen von OpenAI, wie ChatGPT, speech-to-text oder AI image nutzen zu können, muss zusätzlich die App OpenAI and LocalAI integration installiert werden. Hierzu benötigt man eine API, welche einen OpenAI-Account voraussetzt.

Smart Picker – OpenAI in der Nextcloud

Viel Spaß!

❌
❌