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 stellen wir zusammen mit der Lizenz bereit
(dnseditor-ee_<version>_amd64.deb, …_arm64.deb,
dnseditor-ee-<version>-1.x86_64.rpm, …aarch64.rpm); in der Pipeline
liegen sie als Artefakt des package-Jobs. Selbst bauen geht ebenfalls,
siehe unten.
# Debian, Ubuntu und Verwandtesudo apt install ./dnseditor-ee_1.0.0_amd64.deb
# RHEL, Fedora, Rocky, SUSEsudo dnf install ./dnseditor-ee-1.0.0-1.x86_64.rpmAnders als die Community Edition startet die Enterprise Edition noch nicht: ohne gültige, signierte Lizenz verweigert sie den Dienst. Das Paket sagt genau das:
DNS-Editor has been installed. Web interface: http://127.0.0.1:8422 Login: admin / Rm1vp7oMuw6AIZoWyo9
IMPORTANT: back up the encryption key from /etc/dnseditor-ee/env now.
NOT STARTED YET: the Enterprise Edition needs a signed license. 1. Put the license file at /etc/dnseditor-ee/license.json 2. Set DNSE_LICENSE_PUBKEY in /etc/dnseditor-ee/env 3. systemctl start dnseditor-ee.serviceNo license yet? Write to info@techeve.de.Der Dienst ist dabei bereits aktiviert (systemctl enable), aber bewusst
nicht gestartet — ein Start ohne Lizenz endete sonst in einer
Neustart-Schleife. Nach Lizenzdatei und Public Key genügt
systemctl start dnseditor-ee. Details: Lizenz.
Was das Paket anlegt
Abschnitt betitelt „Was das Paket anlegt“| Pfad | Inhalt |
|---|---|
/usr/bin/dnseditor-ee | die Binärdatei mit eingebetteter Oberfläche |
/etc/dnseditor-ee/env | Konfiguration — beim ersten Mal erzeugt, danach nie überschrieben |
/etc/dnseditor-ee/env.example | vollständige Vorlage aller Variablen |
/lib/systemd/system/dnseditor-ee.service | Unit mit Restart=always und Härtung |
/etc/dnseditor-ee/license.json | Ablageort der Lizenzdatei (nicht im Paket enthalten) |
/var/lib/dnseditor-ee | Datenbank und Zustand, Rechte 0750 |
Dazu ein Systemkonto dnseditor-ee ohne Login-Shell. Das Paket erklaert
sich als Konflikt zu dnseditor (CE) und stellt es zugleich bereit — die
Enterprise Edition enthaelt die Community Edition, beide zugleich zu
installieren ergibt keinen Sinn. 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).
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-ee_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-ee/envsudo systemctl restart dnseditor-eeAktualisieren und entfernen
Abschnitt betitelt „Aktualisieren und entfernen“Ein Upgrade tauscht nur die Binärdatei und startet den Dienst neu;
/etc/dnseditor-ee/env bleibt unangetastet.
sudo apt install ./dnseditor-ee_1.1.0_amd64.deb # Upgradesudo apt remove dnseditor-ee # 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-ee und
/var/lib/dnseditor-ee 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“- Lizenz — Lizenzdatei anfordern, prüfen, erneuern
- Inbetriebnahme — Konfiguration, SSO, Selbstheilung