OpenDKIM – MySQL / MariaDB Backend

Ich hatte ja schon beschrieben wie man OpenDKIM konfiguriert und auch, dass ich dieses auf weitere Domains ausgeweitet habe und dafür die Konfiguration angepasst und verbessert habe.

Was noch offen war: Bislang waren die Schlüssel und Signatur-Regeln in Dateien im Dateisystem hinterlegt und der Abgleich der Daten mit dem DNS erfolgte manuell. Das war mir dann doch etwas lästig auch wenn das Anlegen mit Sicherheit nicht zu meiner Tagesroutine werden wird. Daher war ich sehr erfreut, dass openDKIM mit Support für ein SQL-Backend daher kommt. Im folgenden beschreibe ich die notwendigen Schritte um ein derartiges Setup ans Laufen zu bekommen. Hilfreich ist weiterhin die Seite von kofler.info und die Readme zu SQL von OpenDKIM.

Continue reading

Datenbankversionierung – Vor- und Nachteile bestimmter Praktiken

Gerade hatte ich mal wieder ein Schlüsselerlebnis in meiner Programmierung. In diesem Fall gab es ein Kollision mit YAML (YAML Ain’t Markup Language) – ich spreche explizit von Kollision, denn meine Erfahrung ist für den verwendeten Anwendungsfall einfach nur schlecht bzw. ich sehe leider aktuell einige Nachteile.

Datenbank-Schemata versionieren

Zur Versionierung von Datenbank-Änderungen bzw. um den Weg von einer „leeren“ Datenbank bis hin zum aktuellen Stand der Entwicklung zu beschreiben verwendet man in der Regel entsprechende Tools wie Liquibase oder Flyway. Das Prinzip ist im Prinzip immer das Gleiche – mit ein wenig „Rahmenwerk“ drum herum steuert man die Ausführung der Datenbank-Statements. Dabei kann man auf verschiedene Szenarien eingehen, einer der häufigst genannten ist, dass man ein Produkt mit verschiedenen Datenbank-Servern laufen lassen kann. Das ist beispielsweise wichtig wenn man Software an Firmen (seltener private Anwender) ausliefert, sich aber darauf einstellen muss, dass dort nicht unbedingt die aktuelle Version von MySQL läuft sondern eben im Zweifel auch ein PostgreSQL oder eine andere (kommerzielle) Datenbank wie Oracle. Continue reading