debian:pdns_server

Це стара версія документу!


PowerDNS Server

Розгортаємо високопродуктивний безкоштовний авторитарний DNS-сервер для тримання власних зон доменів

All we do from sudo user!!!

sudo su

https://repo.powerdns.com/

apt-get update 
apt-get install -y pdns-server pdns-backend-mysql
nano /etc/powerdns/pdns.conf 
setgid=pdns
setuid=pdns
local-address=127.0.0.1
local-port=53
include-dir=/etc/powerdns/pdns.d
launch=
mysql -u root -p
CREATE DATABASE powerdns;
GRANT ALL ON powerdns.* TO 'powerdns'@'localhost' IDENTIFIED BY 'strongpassword';
FLUSH PRIVILEGES;
quit;

Якщо це нове встановлення, то створимо структуру бази даних

mysql powerdns < /usr/share/pdns-backend-mysql/schema/schema.mysql.sql

Інакше, відновимо структуру з вашої резервної копії

mysql powerdns < /tmp/backup_powerdns.sql

Після відновлення з резервної копії, перевіряємо наявність змін структури

ls /usr/share/pdns-backend-mysql/schema/ | grep -E -i '^[0-9]'
"3.4.0_to_4.1.0_schema.mysql.sql
4.1.0_to_4.2.0_schema.mysql.sql
4.2.0_to_4.3.0_schema.mysql.sql"

Якщо вони є, застосовуємо всі почерзі, починаючи з версії з резервної копії, наприклад з 4.1.0

mysql powerdns < /usr/share/pdns-backend-mysql/schema/4.1.0_to_4.2.0_schema.mysql.sql
mysql powerdns < /usr/share/pdns-backend-mysql/schema/4.2.0_to_4.3.0_schema.mysql.sql
nano /etc/powerdns/pdns.d/pdns.local.gmysql.conf
# MySQL Configuration
# Launch gmysql backend
launch+=gmysql
# gmysql parameters
gmysql-host=127.0.0.1
gmysql-port=3306
gmysql-dbname=powerdns
gmysql-user=powerdns
gmysql-password=strongpassword
gmysql-dnssec=yes
# gmysql-socket=
systemctl restart pdns
netstat -tap | grep pdns
dig mydomain.local @127.0.0.1
dig @127.0.0.1

https://computingforgeeks.com/install-powerdns-and-powerdns-admin-on-debian/

https://github.com/PowerDNS-Admin/PowerDNS-Admin/wiki/Running-PowerDNS-Admin-on-Ubuntu-or-Debian

apt-get install -y python3-dev libmysqlclient-dev libsasl2-dev libldap2-dev libssl-dev libxml2-dev libxslt1-dev \
libxmlsec1-dev libffi-dev pkg-config apt-transport-https virtualenv build-essential
apt-get install nodejs
curl -sS https://dl.yarnpkg.com/debian/pubkey.gpg | apt-key add -
echo "deb https://dl.yarnpkg.com/debian/ stable main" | tee /etc/apt/sources.list.d/yarn.list
apt-get update -y
apt-get install -y yarn
git clone https://github.com/ngoduykhanh/PowerDNS-Admin.git /opt/web/powerdns-admin
cd /opt/web/powerdns-admin
cp config_template.py config.py
mysql -u root -p
CREATE DATABASE pda;
GRANT ALL PRIVILEGES ON pda.* TO 'pda'@'127.0.0.1' IDENTIFIED BY 'changeme';
FLUSH PRIVILEGES;
quit
nano /opt/web/powerdns-admin/config.py
BIND_ADDRESS = '0.0.0.0'
virtualenv -p python3 flask
source ./flask/bin/activate
pip install -r requirements.txt
pip install python-dotenv
export FLASK_APP=app/__init__.py
flask db migrate -m "Init DB"
flask db upgrade
yarn install --pure-lockfile
flask assets build
/etc/init.d/pdns restart
/etc/init.d/pdns status
nano /etc/systemd/system/powerdns-admin.service
[Unit]
Description=PowerDNS-Admin
After=network.target
 
[Service]
User=root
Group=root
WorkingDirectory=/opt/web/powerdns-admin
#ExecStart=/opt/web/powerdns-admin/flask/bin/gunicorn --workers 2 --bind unix:/opt/web/powerdns-admin/powerdns-admin.sock app:app
ExecStart=/opt/web/powerdns-admin/flask/bin/gunicorn --workers 2 --bind 0.0.0.0:9191 app:app
 
[Install]
WantedBy=multi-user.target
systemctl daemon-reload
systemctl start powerdns-admin
systemctl enable powerdns-admin
nano /etc/powerdns/pdns.d/api.conf
api=yes
api-key=changeme
/etc/init.d/pdns restart

History

___________WSGI________
apt install apache2-dev
sudo apt-get install uwsgi uwsgi-plugin-python
pip3 install mod-wsgi
mod_wsgi-express install-module > /etc/apache2/mods-available/wsgi.load
a2enmod wsgi
sudo a2enmod wsgi
systemctl restart apache2
nano /etc/apache2/sites-available/powerdns-admin.conf
nano /opt/web/powerdns-admin/powerdnsadmin.wsgi
uwsgi /opt/web/powerdns-admin/powerdnsadmin.wsgi
wsgi /opt/web/powerdns-admin/powerdnsadmin.wsgi
uwsgi powerdnsadmin.wsgi
sudo a2dissite 000-default.conf
sudo a2ensite powerdns-admin.conf
sudo apache2ctl configtest
systemctl restart apache2
systemctl status apache2
 
nano /etc/systemd/system/powerdns-admin.service
systemctl daemon-reload
systemctl start powerdns-admin
systemctl enable powerdns-admin
sudo ufw allow 9191/tcp
sudo ufw reload
systemctl status powerdns-admin
nano /etc/systemd/system/powerdns-admin.service
/usr/bin/gunicorn-3.6 --workers 4 --log-level info --pid /run/powerdns-admin/pid --bind unix:/run/powerdns-admin/socket "powerdnsadmin:create_app(config='config.py')"
/opt/web/powerdns-admin/flask/bin/gunicorn --workers 2 --bind 0.0.0.0:9191 "powerdnsadmin:create_app(config='config.py')"
[Unit]
Description=PowerDNS-Admin
Requires=powerdns-admin.socket
Wants=network.target
After=network.target mysqld.service slapd.service mariadb.service
[Service]
PIDFile=/run/powerdns-admin/pid
User=www-data
Group=www-data
WorkingDirectory=/opt/web/powerdns-admin
#ExecStart=/opt/web/powerdns-admin/flask/bin/gunicorn --workers 4 --log-level info --pid /run/powerdns-admin/pid --bind unix:/run/powerdns-admin/socket "powerdnsadmin:create_app(config='config.py')"
ExecStart=/opt/web/powerdns-admin/flask/bin/gunicorn --workers 4 --log-level info --pid /run/powerdns-admin/pid --bind 0.0.0.0:9191 "powerdnsadmin:create_app(config='config.py')"
ExecReload=/bin/kill -s HUP $MAINPID
ExecStop=/bin/kill -s TERM $MAINPID
PrivateTmp=true
Restart=on-failure
RestartSec=10
StartLimitInterval=0
[Install]
 
systemctl daemon-reload
systemctl enable powerdns-admin
systemctl restart powerdns-admin
nano /etc/systemd/system/powerdns-admin.socket
systemctl restart powerdns-admin
chmod /run/powerdns-admin 0755 www-data www-data -
chown  www-data:www-data /run/powerdns-admin
nano /etc/tmpfiles.d/powerdns-admin.conf
sudo systemctl daemon-reload; sudo systemctl start powerdns-admin.socket; sudo systemctl enable powerdns-admin.socket
 
nano /etc/systemd/system/powerdns-admin.socket
nano /etc/systemd/system/powerdns-admin.service
systemctl disable powerdns-admin
systemctl enaable powerdns-admin
systemctl restart powerdns-admin
systemctl status powerdns-admin
systemctl status powerdns-admin
nano /etc/systemd/system/powerdns-admin.service
systemctl disable powerdns-admin
systemctl enaable powerdns-admin
systemctl restart powerdns-admin
systemctl status powerdns-admin
nano /etc/systemd/system/powerdns-admin.service
systemctl restart powerdns-admin
systemctl status powerdns-admin
/opt/web/powerdns-admin/flask/bin/gunicorn --workers 4 --log-level info --pid /run/powerdns-admin/pid --bind 0.0.0.0:9191 "powerdnsadmin:create_app(config='config.py')"
nano /etc/systemd/system/powerdns-admin.service
systemctl disable powerdns-admin
sudo systemctl daemon-reload;
systemctl restart powerdns-admin
systemctl enable powerdns-admin
systemctl restart powerdns-admin
systemctl stop powerdns-admin
nano /etc/systemd/system/powerdns-admin.service
systemctl disable powerdns-admin
sudo systemctl daemon-reload;
systemctl enable powerdns-admin
systemctl restart powerdns-admin
systemctl disable powerdns-admin
nano /etc/systemd/system/powerdns-admin.service
nano /etc/systemd/system/powerdns-admin.service
systemctl daemon-reload
systemctl start powerdns-admin
systemctl enable powerdns-admin
systemctl start powerdns-admin
systemctl status powerdns-admin
systemctl stop powerdns-admin
systemctl stop powerdns-admin.socket
systemctl stop powerdns-admin.socket
systemctl stop powerdns-admin
/opt/web/powerdns-admin/flask/bin/gunicorn --pid /run/powerdns-admin/pid --bind 0.0.0.0:9191 powerdnsadmin:create_app()
/opt/web/powerdns-admin/flask/bin/gunicorn  --bind 0.0.0.0:9191 powerdnsadmin:create_app()
/opt/web/powerdns-admin/flask/bin/gunicorn  --bind 0.0.0.0:9191 powerdnsadmin:create_app()
/opt/web/powerdns-admin/flask/bin/gunicorn  --bind 0.0.0.0:9191 "powerdnsadmin:create_app()"
/opt/web/powerdns-admin/flask/bin/gunicorn --pid /run/powerdns-admin/pid --bind 0.0.0.0:9191 "powerdnsadmin:create_app()"
nano /etc/systemd/system/powerdns-admin.service
systemctl daemon-reload
systemctl stop powerdns-admin.socket
systemctl stop powerdns-admin
systemctl enable powerdns-admin
systemctl start powerdns-admin
systemctl status powerdns-admin
nano /etc/systemd/system/powerdns-admin.service
systemctl daemon-reload
systemctl enable powerdns-admin
systemctl restart powerdns-admin
systemctl status powerdns-admin
nano /etc/apache2/sites-available/powerdns-admin.conf
sudo apache2ctl configtest
mod_proxy
sudo a2enmod proxy
systemctl restart apache2
sudo apache2ctl configtest
nano /etc/apache2/sites-available/powerdns-admin.conf
sudo apache2ctl configtest
systemctl restart apache2
nano /etc/apache2/sites-available/powerdns-admin.conf
sudo apache2ctl configtest
systemctl restart apache2
history

Установка DNSCrypt-сервера

https://dnslookup.online/ptr.html

new version https://kifarunix.com/easily-install-and-setup-powerdns-admin-on-ubuntu-20-04/

https://github.com/ngoduykhanh/PowerDNS-Admin/wiki

https://repo.powerdns.com/

https://fossies.org/linux/pdns-dnsdist/pdns/dnsdistdist/docs/advanced/snmp.rst

sh -c 'echo "deb [arch=amd64] http://repo.powerdns.com/debian buster-rec-master main" > /etc/apt/sources.list.d/pdns.list'
nano /etc/apt/preferences.d/pdns
Package: pdns-*
Pin: origin repo.powerdns.com
Pin-Priority: 600
curl https://repo.powerdns.com/CBC8B383-pub.asc | sudo apt-key add - &&
sudo apt-get update &&
sudo apt-get install pdns-recursor
pdnsutil create-zone example.com ns1.example.com
/etc/init.d/pdns-recursor restart
rec_control wipe-cache
/etc/init.d/pdns-recursor status
Цей сайт використовує кукі. Перебуваючи тут, ви погоджуєтеся з їх зберіганням на вашому комп'ютері. Також ви підтверджуєте, що прочитали і зрозуміли нашу Політику конфіденційності. Якщо ви не згодні - покиньте сайт.Більше інформації про куки
  • debian/pdns_server.1665307636.txt.gz
  • Востаннє змінено: 09/10/2022 09:27
  • повз Method