Installing from a package
Besides the bare binary there are ready-made distribution packages. The package brings everything a service needs on a server: its own system account, a systemd unit with a restart policy, a configuration file with a freshly generated encryption key and a start password for the first login.
Installing
Section titled “Installing”We hand out the packages together with the license
(dnseditor-ee_<version>_amd64.deb, …_arm64.deb,
dnseditor-ee-<version>-1.x86_64.rpm, …aarch64.rpm); in the pipeline they
are the artifact of the package job. Building them yourself works too,
see below.
# Debian, Ubuntu and relativessudo apt install ./dnseditor-ee_1.0.0_amd64.deb
# RHEL, Fedora, Rocky, SUSEsudo dnf install ./dnseditor-ee-1.0.0-1.x86_64.rpmUnlike the Community Edition, the Enterprise Edition does not start yet: without a valid, signed license it refuses to serve. The package says exactly that:
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.The unit is already enabled (systemctl enable) but deliberately not
started — starting without a license would end in a restart loop. Once the
license file and the public key are in place, systemctl start dnseditor-ee
is enough. Details: License.
What the package installs
Section titled “What the package installs”| Path | Contents |
|---|---|
/usr/bin/dnseditor-ee | the binary with the embedded interface |
/etc/dnseditor-ee/env | configuration — created once, never overwritten |
/etc/dnseditor-ee/env.example | full reference of every variable |
/lib/systemd/system/dnseditor-ee.service | unit with Restart=always and hardening |
/etc/dnseditor-ee/license.json | where the license file goes (not shipped in the package) |
/var/lib/dnseditor-ee | database and state, mode 0750 |
Plus a system account dnseditor-ee without a login shell. The package
declares a conflict with dnseditor (CE) and provides it at the same time —
the Enterprise Edition contains the Community Edition, so installing both
makes no sense. By default the
service listens on 127.0.0.1:8422 only — put a TLS reverse proxy in front
for public operation (see Commissioning).
Language of the output
Section titled “Language of the output”Installer and service speak English by default. When the system language is German, the texts appear in German:
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 / 3ce5002cb3a407e7fc70965aLC_ALL, LC_MESSAGES and LANG are read in that order, then LANGUAGE.
C and POSIX count as neutral and stay English.
The German terminal texts deliberately avoid umlauts (“Oberflaeche”, “Schluessel”). Services run under systemd with a neutral locale; real umlauts would regularly show up as question marks or mojibake in the journal, over SSH sessions and in log aggregators. The web interface, the API, e-mails and invoice PDFs are unaffected — they carry proper German.
To make the running service log in German, put the locale into the
configuration, because systemd starts services without LANG:
echo 'LANG=de_DE.UTF-8' | sudo tee -a /etc/dnseditor-ee/envsudo systemctl restart dnseditor-eeUpgrading and removing
Section titled “Upgrading and removing”An upgrade replaces the binary and restarts the service;
/etc/dnseditor-ee/env is left alone.
sudo apt install ./dnseditor-ee_1.1.0_amd64.deb # upgradesudo apt remove dnseditor-ee # stop the service, remove the packageConfiguration and database survive even a purge — the env file holds the
key without which any backup is worthless. To really get rid of everything,
delete /etc/dnseditor-ee and /var/lib/dnseditor-ee by hand.
Building the packages yourself
Section titled “Building the packages yourself”go install github.com/goreleaser/nfpm/v2/cmd/nfpm@latestmake package # → dist/packages/*.deb and *.rpm, amd64 + arm64nfpm needs neither dpkg nor rpmbuild, so it also runs on a Mac and in
the CI image. The package definition lives in packaging/.
Next steps
Section titled “Next steps”- License — request, verify and renew the license file
- Commissioning — configuration, SSO, self-healing