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“Die Pakete entstehen im package-Job der Pipeline und liegen dort als
Artefakt (dnseditor-cloud_<version>_amd64.deb, …_arm64.deb,
dnseditor-cloud-<version>-1.x86_64.rpm, …aarch64.rpm). Für einen
eigenen Knoten geht auch der Weg über make package, siehe unten.
# Debian, Ubuntu und Verwandtesudo apt install ./dnseditor-cloud_1.0.0_amd64.deb
# RHEL, Fedora, Rocky, SUSEsudo dnf install ./dnseditor-cloud-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
Operator panel: http://127.0.0.1:8422/operator Operator login: operator / Ox2h8dDLBFfs3neJacgq
IMPORTANT: back up the encryption key from /etc/dnseditor-cloud/env now.Die Cloud-Variante hat zwei getrennte Zugaenge: den Plattform-Admin und das
Operator-Panel unter /operator. Beide Startpasswoerter erzeugt das Paket
beim ersten Mal und schreibt sie nach /etc/dnseditor-cloud/env.
Was das Paket anlegt
Abschnitt betitelt „Was das Paket anlegt“| Pfad | Inhalt |
|---|---|
/usr/bin/dnseditor-cloud | die Binärdatei mit eingebetteter Oberfläche |
/etc/dnseditor-cloud/env | Konfiguration — beim ersten Mal erzeugt, danach nie überschrieben |
/etc/dnseditor-cloud/env.example | vollständige Vorlage aller Variablen |
/lib/systemd/system/dnseditor-cloud.service | Unit mit Restart=always und Härtung |
/var/lib/dnseditor-cloud | Datenbank und Zustand, Rechte 0750 |
Dazu ein Systemkonto dnseditor-cloud 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 Inbetriebnahme).
Mehrere Knoten
Abschnitt betitelt „Mehrere Knoten“Ein einzelner Knoten laeuft mit der SQLite-Vorgabe sofort. Fuer einen
Cluster muessen alle Knoten dieselbe Datenbank und denselben
Sitzungsspeicher benutzen — sonst kennt Knoten B die Anmeldung von Knoten A
nicht. Beides steht auskommentiert in /etc/dnseditor-cloud/env:
DNSE_DB_DSN=postgres://dnseditor:...@db.internal:5433/dnseditor?sslmode=requireDNSE_DB_YB=onDNSE_VALKEY_ADDR=valkey.internal:6379Wichtig: derselbe DNSE_ENCRYPTION_KEY auf allen Knoten. Das Paket
erzeugt auf jedem Host einen eigenen — beim zweiten Knoten also den
Schluessel des ersten uebernehmen, sonst sind die Zugangsdaten in der
gemeinsamen Datenbank nicht lesbar. Details: Clusterbetrieb.
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-cloud_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-cloud/envsudo systemctl restart dnseditor-cloudAktualisieren und entfernen
Abschnitt betitelt „Aktualisieren und entfernen“Ein Upgrade tauscht nur die Binärdatei und startet den Dienst neu;
/etc/dnseditor-cloud/env bleibt unangetastet.
sudo apt install ./dnseditor-cloud_1.1.0_amd64.deb # Upgradesudo apt remove dnseditor-cloud # 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-cloud und
/var/lib/dnseditor-cloud 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“- Inbetriebnahme — Konfiguration, Betrieb, Selbstheilung
- Clusterbetrieb — mehrere Knoten, gemeinsame Datenbank und Sitzungen