Der Umzug meiner Website zum Hoster all-inkl.com gestaltete sich etwas holprig. Nun sind aber zum Glück alle Artikel wieder verfügbar. Auf ein Problem stieß ich im Nachhinein dennoch. Und zwar gibt es im Footer den Bereich „Redaktionstipp„. Dieser füllte sich, als die Seite noch auf meinem Server lief, automatisch. Nach dem Umzug blieb diese Kategorie jedoch leer.
Das von mir verwendete Theme Newspaper von tagDiv bietet zwar zahlreiche Möglichkeiten der Darstellung meiner WordPress-Seite, jedoch erschloss sich mir nicht, wie ich Artikel in die zuvor erwähnte Rubrik schieben bzw. darstellen konnte. Nach ein wenig Recherche im Support-Forum fand ich dann den ausschlaggebenden Hinweis zu den fehlenden Redaktionstipps. Die Lösung ist hierbei relativ einfach. Ich musste nur die Kategorie „Featured“ anlegen. Hierüber kann ich nun Beiträge wie gewünscht kennzeichnen und darstellen lassen.
Gestern bekam ich den Hinweis, dass meine Nextcloud nun bereit für das Upgrade auf Nextcloud 25.0.1 wäre. Ich hatte schon die Vorahnung, es könnte Probleme geben die Version 24.0.7 auf die aktuellste Version anzuheben. Also habe ich mich nicht sofort an die Aktualisierung gewagt.
Das Upgrade über die Weboberfläche
Heute dann konnte ich das Ganze in Ruhe angehen. Ich habe das Upgrade via Webinterface angestoßen, mit dem Ergebnis, dass meine Cloud währenddessen irgendwann nicht mehr zu erreichen war. Es kam natürlich etwas Frust auf, aber ich wusste auch, dass die Chancen gut standen das Upgrade via CLI abzuschließen bzw. neu starten zu können.
Upgrade über das Terminal
Das Upgrade über das Terminal lief dann eigentlich sauber durch. Zum Schluss wurde ich wie gewohnt gefragt, ob der Wartungsmodus wieder deaktiviert werden soll, was ich natürlich bestätigte. Leider befand sich aber die Nextcloud via Web noch immer im Wartungsmodus. Also wechselte ich zurück in Terminal und schaltete den Wartungsmodus noch einmal ein und wieder aus. Das änderte jedoch nichts an der Situation. Die Nextcloud ließ sich so nicht aus dem Wartungsmodus heraus holen.
Nach einem Reboot hingegen, konnte ich mich wieder in meine Cloud einloggen. Hier erhielt ich jedoch folgende Fehlermeldung.
In der Datenbank fehlen einige Indizes. Auf Grund der Tatsache, dass das Hinzufügen von Indizes in großen Tabellen einige Zeit in Anspruch nehmen kann, wurden diese nicht automatisch erzeugt. Durch das Ausführen von „occ db:add-missing-indices“ können die fehlenden Indizes manuell hinzugefügt werden, während die Instanz weiter läuft. Nachdem die Indizes hinzugefügt wurden, sind Anfragen auf die Tabellen normalerweise schneller.
Fehlender Index „preferences_app_key“ in der Tabelle „oc_preferences“.
Ein fehlender Index musste noch der Datenbank hinzugefügt werden, damit das System wieder ohne Beanstandungen lief.
Die Lösung
Man wechselt einfach in das Nextcloud-Verzeichnis
cd /var/www/html/nextcloud
und fügt mit folgender Eingabe die fehlenden Indizes hinzu:
sudo -u www-data php occ db:add-missing-indices
Am Ende wurden alle Überprüfungen bestanden und mich erwartete die neue Nextcloud-Version 25 auf die ich mich schon gefreut hatte.
Mit dem Umzug meiner Webseite und meiner Domains zum Hoster all-inkl.com war es nötig die DynDNS meines Home-Servers anzupassen. Auf diesem nutze ich zum Abgleich, der sich ständig ändernden öffentlichen IP-Adressen, das Tool ddclient. Die neue Konfiguration muss in der Datei /etc/ddclient.conf entsprechend gespeichert werden.
Das für all-inkl.com angelegte Konfigurationsfile für ddclient sieht hierfür wie folgt aus:
# Configuration file for ddclient generated by debconf
#
# /etc/ddclient.conf
daemon=5m
protocol=dyndns2
use=web, web=checkip.dyndns.org/
server=dyndns.kasserver.com/
login=dyn0000000, password='passwort'
dyndns.example.de
ssl=no
In dieser Config sind die beim Hoster hinterlegten DynDNS-Daten (Login, Passwort, Host Name) zu ersetzen.
In letzter Zeit rollt wieder eine Abmahnwelle übers Land, die den ein oder anderen Betreiber eigener kleiner WordPress-Seiten kalt erwischen dürfte. Dieses Mal ist der Stein des Anstoßes die mögliche Einbinung von Google Fonts. Nicht, dass die Verwendung dieser Schriftarten nicht erlaubt wäre. Nein, es geht darum, dass diese Schriftarten von Google beim Aufruf der Seite i.d.R. erst heruntergeladen werden und es hierbei zu einem Austausch von IP-Adressen kommt, was kritisch bewertet wird.
Abhilfe schafft hier das Plugin Local Google Fonts. Dieses aktiviert man und setzt das Häkchen „Schriften automatisch laden“ (siehe Grafik). Danach besucht man die eigene Seite und klickt sich durch die Inhalte. Die entdeckten Google-Schriftarten werden nun lokal auf die Webseite geladen. Der Besucher bekommt diese dann nun direkt von der Webseite ausgeliefert und tauscht somit keine IP-Adressen mit Dritten (Google) aus.
Unter dem Motto „Bewusst sein“ finden am 11. und 12. März 2023 endlich wieder die Chemnitzer Linux-Tage statt. Nach zwei Jahren als Online-Veranstaltung ist die Freude riesengroß, die CLT wieder im Hörsaalgebäude der Technischen Universität Chemnitz abhalten zu können.
Auch 2023 haben sich die Chemnitzer Linux-Tage einen Platz an einem März-Wochenende gesucht. Also Kalender gezückt und den 11. und 12. März 2023 dick einkreisen! Es lohnt sich bestimmt.
Wir wünschen uns sehr, euch vor Ort wiederzusehen und hoffen, dass die Lage im März es zulässt, dass wir Linux- und Open-Source-Freunde Anfang 2023 nach Chemnitz einladen können. Aktuell planen wir für eine Präsenzveranstaltung iN gewohnter Umgebung. Über unsere Pressemitteilungen, Sozialen-Median und Themenseite könnt ihr euch diesbezüglich auf dem Laufenden halten.
Wer einen Raspberry Pi zu Hause als Webserver betreibt, wird sicher schon bemerkt haben, dass die Skriptsprache PHP 7.4 nur noch bis zum 28.11.2022 mit Security-Updates versorgt wurde. Das heißt konkret, PHP 7.4 ist End of Live (EOL). Das ist natürlich unschön, da die nächste Version des Raspberry Pi OS der Raspberry Pi Foundation auf Basis von Debian GNU/Linux 12 wahrscheinlich erst im Sommer 2023 veröffentlicht wird.
Was kann man nun tun?
Eine Möglichkeit wäre zu warten und zu hoffen, dass Sicherheitslücken, die sich noch auftun, nicht auf dem Home-Server für Einbrüche sorgen. Eine andere und weitaus sicherere Alternative ist, das Raspberry Pi OS mit der aktuellen PHP-Version 8.2 zu versorgen.
Es folgt eine kleine Anleitung.
Installation
Zuerst lädt man den Key für die neu einzubindende Paketquelle herunter.
Seit gestern ist die intux App offiziell im Google Play Store. Diese gibt 1:1 den Inhalt der Webseite intux.de wieder. Mit der App bleibt Ihr immer zu Inhalten meiner Seite auf dem Laufenden.
Seit letztem Jahr bin ich im Besitz eines XPS 13 9310. Dieses Gerät hatte ich in der Developer-Edition mit Ubuntu 20.04 erworben. Nach einem knappen haben Jahr wurde jedoch die aktuelle Long Term Support Version Ubuntu 22.04 veröffentlicht, für die das Gerät leider seitens Canonical noch keine Zertifizierung erhalten hat. Trotzdem war es mir wichtig die neue LTS produktiv auf diesem Gerät einzusetzen. Im Artikel „Erfahrungen mit Ubuntu 22.04“ habe ich darüber ausführlich berichtet.
Eine Quelle für Version 20.04 zu OEM-Erweiterungen war allerdings bis jetzt noch eingebunden. Fast alle Pakete wurden jedoch mit dem neuen OEM-Kernel obsolet, sodass ich diese aus der Paketverwaltung deaktivieren konnte. Ein Feature, auf welches ich ungern verzichtet hätte und welches als einziges nicht mehr zur Verfügung stand, war die Nutzung des Fingerabdrucksensors zur Anmeldung.
Das benötigte Paket konnte ich nun manuell heruntergeladen und einbinden.
Installation
Das Paket libfprint-2-tod1-goodix_0.0.4-0ubuntu1somerville1_amd64.deb wurde aus den Quellen von Canonical geladen
Einige Leser haben eine Nextcloud nach meinen Anleitungen und Vorgaben auf einem Raspberry Pi installiert, um ihre Daten nicht in fremde Hände zu geben, sondern diese in den eigenen vier Wänden zwischenzuspeichern. Seit Ende November verhangenen Jahres besteht hier jedoch ein Sicherheitsrisiko, da PHP 7.4 nicht mehr mit Sicherheits-Updates versorgt wird. Im Artikel „PHP 8.2 auf Raspberry Pi OS“ hatte ich bereits darauf hingewiesen.
Da sich PHP 8.2 nicht mit der aktuellen Version Nextcloud 25 verträgt, möchte ich heute zeigen, wie man PHP7.4-fpm mit PHP8.1-fpm ersetzen kann. Dabei gehe ich auch noch auf die spezifische Konfiguration der Nextcloud auf dem Raspberry Pi ein.
Installation
Zuerst wird der Key für die neu einzubindende Paketquelle heruntergeladen.
Ein Restart des Dienstes aktiviert diese anschließend.
sudo service php8.1-fpm restart
Jetzt wird in der apcu.ini
sudo nano /etc/php/8.1/mods-available/apcu.ini
noch am Ende diese Zeile eingetragen
apc.enable_cli=1
und abschließend der Webserver ein letztes Mal neu gestartet.
sudo service apache2 restart
Fazit
Mit ein wenig zeitlichem Aufwand lässt sich die eigene Cloud seitens der Skriptsprache wieder absichern. Auf das neue Release von Raspberry Pi OS zu warten, welches wieder eine mit Sicherheitspatches unterstützte PHP-Version mitbringt, wäre nicht ratsam.
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
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.
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.
Ü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.
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.
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).
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.
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.
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.
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.
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.
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.
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).
Ist die Adresse bekannt, erteilt man am Host bzw. Server die Freigabe zum Teilen. Dies geht über Einstellungen -> Freigabe.
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.
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.
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).
Dazu wird das Protokoll Remmina-VNC-Plugin gewählt.
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.
Die Verbindung sollte nun stehen und am Host kann gearbeitet werden.
Am entfernten Rechner wird im Tray angezeigt, dass auf diesen aus der Ferne zugegriffen wird.
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.
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.
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).
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.
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.
Sind alle Einstellungen korrekt, kann man sicher via SSH-Tunneling auf den entfernten Rechner zugreifen.
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.
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
„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.
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.
Paketquelle hinzufügen
Dazu fügt man zuallererst den Schlüssel zur Paketquelle hinzu.
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).
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 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.
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.
Unter Verwaltung -> Grundeinstellungen wird nun in der Nextcloud die Einstellung Webcron gewählt (siehe Grafik).
Nun ist die eigene Cloud einsatzbereit und kann genutzt werden.
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.
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.