Mit dem Node.js Modul pcf8574 ist es möglich, jeden Pin eines PCF8574/PCF8574A Porterweiterungs-ICs einzeln zu kontrollieren. Es ist eine Eigenentwicklung von mir und kann über den Node.js Paketmanager npm
installiert werden.
OpenVPN Server einrichten
OpenVPN ist eine Software zur Erstellung von virtuellen privaten Netzwerken (VPN).
Mit OpenVPN ist es möglich sichere Netzwerkverbindungen über unsichere Netzwerke (z.B. das Internet oder öffentliche WLANs) aufzubauen. Verwendet wird hierfür das Verschlüsselungsprotokoll SSL/TLS.
OpenVPN - Zugriff auf Netzwerk hinter einem Client
Ziel ist, über einen eigenen OpenVPN-Server, der auf einem dedizierten Server betrieben wird, Zugriff auf das lokale Netzwerk Zuhause (Heimnetz) zu erlangen. Es soll möglich sein, sich von überall mit dem VPN zu verbinden (z.B. über ein Smartphone) und dann auf das Heimnetzwerk zuzugreifen.
Zuletzt installierte Pakete auflisten (Ubuntu/Debian)
Möchte man sehen, welche Pakete unter Ubuntu oder Debian zuletzt installiert wurden, kann man sich mit folgendem Befehl behelfen:
1 | ls -cltr /var/lib/dpkg/info/ | grep \.list$ |
Kommentarfelder in Dia unter Ubuntu zu klein

Dia ist ein Programm zum Zeichnen von Diagrammen wie Flussdiagrammen, Datenbank-Diagrammen, UML-Diagrammen usw. Es sind aber auch Freihand Diagramm-Zeichnungen möglich.
Unter Ubuntu gibt es in Dia einen Bug, durch den die Kommentarfelder zu klein dargestellt werden und dadurch teilweise gar nicht nutzbar sind. (siehe Bild)
Debian/Ubuntu Backports
Bei Debian und teilweise auch Ubuntu stable gibt es hin und wieder das Problem, dass manche Pakte recht alt sind und bestimmte Software neuere Versionen der Pakete benötigt. Hier kommen die Debian Backports ins Spiel.
Backports sind Pakete, die auf Programmversionen aus testing (hauptsächlich) und unstable (nur in einigen Fällen, beispielsweise Sicherheits-Updates) basieren und so kompiliert wurden, dass sie möglichst ohne neue Bibliotheken auf Debian stable verwendet werden können.
Fail2Ban
Häufig kommt es vor, dass einzelne Benutzer oder automatisierte Scripts an einem Server verschiedene Kombinationen aus Benutzernamen und Passwörtern “ausprobieren” (das sogenannte Brute-Force) mit dem Ziel einen funktionierenden Login zu finden. Dies wollen wir natürlich verhindern und die Verursacher wirkungsvoll aussperren, wobei uns das Tool Fail2Ban behilflich ist.
Fail2Ban ist ein kleines Programm auf Python-Basis, welches die Logdateien der Server durchsucht und IP-Adressen, die zu viele fehlgeschlagene Loginversuche haben, blockiert. Das Blockieren der IP-Adressen geschieht dabei in der Regel über Firewallregeln, welche von Fail2Ban entsprechend angepasst werden.
Dateifreigaben mit Samba
Samba ermöglicht es Verzeichnisse auf einem Linux-Rechner freizugeben, sodass auf diese von anderen Computern im lokalen Netzwerk aus zugegriffen werden kann.
Durch den Samba-Server und entsprechende Freigaben wird beispielsweise ein Raspberry Pi zu einem NAS (Network Attached Storage, engl. netzgebundener Speicher).
CardDAV in Roundcube Webmail
Roundcube Webmail bringt von Hause aus ein eigenes Adressbuch mit, in dem man seine Kontakte ablegen kann. Über das Plugin RCMCardDAV ist es außerdem möglich Adressbücher über CardDAV einzubinden und so beispielsweise sein Adressbuch von NextCloud auch in Roundcube zu nutzen.
Diese Anleitung beschreibt die Vorgehensweise bei der Einrichtung des Plugins in Roundcube und geht dabei von einer bereits laufenden aktuellen Roundcube-Version (hier 1.6.6) aus.
Vorbereitungen
- Wie eigentlich immer: Backup der Dateien und der Datenbank erstellen.
- In Roundcube abmelden, falls man eingeloggt ist. Dies ist wichtig, da es sonst später zu Datenbankfehlern kommt!
- Auf dem Server
curl
undphp-curl
(ggf. z.b.php8.2-curl
für PHP 8.2) installieren, falls nicht schon vorhanden:sudo apt install curl php-curl
Installation des Plugins
Zuerst wechseln wir in das plugins
-Verzeichnis von Roundcube, laden das Plugin von GitHub herunter und entpacken es. Im Beispiel ist Roundcube unter /var/www/roundcube
installiert.
1 | cd /var/www/roundcube/plugins |
Wichtig ist das Verzeichnis des Plugins in carddav
umzubenennen, da sonst das Plugin nicht richtig funktioniert.
Anschließend wechseln wir in das Verzeichnis des Plugins und installieren die benötigten Abhängigkeiten mit Hilfe von composer, was einen Moment dauern kann.
1 | cd carddav |
Sobald dies erledigt ist kopieren wir noch die config.inc.php.dist
nach config.inc.php
und bearbeiten diese anschließend.
1 | cp config.inc.php.dist config.inc.php |
Die einzige Einstellung die wir in der Konfiguration des Plugins ändern bzw. einfügen müssen ist $prefs['_GLOBAL']['pwstore_scheme'] = 'des_key';
.
Wichtig
Es dürfen keine //
am Anfang der Zeile stehen! Standardmäßig werden die CradDAV-Passwörter nur in Base64-Kodierung gespeichert, was recht unsicher ist. Durch die Anpassung auf des_key
wird der globale des_key
von Roundcube verwendet um die Passwörter verschlüsselt zu speichern.
Zuletzt aktivieren in der Konfiguration von Roundcube (nicht dem Plugin) noch das Plugin indem wir dem Array $config['plugins']
den Eintrag carddav
hinzufügen.
1 | cd ../../ |
Der Eintag könnte dann wie folgt aussehen, wobei hier noch ein anderes Plugin namens jqueryui aktiv ist.
1 | $config['plugins'] = array('jqueryui', 'carddav'); |
Einrichtung eines CardDAV-Adressbuches in der Weboberfläche
Sobald das Plugin aktiviert ist können wir uns in der Weboberfläche von Roundcube wieder ganz normal anmelden. Bei der ersten Anmeldung werden die vom Plugin benötigten Datenbanktabellen automatisch erstellt.
Unter Einstellungen->Einstellungen->CardDAV können nun für den aktuellen Benutzer beliebige Adressbücher über die entsprechende CardDAV-URL mit den dazugehörigen Logindaten angelegt werden.
Der Aktualisierungsintervall gibt dabei an, die oft Roundcube Änderungen vom CardDAV-Server abruft. Nimmt man in Roundcube eine Änderung an den Kontakten vor, so werden diese Änderungen immer direkt zum CardDAV-Server übertragen.
Alle angelegten CardDAV-Adressbücher sind dann im ganz normalen Roundcube Adressbuch verfügbar.
Media-Server auf dem Raspberry Pi
Mit Hilfe eines Media-Servers können Musik, Videos und Bilder über das Netzwerk an DLNA-fähige Geräte (beispielsweise Smart-TV) gestreamt werden.
Für den Raspberry Pi gibt es den DLNA-Server MiniDLNA, welchen wir im Folgenden installieren und einrichten werden.