Installation als Paket
Neben der nackten Binärdatei gibt es fertige Distributionspakete. Das Paket bringt alles mit, was ein Dienst auf einem Server braucht: eigenes Dienstkonto, systemd-Unit mit Neustart-Policy, Konfigurationsdatei mit frisch erzeugtem Verschlüsselungsschlüssel und ein Startpasswort für den ersten Login.
Installieren
Abschnitt betitelt „Installieren“Der bequemste Weg auf Debian/Ubuntu ist das TechEve-Paket-Repository —
einmal einrichten, danach kommen Updates ganz normal über apt upgrade,
und der Admin-Bereich weist auf neue Versionen hin:
curl -fsSL https://repo.techeve.de/setup.sh | sudo shsudo apt install dnseditorAlternativ hängen die Pakete an jedem Release als Generic Package im
GitLab-Projekt (dnseditor_<version>_amd64.deb, …_arm64.deb,
dnseditor-<version>-1.x86_64.rpm, …aarch64.rpm).
# Debian, Ubuntu und Verwandte (Einzeldatei)sudo apt install ./dnseditor_1.0.0_amd64.deb
# RHEL, Fedora, Rocky, SUSEsudo dnf install ./dnseditor-1.0.0-1.x86_64.rpmDirekt nach der Installation läuft der Dienst und meldet den Zugang:
DNS-Editor has been installed. Web interface: http://127.0.0.1:8422 Login: admin / 3ce5002cb3a407e7fc70965a
IMPORTANT: back up the encryption key from /etc/dnseditor/env now.Was das Paket anlegt
Abschnitt betitelt „Was das Paket anlegt“| Pfad | Inhalt |
|---|---|
/usr/bin/dnseditor | die Binärdatei mit eingebetteter Oberfläche |
/etc/dnseditor/env | Konfiguration — beim ersten Mal erzeugt, danach nie überschrieben |
/etc/dnseditor/env.example | vollständige Vorlage aller Variablen |
/lib/systemd/system/dnseditor.service | Unit mit Restart=always und Härtung |
/var/lib/dnseditor | Datenbank und Zustand, Rechte 0750 |
Dazu ein Systemkonto dnseditor ohne Login-Shell. Der Dienst lauscht per
Vorgabe nur auf 127.0.0.1:8422 — für den öffentlichen Betrieb gehört ein
Reverse Proxy mit TLS davor (siehe Schnellstart).
Sprache der Ausgaben
Abschnitt betitelt „Sprache der Ausgaben“Installer und Dienst reden standardmäßig Englisch. Ist die Systemsprache deutsch, erscheinen die Texte auf Deutsch:
LANG=de_DE.UTF-8 sudo apt install ./dnseditor_1.0.0_amd64.debDNS-Editor wurde installiert. Oberflaeche: http://127.0.0.1:8422 Anmeldung: admin / 3ce5002cb3a407e7fc70965aAusgewertet werden LC_ALL, LC_MESSAGES und LANG in dieser Reihenfolge,
danach LANGUAGE. C und POSIX gelten als neutral und bleiben englisch.
Die deutschen Terminal-Texte kommen bewusst ohne Umlaute aus („Oberflaeche”, „Schluessel”). Dienste laufen unter systemd mit neutraler Locale; echte Umlaute würden im Journal, über SSH-Sitzungen und in Log-Aggregatoren regelmäßig als Fragezeichen oder Mojibake ankommen. Oberfläche, API, E-Mails und Rechnungs-PDFs sind davon nicht betroffen — dort steht korrektes Deutsch.
Soll auch der laufende Dienst deutsch protokollieren, gehört die Locale in
die Konfiguration, denn systemd startet Dienste ohne LANG:
echo 'LANG=de_DE.UTF-8' | sudo tee -a /etc/dnseditor/envsudo systemctl restart dnseditorAktualisieren und entfernen
Abschnitt betitelt „Aktualisieren und entfernen“Ein Upgrade tauscht nur die Binärdatei und startet den Dienst neu;
/etc/dnseditor/env bleibt unangetastet.
sudo apt install ./dnseditor_1.1.0_amd64.deb # Upgradesudo apt remove dnseditor # Dienst stoppen, Paket entfernenKonfiguration und Datenbank bleiben auch beim purge erhalten — im
env-File liegt der Schlüssel, ohne den jedes Backup wertlos ist. Wer
wirklich alles loswerden will, löscht /etc/dnseditor und
/var/lib/dnseditor von Hand.
Selbst bauen
Abschnitt betitelt „Selbst bauen“go install github.com/goreleaser/nfpm/v2/cmd/nfpm@latestmake package # → dist/packages/*.deb und *.rpm, amd64 + arm64nfpm braucht weder dpkg noch rpmbuild und läuft deshalb auch auf einem
Mac und im CI-Image. Die Paketdefinition liegt in packaging/.
Nächste Schritte
Abschnitt betitelt „Nächste Schritte“- Konfiguration — alle Variablen im Überblick
- Betrieb & Selbstheilung — Health-Endpunkte, Watchdog, Neustart-Policy