SVG Suppport

WordPress verweigert normalerweise den Upload von Bildern im SVG-Format. Mit einen kleinen PlugIn lässt sich die Einschränkung umgehen.

Hier das Ergebnis meiner Versuche SVG-Grafiken mit Inkscape und einem Text-Editor – Kate – zu erstellen.

Fußabdruck
Fußabdruck als SVG Grafik

Ausgangspunkt des Fußabdruckes war ein Foto vom Smartphone. Den Fußabdruck habe ich mit GIMP freigestellt, als PNG-Bild exportiert, anschließend mit Inkscape in eine SVG-Grafik umgewandelt, die Umrisse der Sohle mit Inkscape optimiert und die Zehenabdrücke durch Ellipsen ersetzt. Danach habe ich die Eigenschaften mit dem Text Editor Kate in einen Style umgewandelt und die Ellipsen vereinheitlicht sowie leicht verschoben.

Seestern als SVG-Grafik

Der Seestern ist im Wesentlichen nur mittels Text_Editor entstanden. Das Grundgerüst der SVG Datei habe ich mit Inkscape erstellt. Danach ist der Seestern per Hand entstanden. Er besteht aus einem Arm, der viermal geclont wird, indem der Arm um 72, 144, 216 und 288 Grad gedreht wird.

Herrnhuter Losungen in MySQL / MariaDB importieren

Das Hernnhuter Losungen Widget zeigt unter WordPress die Losung des Tages in einer Seitenleiste an. Bei der Anpassung und Überarbeitung für 2019 kam mir die Idee, die Losungen nicht aus der XML Datei einzulesen, sondern in eine MySQL / MariaDB Tabelle zu improtieren. Unter Die Losungen – Gottes Wort für jeden Tag werden die Losungen für das laufende (und ab Spätherbst folgende) Jahr zum Download angeboten.

Beim Import in eine Datenbank gilt es ein paar Hürden zu überwinden. Für den Import unter Linux sind die CSV-Dateien geeigneter als die XML-Dateien.

„Herrnhuter Losungen in MySQL / MariaDB importieren“ weiterlesen

WordPress absichern

Durch die Umstellung von Debian 8 auf Debian 9 ist  eine neue Version des Apache2 auf dem Server verfügbar. Diese unterstützt in der Direktive Require nun den Provider forward-dns host-name.

Mit folgenden Einstellungen kann ich nun den Zugriff auf die administrativen Seiten und das Login Script nur von meinem Laptop (lt) und Desktop (dt) erlauben, die zwar dynamische IP-Adressen verwenden, aber diese mit nsupdate auf meinem DNS-Server registrieren.

 <Files wp-login.php>
    Require all denied
    Require forward-dns lt.dyn.byggvir.de dt.dyn.byggvir.de 
 </Files>

<Directory "/var/www/html/wp-admin/">
  Require all denied
  Require forward-dns lt.dyn.byggvir.de dt.dyn.byggvir.de 
</Directory>

Allerdings versuchen kriminelle Mitmenschen trotzdem hier einzubrechen.

Raspberry Pi: Zugriff über X-Windows

Anmeldebildschirm Raspberry Pi
Anmeldebildschirm Raspberry Pi auf meinem Laptop

Der Raspberry Pi mit Raspbian bringt als Display Manager lightdm mit. Mit wenigen Änderungen in der Konfigurationsdatei /etc/leightdm/lightdm.conf wird der Zugriff über XDMCP freigegeben, der nach der Einrichtung ausgeschaltet ist. Grundsätzlich reicht es enabled=true zu setzen. Der Port ist standardmäßig 177. Hier habe ich die Freigabe auf die IP-Adresse 192.168.2.3 beschränkt, weil auf diesem Raspberry Pi einige Tunnel enden, über die ich keinen Zugriff per X-Windows erlauben möchte.

[XDMCPServer]
enabled=true
port=177
listen-address=192.168.2.3
#key=
#hostname=

Wer den Raspberry Pi beim ersten Start headless betreibt, kann diese Änderungen nach dem Kopieren des Images auf der SD-Karte vornehmen. Der Raspberry Pi kann dann ohne Monitor und Tastatur anzuschließen von einem anderen Rechner aus konfiguriert werden.

Auf dem Linux Rechner nutze ich Xephyr, das mit sudo apt install Xephyr installiert wird. Mit folgendem Befehl wird der X-Server auf dem Rechner gestartet.

thomas@thomas-laptop:~$ nohup Xephyr :1 -screen 960×540 -query 192.168.2.3 &

Mit nohup sorge ich dafür, dass der Prozess nicht beendet wird, wenn ich die Konsole schließe und der & am Ende schickt den Prozess in den Hintergrund. Mit -screen 960×540 nimmt das Fenster etwa ein Viertel meines Bildschirms ein. Dies ist für die meisten Konfigurations- und Überwachungsaufgaben ausreichend.

Raspberry Pi im X-Window
Raspberry Pi im X-Window

Raspberry Pi: Image modifizieren

4x Raspberry Pi Cluster
4 xr Raspberry Pi3B+ auf dem Weg zu einem Cluster.

Mein neues Hobby sind Raspberry Pis. Inzwischen habe ich acht Stück und eien Banana Pi. Aus vier Pis möchte und dem Banana Pi als Router möchte ich eien Cluster bauen. Die Pis sind schon zusammengebaut und nun stellte sich die Frage, wie vereinfache ich die Installation der SD-Karten.
me
Darüber hinaus möchte ich natürlich später wissen, welcher Pi welcher ist. Wenn ein Pi nicht mehr mag, wäre es schon zu gut zu wissen, welchen Pi ich auf die harte Tour neu starten muss.

Dazu nur kurz folgender Tipp.

„Raspberry Pi: Image modifizieren“ weiterlesen

WordPress unter Apache2 absichern

Bisher habe ich den WordPress dadurch abgesichert, dass ich einen Login nur über einen VPN zugelassen habe. Darüber hinaus verlasse ich mich auf lange, zufällige Passwörter. Mit regelmäßigen Aktualisierungen ist die Sicherheit schon sehr hoch. Ein wenig mehr Sicherheit bietet die Beschränkung des Zugriffe auf Administrative Dateien.

Im Gegensatz zum DSL-Anschluss hatte der VPN eine feste IP-Adresse, die über viele Jahre konstant blieb. Mit der Migration auf Debian musste ich den Server neu installieren. Dabei habe ich den Zugriff auf https umgestellt. HTTPS schützt die Datenübertragung, aber nicht vor Angriffen auf die Login und Admin Seiten. deprecated und sollten vermieden werden. Die Nachfolger sind RequireAll, RequireAny, und RequireNone Direktiven mit dem Parameter Require. Require funktioniert auch in den Direktiven Files und Directory. Hier gibt es die Möglichkeiten

Require all granted
Require all denied
Require host address
Require ip ip.address
Require not host address
Require not ip ip.address
Require expr

Für diesen Seite nutze ich nur Require all granted / denied und Require ip im die Datei wp-login.php und das Verzeichnis wp-admin zu schützen. Die Telekom bietet IPv6 an und die Rechner in meinem Heimnetz bekommen alle eine IPv6 Adresse. Diese wird beim Zugriff auf den Server bevorzugt, so dass ich mir keine Gedanken über wechselnde IPv4 Adressen machen muss.

<Files wp-login.php>
Require all denied
Require ip 2003:e2:af1f:f888::0/64 2
</Files>

<Directory „/var/www/html/wp-admin/“>
AllowOverride FileInfo
Options +FollowSymLinks
Require all denied
Require ip 2003:e2:af1f:f888::0/64
</Directory>

Leider funktioniert Require forward-dns noch nicht in der derzeitigen Apache-Version, was eine Steuerung der Adressen über DynDNS ermöglicht.

Zwar kann einem Gerät jede IP-Adresse zugeordnet werden, aber da diese Adressen aus dem Telekom Netz kommen und auch der Rückweg funktionieren muss, ist die Gefahr einer Adressfälschung gering.

Installationsfehler bei Debian 8.7.1

Gestern Abend hat sich mein Linux verabschiedet und wollte nicht mehr richtig starten. Angeblich war kein Platz mehr auf der Festplatte. Platz war aber genug nur Dateien ließen sich nicht mehr anlegen. Statt lange zu suchen, habe ich dies als Gelegenheit für eine Neuinstallation genommen.

Ein Fehler ergibt sich bei der Installation der TTF von Microsoft über den grafischen Packetmanager.

"Fehler beim Parsen der Proxy-URL »http://htt«: Schema fehlt"

Am Ende half eien Bei Installationsfehler des Package ttf-mscorefonts-installer hilft ggf. folgende Lösung. Wichtig ist hier das „purge“ statt „remove“ oder „install –reinstall“.

 sudo apt-get purge ttf-mscorefonts-installer
 sudo find / -iname arial*
 sudo apt-get install ttf-mscorefonts-installer

Auch Moneyplex ist ein Kandidat für eine Nachinstallation der Chipkartenlesertreiber. Hier empfiehlt sich die Seite von REINER SCT zu besuchen und die Treiber von dort zu beziehen.

Spam mit Postfix abwehren

Nach dem Tipp von Daniel hat sich der tägliche Spam auf meinem Server drastisch reduziert. Heute habe ich mir die verbleibenden Mails angesehen und die Liste der smtpd_recipient_restrictions um zwei Einträge erweitert.

„Spam mit Postfix abwehren“ weiterlesen

Freifunk in Rheinbach (5)
Zugriff per SSH

Verwaltung eines Router per SSH
Verwaltung eines Router per SSH

Vorbemerkung

Aufstellen eines Freifunkrouters ist recht einfach. Router kaufen, Firmware durch Freifunk-Firmware ersetzen. Neustarten und fertig. So ein Router verlangt ab und zu einem Update. Er kann seine Position und Kontaktadresse enthalten und weitermelden. Die könnte sich auch mal ändern. Vielleicht muss die genutzte Bandbreite geändert – reduziert – werden, weil der Internetanschluss des Betreibers durch die vielen Gäste blockiert wird. Oder es läuft gleichzeitig ein verschlüsseltes WLAN auf dem Router und das Password müsste mal geändert werden. So ganz einfach muss es also nicht sein.

Nicht jeder möchte oder kann sich selbst um diese Aufgaben kümmern. Aus diesem Grunde bin ich der Frage nach gegangen, wie kann ich eine größere Zahl Router, die über die Stadt verteilt sind, zentral von meinem Arbeitszimmer aus verwalten? Allein zwei Router, die ich betreue stehen im evangelischen Gemeindezentrum; weitere dürften folgen.

„Freifunk in Rheinbach (5)
Zugriff per SSH“
weiterlesen

Richpro SPAM erkennen

Wer sich die Links (URI) in dem E-Mails der Richpro Internet GmbH genauer anschaut, wird feststellen, dass die letzten Zeichen der Verknüpfungsadresse immer identisch sind. Um SpamAssassin ein wenig auf die Sprünge zu helfen, hilft folgender Regelsatz:

# Erkennung eines Links der Richpro Internet GmbH
uri TA_RichproURI /eindeutige Zeichen$/i

describe TA_RichproURI Mail enthaelt Link, der auf die Richpro Internet GmbH hindeutet

score TA_RichproURI 2.0

Da die eindeutigen Zeichen von Kunde zu Kunde verschieden sein dürften, muss jeder die Zeichen aus seinen E-Mails selbst heraussuchen. Bei mir ist die Zeichenkette fünf Zeichen lang – muss aber nicht jeder wissen, welche Zeichen es sind.

Einen weiteren Hinweis gibt der Link zum Abmelden der E-Mails. Hier ist immer die E-Mailadresse enthalten. Womit folgender Eintrag hilfreich sein könnte:

uri TA_RichproMail /v=[0-9]*&a=thomas%40example.com/i

describe TA_RichproMail Mail enthaelt Link mit meiner E-Mails-Adresse (moeglicherweise Richpro Internet GmbH)

score TA_RichproMail 2.0

Leider ist auch die E-Mail-Adresse sehr individuell.

Genug für heute, gute Nacht