DNS-Server · 15 min read · Sep 08, 2025
So installieren Sie PowerDNS und PowerAdmin auf Rocky Linux

PowerDNS ist eine kostenlose und Open-Source-DNS-Server-Software. Sie kann als autoritativer Nameserver und DNS-Rekursor verwendet werden. PowerDNS ist in C++ geschrieben und unterstützt mehrere Betriebssysteme, darunter BSD, Linux und macOS.
PowerDNS ist ein hochentwickelter und leistungsstarker DNS-Server, der mehrere Arten von Backends wie BIND und RDBMS-Backends wie MySQL/MariaDB, PostgreSQL und Oracle-Datenbanken unterstützt.
Der PowerDNS-Server ist leistungsstark und kann Zehntausende von gleichzeitigen Anfragen verarbeiten, unterstützt DNSSEC und bietet hohe Skriptfähigkeit mit Lua.
In diesem Leitfaden zeigen wir Ihnen, wie Sie PowerDNS und PowerDNS-Admin auf einem Rocky-Linux-System installieren. Wir werden PowerDNS mit dem MySQL/MariaDB-Datenbank-Backend ausführen und PowerDNS-Admin einrichten, das als webbasiertes Verwaltungstool für den PowerDNS-Server verwendet wird.
Dieser Leitfaden zeigt auch die Installation von Python-Paketen für Flask-basierte Projekte und die Konfiguration von Nginx und Gunicorn, die als Reverse-Proxy für die PowerDNS-Admin-Webanwendung verwendet werden.
Voraussetzungen
Um mit diesem Leitfaden zu beginnen, benötigen Sie die folgenden Voraussetzungen:
- Ein Rocky-Linux-Server - Sie können Rocky Linux v8 oder v9 verwenden.
- Ein Nicht-Root-Benutzer mit sudo/root-Administratorrechten.
Installation und Konfiguration des MariaDB-Datenbankservers
PowerDNS ist eine skalierbare DNS-Server-Software, die mehrere Backends wie PostgreSQL, MariaDB/MySQL und SQLite unterstützt. Für große Bereitstellungen sollten Sie in Betracht ziehen, PostgreSQL oder MySQL/MariaDB als Datenbank-Backend zu verwenden.
Sie beginnen nun mit der Installation und Konfiguration des MariaDB-Datenbankservers auf dem Rocky-Linux-Server. Sie werden PowerDNS mit MariaDB als Datenbank-Backend einrichten.
Das Standard-Rocky-Linux-Repository bietet mehrere Versionen von MariaDB-Serverpaketen. Führen Sie den folgenden dnf-Befehl aus, um den MariaDB-Datenbankserver zu installieren.
sudo dnf install mariadb-serverWenn Sie zur Bestätigung aufgefordert werden, geben Sie y ein, um zu bestätigen, und drücken Sie ENTER, um fortzufahren.

Nachdem der MariaDB-Server installiert ist, führen Sie den folgenden systemctl-Befehl aus, um den MariaDB-Dienst zu starten und zu aktivieren.
sudo systemctl start mariadb
sudo systemctl enable mariadbJetzt sollte der MariaDB-Server laufen und aktiviert sein. Führen Sie den folgenden Befehl aus, um den MariaDB-Dienst zu überprüfen und sicherzustellen, dass der Dienst läuft.
sudo systemctl status mariadbSie werden die folgende Ausgabe sehen - Der MariaDB-Dienst läuft und ist aktiviert, was bedeutet, dass der Dienst beim Booten automatisch gestartet wird.

Jetzt, da der MariaDB-Server läuft, werden Sie die MariaDB-Installation über das Befehlszeilenwerkzeug ‘mysql_secure_installation’ einrichten und sichern.
Führen Sie den folgenden Befehl aus, um die Bereitstellung des MariaDB-Servers zu sichern.
sudo mysql_secure_installationSie werden dann nach einigen Konfigurationen des MariaDB-Servers gefragt.
- MariaDB-Root-Passwort einrichten? Geben Sie y ein, um zu bestätigen, und geben Sie das neue Passwort für Ihren MariaDB-Server ein, und wiederholen Sie dann das Passwort.
- Remote-Login für den MariaDB-Root-Benutzer deaktivieren? Geben Sie y ein, um zu bestätigen und es zu deaktivieren.
- Den Standard-anonymen Benutzer von MariaDB entfernen? Geben Sie y ein, um zu bestätigen.
- Die Standarddatenbank-Test von MariaDB entfernen? Geben Sie y erneut ein, um zu bestätigen.
- Schließlich die Tabellenberechtigungen neu laden, um neue Änderungen anzuwenden? Geben Sie y ein, um zu bestätigen, und MariaDB wird alle Berechtigungen neu laden und neue Einstellungen anwenden.
Jetzt, da Sie die Bereitstellung von MariaDB gesichert haben, werden Sie als Nächstes eine neue MariaDB-Datenbank und einen Benutzer für PowerDNS einrichten.
Um zu beginnen, führen Sie den folgenden mysql-Befehl aus, um sich als MariaDB-Root-Benutzer in die MariaDB-Shell einzuloggen.
sudo mysql -u root -pWenn Sie nach dem Passwort gefragt werden, geben Sie das Passwort Ihres MariaDB-Root-Benutzers ein.
Führen Sie als Nächstes die folgenden Abfragen aus, um eine neue MariaDB-Datenbank und einen Benutzer zu erstellen. In diesem Beispiel erstellen Sie eine neue Datenbank pdns mit dem Benutzer pdnsadmin und das Passwort ist ‘ password ‘.
CREATE DATABASE pdns;
GRANT ALL ON pdns.* TO pdnsadmin@localhost IDENTIFIED BY 'password';
FLUSH PRIVILEGES;
Führen Sie nun die folgenden Abfragen aus, um die Berechtigungen des MariaDB-Benutzers pdnsadmin@localhost zu überprüfen. Dies zeigt Ihnen die Liste der Berechtigungen für den MariaDB-Benutzer pdnsadmin@localhost.
SHOW GRANTS FOR pdnsadmin@localhost;Sie werden die folgende Ausgabe sehen - Der MariaDB-Benutzer pdnsadmin@localhost hat Berechtigungen für die PowerDNS-Datenbank pdns.

Geben Sie nun ‘ quit ‘ ein, um die MariaDB-Shell zu verlassen.
Mit dem laufenden MariaDB-Server werden Sie dann den PowerDNS-Server mit dem MariaDB-Datenbank-Backend installieren und konfigurieren.
Installation und Konfiguration von PowerDNS
Nachdem Sie den MariaDB-Datenbankserver installiert haben, werden Sie nun den PowerDNS-Server installieren und PowerDNS mit dem MariaDB-Datenbank-Backend einrichten.
Für die RHEL-basierten Betriebssysteme sind PowerDNS im EPEL-Repository verfügbar. Daher müssen Sie vor der Installation von PowerDNS das EPEL-Repository zu Ihrem System hinzufügen.
Führen Sie den folgenden dnf-Befehl aus, um das EPEL-Repository zu installieren.
sudo dnf install epel-release -yNachdem das EPEL-Repository hinzugefügt wurde, führen Sie den folgenden dnf-Befehl aus, um PowerDNS und das PowerDNS MySQL-Backend zu installieren.
sudo dnf install pdns pdns-backend-mysqlWenn Sie zur Bestätigung aufgefordert werden, geben Sie y ein, um zu bestätigen, und drücken Sie ENTER, um fortzufahren.

Nachdem die Installation von PowerDNS abgeschlossen ist, führen Sie den folgenden mysql-Befehl aus, um das Datenbankschema für PowerDNS zu importieren. Der folgende Befehl importiert das Datenbankschema über den MariaDB-Benutzer pdnsadmin in die Datenbank pdns.
sudo mysql -u pdnsadmin -p pdns < /usr/share/doc/pdns/schema.mysql.sqlGeben Sie das Passwort für den Benutzer pdnsadmin ein und drücken Sie ENTER, um zu bestätigen und fortzufahren.
Als Nächstes bearbeiten Sie die PowerDNS-Konfiguration ‘/etc/pdns/pdns.conf’ mit dem folgenden nano-Editor-Befehl.
sudo nano /etc/pdns/pdns.confKommentieren Sie die MariaDB-Backend-Konfiguration aus und ändern Sie die Datenbanknamen, Benutzer und Passwörter. Stellen Sie sicher, dass Sie die richtigen MariaDB-Datenbankdetails verwenden, die Sie erstellt haben.
#################################
# launch Welche Backends gestartet werden sollen und in welcher Reihenfolge sie abgefragt werden
#
launch=gmysql
gmysql-host=localhost
gmysql-user=pdnsadmin
gmysql-password=password
gmysql-dbname=pdnsKommentieren Sie als Nächstes die ‘api’ aus und ändern Sie den Wert in ‘ yes ‘. Kommentieren Sie dann die Option ‘ api-key ‘ aus und ändern Sie den Standard-Schlüssel. Die folgende PowerDNS-API wird verwendet, um den PowerDNS-Server über die PowerDNS-Admin-Webanwendung zu verwalten.
#################################
# api Aktivieren/Deaktivieren der REST-API (einschließlich HTTP-Listener)
#
api=yes
#################################
# api-key Statischer vorab geteilter Authentifizierungsschlüssel für den Zugriff auf die REST-API
#
api-key=CHANGEMESpeichern Sie die Datei und beenden Sie den Editor, wenn Sie fertig sind.
Nachdem Sie den PowerDNS-Server konfiguriert haben, führen Sie den folgenden Befehl aus, um die PowerDNS-Konfiguration zu überprüfen.
pdns_server --daemon=no --guardian=no --loglevel=9Sie werden eine Ausgabe wie die folgende sehen - Die Verbindung von PowerDNS zum MariaDB-Datenbank-Backend war erfolgreich, Sie können jetzt ‘Ctrl+c’ drücken, um den Prozess zu beenden.

Führen Sie nun den folgenden systemctl-Befehl aus, um den PowerDNS-Dienst zu starten und zu aktivieren.
sudo systemctl start pdns
sudo systemctl enable pdnsÜberprüfen Sie zuletzt den PowerDNS-Dienst, um sicherzustellen, dass PowerDNS läuft und aktiviert ist.
sudo systemctl status pdnsIn der folgenden Ausgabe sehen Sie den aktuellen Status des PowerDNS-Dienstes, der läuft und aktiviert ist, was bedeutet, dass er beim Bootvorgang automatisch gestartet wird.

An diesem Punkt haben Sie die Installation des PowerDNS-Servers abgeschlossen. Als Nächstes beginnen Sie mit der Installation von PowerDNS-Admin, das als webbasierte Verwaltungsoberfläche für den PowerDNS-Server verwendet wird.
Installation von PowerDNS-Admin
Mit dem laufenden PowerDNS werden Sie nun PowerDNS-Admin auf dem Rocky-Linux-Server installieren und konfigurieren. PowerDNS-Admin ist eine auf Python Flask basierende Webanwendung, daher ist die Installation von PowerDNS-Admin ziemlich ähnlich wie die Installation des Flask-Webframeworks.
Im Folgenden sind einige Schritte aufgeführt, die Sie zur Installation von PowerDNS-Admin auf Rocky Linux durchführen müssen:
- Installation von Paketabhängigkeiten
- Einrichten einer Python-virtuellen Umgebung
- Installation von Python-Abhängigkeiten
- Konfiguration von PowerDNS-Admin mit der MariaDB-Datenbank
- Generierung des Datenbankschemas und Erstellen statischer Dateien
Lassen Sie uns nun mit der Installation von PowerDNS-Admin beginnen.
Installation von Paketabhängigkeiten
Der erste Schritt zur Installation von PowerDNS-Admin besteht darin, Paketabhängigkeiten wie Python3, Pip, Node.js und Yarn zu installieren.
Bevor Sie beginnen, führen Sie den folgenden dnf-Befehl aus, um das ‘ powertools ‘ Repository auf Ihrem Rocky-Linux-System zu aktivieren.
sudo dnf config-manager --set-enabled powertoolsNachdem das ‘powertools’-Repository aktiviert wurde, installieren Sie die Python-Pakete über den folgenden dnf-Befehl.
sudo dnf install python3 python3-devel python3-pip python3-xmlsec gcc git mariadb-devel openldap-devel xmlsec1-devel xmlsec1-openssl libtool-ltdl-develWenn Sie zur Bestätigung aufgefordert werden, geben Sie y ein und drücken Sie ENTER, um fortzufahren.

Als Nächstes fügen Sie die Node.js- und Yarn-Repositories über den folgenden Befehl zu Ihrem System hinzu. Die Node.js- und Yarn-Pakete werden verwendet, um statische Dateien für die PowerAdmin-Webanwendung zu generieren. Dieses Beispiel verwendet Node.js v16.
curl -sL https://rpm.nodesource.com/setup_16.x | bash -
curl -sL https://dl.yarnpkg.com/rpm/yarn.repo -o /etc/yum.repos.d/yarn.repo
Nachdem die Repositories hinzugefügt wurden, führen Sie den dnf-Befehl aus, um den Node.js- und Yarn-Paketmanager zu installieren.
sudo dnf install nodejs yarnGeben Sie y ein und drücken Sie ENTER, wenn Sie zur Installation aufgefordert werden.

Wenn Sie zur Bestätigung des GPG-Schlüssels aufgefordert werden, geben Sie y ein und drücken Sie ENTER.

Führen Sie nun den pip3-Befehl aus, um das Python-Pip-Paket zu aktualisieren und das virtualenv auf Ihrem System zu installieren.
pip3 install -U pip
pip3 install -U virtualenvDas Python-Pip und virtualenv werden jetzt im Verzeichnis ‘ /usr/local/bin ‘ installiert. Fügen Sie das Verzeichnis ‘ /usr/local/bin ‘ zur System-$PATH-Umgebungsvariable über den folgenden Befehl hinzu.
echo "export PATH="/usr/local/bin:$PATH"" >> ~/.bashrcWenden Sie nun die neuen Änderungen in der ‘ ~/.bashrc’-Datei mit dem folgenden Befehl an. Sie sollten jetzt die Befehle ‘ pip ‘ und ‘ virtualenv ‘ ausführen können.
source ~/.bashrcEinrichten einer Python-virtuellen Umgebung
Mit installierten Paketabhängigkeiten laden Sie nun den PowerDNS-Admin-Quellcode herunter und richten die Python-virtuelle Umgebung für den PowerDNS-Admin ein.
Klonen Sie den PowerDNS-Admin-Quellcode in das Verzeichnis ‘/opt/powerdns-admin’ mit dem folgenden git-Befehl.
git clone https://github.com/ngoduykhanh/PowerDNS-Admin.git /opt/powerdns-adminNachdem der Quellcode heruntergeladen wurde, wechseln Sie in das Arbeitsverzeichnis ‘ /opt/powerdns-admin ‘ und erstellen eine neue Python-virtuelle Umgebung ‘ flask ‘.
cd /opt/powerdns-admin
virtualenv -p python3 flaskAktivieren Sie nun die ‘ flask ‘ Python-virtuelle Umgebung über den folgenden Befehl.
source flask/bin/activateWenn sie aktiviert ist, sollten Sie nun sehen, dass die Eingabeaufforderung wie ‘ (flask) [user@hostname /directory/path]# ‘ aussieht.

Von hier aus sollte sich Ihre Arbeitsumgebung immer in der Python-virtuellen Umgebung ‘ flask ‘ befinden.
Installation von Python-Abhängigkeiten
Nachdem Sie die Python-virtuelle Umgebung eingerichtet und aktiviert haben, installieren Sie dann die Python-Abhängigkeiten über den pip-Befehl.
Führen Sie den folgenden pip-Befehl aus, um die Python-Abhängigkeiten für den PowerDNS-Admin zu installieren.
pip install python-dotenv
pip install -r requirements.txtJetzt beginnt die Installation - Dies installiert die Python-Abhängigkeiten, die vom PowerDNS-Admin benötigt werden und in der ‘ requirements.txt ‘-Datei gespeichert sind.

Jetzt, da Sie die Python-Abhängigkeiten installiert haben, sind Sie bereit, PowerDNS-Admin mit der MariaDB-Datenbank einzurichten und zu konfigurieren.
Konfiguration von PowerDNS-Admin mit der MariaDB-Datenbank
Mit installierten Python-Abhängigkeiten werden Sie nun PowerDNS-Admin mit der MariaDB-Datenbank einrichten. Die Datenbankdetails für PowerDNS-Admin werden dieselbe Datenbank wie der PowerDNS-Server sein.
Bearbeiten Sie nun die Datei ‘ /opt/powerdns-admin/powerdnsadmin/default_config.py ‘ mit dem folgenden nano-Editor-Befehl.
nano /opt/powerdns-admin/powerdnsadmin/default_config.pyÄndern Sie die Konfiguration wie folgt.
SALT = 'RANDOM-GENERATED'
SECRET_KEY = 'RANDOM-GENERATED'
BIND_ADDRESS = '0.0.0.0'
PORT = 9191
HSTS_ENABLED = False
OFFLINE_MODE = False
SQLA_DB_USER = 'pdnsadmin'
SQLA_DB_PASSWORD = 'password'
SQLA_DB_HOST = '127.0.0.1'
SQLA_DB_NAME = 'pdns'
SQLALCHEMY_TRACK_MODIFICATIONS = TrueSpeichern Sie die Datei und beenden Sie den Editor, wenn Sie fertig sind.
Generierung des Datenbankschemas und Erstellen statischer Dateien
Nachdem Sie die MariaDB-Datenbank auf PowerDNS-Admin konfiguriert haben, werden Sie dann die Datenbank migrieren und statische Dateien für PowerDNS-Admin generieren.
Führen Sie zunächst den folgenden Befehl aus, um die Datenbank von PowerDNS-Admin zu migrieren. Dies wird ein neues Datenbankschema in die Datenbank einfügen, das für PowerDNS-Admin verwendet wird.
export FLASK_APP=powerdnsadmin/__init__.py
flask db upgradeUnten sehen Sie die Ausgabe, die Sie erhalten, wenn die Datenbankmigration abgeschlossen ist.

Nachdem die Datenbankmigration abgeschlossen ist, führen Sie den folgenden Befehl aus, um statische Dateien für PowerDNS-Admin zu generieren.
yarn install --pure-lockfile
flask assets buildUnten sehen Sie die Installation einiger JavaScript-Abhängigkeiten über den Yarn-Paketmanager und den Prozess der Generierung statischer Dateien für PowerDNS-Admin.

Wenn die statischen Dateien generiert sind, führen Sie den folgenden Befehl aus, um die Python-virtuelle Umgebung zu deaktivieren.
deactivateAn diesem Punkt haben Sie die grundlegende Installation von PowerDNS-Admin mit dem MariaDB-Datenbankserver abgeschlossen. Sie können jetzt die PowerDNS-Admin-Anwendung über die Befehlszeile starten, aber Sie können PowerDNS-Admin auch als systemd-Dienst ausführen.
Einrichten des Systemd-Dienstes für PowerDNS-Admin
In diesem Schritt richten Sie eine neue systemd-Dienstdatei für die PowerDNS-Admin-Anwendung ein. Dies ermöglicht es Ihnen, PowerDNS-Admin einfach über den systemd-Befehl zu verwalten und zu warten. Außerdem vereinfacht dies die Konfiguration von PowerDNS-Admin.
Um zu beginnen, erstellen Sie eine neue systemd-Dienstdatei ‘/etc/systemd/system/powerdns-admin.service’ mit dem folgenden nano-Editor-Befehl.
sudo nano /etc/systemd/system/powerdns-admin.serviceFügen Sie die folgende Konfiguration in die Datei ein. Mit dieser Konfiguration führen Sie die PowerDNS-Admin-Anwendung über gunicorn aus und führen sie als Benutzer und Gruppe ‘ pdns ‘ aus. Außerdem wird PowerDNS-Admin mit der UNIX-Socket-Datei ‘ /run/powerdns-admin/socket ‘ ausgeführt.
[Unit]
Description=PowerDNS-Admin
Requires=powerdns-admin.socket
After=network.target
[Service]
PIDFile=/run/powerdns-admin/pid
User=pdns
Group=pdns
WorkingDirectory=/opt/powerdns-admin
ExecStartPre=+mkdir -p /run/powerdns-admin/
ExecStartPre=+chown pdns:pdns -R /run/powerdns-admin/
ExecStart=/usr/local/bin/gunicorn --pid /run/powerdns-admin/pid --bind unix:/run/powerdns-admin/socket 'powerdnsadmin:create_app()'
ExecReload=/bin/kill -s HUP $MAINPID
ExecStop=/bin/kill -s TERM $MAINPID
PrivateTmp=true
[Install]
WantedBy=multi-user.targetSpeichern Sie die Datei und beenden Sie den Editor, wenn Sie fertig sind.
Als Nächstes erstellen Sie eine neue systemd-Socket-Datei für PowerDNS-Admin ‘ /etc/systemd/system/powerdns-admin.socket ‘ mit dem folgenden nano-Editor.
sudo nano /etc/systemd/system/powerdns-admin.socketFügen Sie die folgende Konfiguration in die Datei ein.
[Unit]
Description=PowerDNS-Admin socket
[Socket]
ListenStream=/run/powerdns-admin/socket
[Install]
WantedBy=sockets.targetSpeichern Sie die Datei und beenden Sie den Editor, wenn Sie fertig sind.
Erstellen Sie nun eine neue Konfigurationsdatei ‘/etc/tmpfiles.d/powerdns-admin.conf’ mit dem folgenden nano-Editor-Befehl.
sudo nano /etc/tmpfiles.d/powerdns-admin.confFügen Sie die folgende Konfiguration in die Datei ein.
d /run/powerdns-admin 0755 pdns pdns -Speichern Sie die Datei und beenden Sie den Editor, wenn Sie fertig sind.
Nachdem Sie eine neue systemd-Dienstdatei und eine neue Konfiguration hinzugefügt haben, führen Sie den folgenden Befehl aus, um den systemd-Manager neu zu laden und die neuen Dienstdateien auf systemd anzuwenden.
sudo systemctl daemon-reloadStarten und aktivieren Sie nun den PowerDNS-Admin-Dienst über den folgenden systemctl-Befehl. PowerDNS-Admin sollte jetzt mit gunicorn ausgeführt werden und die Socket-Datei, die im Verzeichnis ‘ /run/powerdns-admin/ ‘ verfügbar ist, öffnen.
sudo systemctl start powerdns-admin.socket powerdns-admin.service
sudo systemctl enable powerdns-admin.socket powerdns-admin.service
Überprüfen Sie zuletzt den folgenden Befehl, um den PowerDNS-Admin-Dienst zu überprüfen und sicherzustellen, dass der Dienst läuft.
sudo systemctl status powerdns-admin.service powerdns-admin.socketIn der folgenden Ausgabe sehen Sie, dass der powerdns-admin.service und der powerdns-admin.socket läuft und beide aktiviert sind. Beide Dienste werden beim Systemstart automatisch gestartet.

Installation von Nginx als Reverse-Proxy für PowerDNS-Admin
In diesem Schritt richten Sie Nginx als Reverse-Proxy für PowerDNS-Admin ein.
Führen Sie den folgenden dnf-Befehl aus, um Nginx auf Ihrem Rocky-Linux-Server zu installieren. Wenn Sie zur Bestätigung aufgefordert werden, geben Sie y ein, um zu bestätigen, und drücken Sie ENTER, um fortzufahren.
sudo dnf install nginxErstellen Sie als Nächstes einen neuen Nginx-Serverblock ‘/ etc/nginx/conf.d/pdns.conf ‘ mit dem folgenden nano-Editor.
sudo nano /etc/nginx/conf.d/pdns.confFügen Sie die folgende Konfiguration in die Datei ein und stellen Sie sicher, dass Sie den Domainnamen ändern. Dieses Beispiel verwendet die Domain ‘pdns.howtoforge.local’ für PowerDNS-Admin.
server {
listen 80;
server_name pdns.howtoforge.local;
return 301 https://$http_host$request_uri;
}
server {
listen 443 ssl http2;
server_name pdns.howtoforge.local;
index index.html index.htm;
error_log /var/log/nginx/error_powerdnsadmin.log error;
access_log off;
ssl_certificate /etc/letsencrypt/live/pdns.howtoforge.local/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/pdns.howtoforge.local/privkey.pem;
#ssl_dhparam path_to_your_dhparam.pem;
ssl_prefer_server_ciphers on;
ssl_ciphers 'EECDH+AESGCM:EDH+AESGCM:AES256+EECDH:AES256+EDH';
ssl_session_cache shared:SSL:10m;
client_max_body_size 10m;
client_body_buffer_size 128k;
proxy_redirect off;
proxy_connect_timeout 90;
proxy_send_timeout 90;
proxy_read_timeout 90;
proxy_buffers 32 4k;
proxy_buffer_size 8k;
proxy_set_header Host $http_host;
proxy_set_header X-Scheme $scheme;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_headers_hash_bucket_size 64;
location ~ ^/static/ {
include mime.types;
root /opt/powerdns-admin/powerdnsadmin;
location ~* \\.jpg|jpeg|png|gif$ { expires 365d; }
location ~* ^.+\.(css|js)$ { expires 7d; }
}
location ~ ^/upload/ {
include mime.types;
root /opt/powerdns-admin;
location ~* \\.jpg|jpeg|png|gif$ { expires 365d; }
location ~* ^.+\.(css|js)$ { expires 7d; }
}
location / {
proxy_pass http://unix:/run/powerdns-admin/socket;
proxy_read_timeout 120;
proxy_connect_timeout 120;
proxy_redirect http:// $scheme://;
}
}Speichern Sie die Datei und beenden Sie den Editor, wenn Sie fertig sind.
Führen Sie als Nächstes den folgenden Befehl aus, um die Nginx-Konfiguration zu überprüfen und sicherzustellen, dass die Konfiguration korrekt ist. Sie sollten die Ausgabemeldung sehen, wie ‘ syntax ok - test is successful ‘.
sudo nginx -tFühren Sie nun den folgenden systemctl-Befehl aus, um den Nginx-Dienst zu starten und zu aktivieren.
sudo systemctl start nginx
sudo systemctl enable nginx
Überprüfen Sie zuletzt den Nginx-Dienst über den folgenden Befehl, um sicherzustellen, dass der Dienst läuft.
sudo systemctl status nginxSie sollten die Ausgabe sehen, dass der Nginx-Dienst läuft und aktiviert ist. Damit wird der Nginx-Dienst beim Systemstart automatisch gestartet.

Zugriff auf die PowerDNS-Admin-Installation
Öffnen Sie den Webbrowser und besuchen Sie den Domainnamen Ihrer PowerDNS-Admin-Installation (d.h.: https://pdns.howtoforge.local), und Sie sollten die Anmeldeseite von PowerDNS-Admin erhalten.
Klicken Sie auf den Link ‘ Ein Konto erstellen ‘, um einen neuen Administratorbenutzer für PowerDNS-Admin einzurichten.

Geben Sie nun die Details des neuen Benutzers, die E-Mail und das Passwort ein. Klicken Sie dann auf ‘ Registrieren ‘, um zu bestätigen.

Nachdem der Administratorbenutzer erstellt wurde, werden Sie erneut zur Anmeldeseite von PowerDNS-Admin weitergeleitet. Melden Sie sich mit Ihrem neuen Benutzeradmin und Passwort an und klicken Sie dann auf ‘ Anmelden ‘.

Sie sollten jetzt das Dashboard von PowerDNS-Admin erhalten. PowerDNS-Admin läuft, ist jedoch noch nicht mit dem PowerDNS-Server verbunden.
Um den PowerDNS-Server mit PowerDNS-Admin einzurichten, müssen Sie den API-Schlüssel hinzufügen, den Sie über den PowerDNS-Server konfiguriert haben, zu PowerDNS-Admin.
Geben Sie die API-Details des PowerDNS-Servers im Abschnitt ‘ PDNS-Einstellungen ‘ ein und klicken Sie auf ‘ Aktualisieren ‘.

Wenn PowerDNS-Admin und der PowerDNS-Server über die API verbunden sind, sollte Ihr Dashboard wie der folgende Screenshot aussehen.

Von hier aus können Sie jetzt ganz einfach neue DNS-Einträge hinzufügen oder vorhandene DNS-Einträge über das Dashboard von PowerDNS-Admin bearbeiten.
Fazit
In diesem Leitfaden haben Sie gelernt, wie Sie einen PowerDNS-Server mit einer MySQL/MariaDB-Datenbank auf einem Rocky-Linux-Server installieren. Sie haben auch die grundlegende Bereitstellung der MariaDB-Datenbank auf Rocky Linux gelernt. Schließlich haben Sie gelernt, wie Sie PowerDNS-Admin installieren und konfigurieren, das als webbasiertes Verwaltungstool für den PowerDNS-Server verwendet wird. PowerDNS-Admin läuft mit Nginx als Reverse-Proxy und MariaDB-Datenbank-Backend.
Mit dem laufenden PowerDNS-Server und PowerDNS-Admin können Sie jetzt Ihren DNS-Server über das webbasierte Administrationsdashboard verwalten. Sie können DNS-Einträge über das Administrationsdashboard von PowerDNS-Admin hinzufügen, bearbeiten oder löschen.
Erhalte neue Beiträge in deinem Posteingang.
Kein Spam. Jederzeit abmelden.