Mainos / Advertisement:

Ero sivun ”PowerDNS Admin” versioiden välillä

Kohteesta Taisto
Siirry navigaatioon Siirry hakuun
Rivi 6: Rivi 6:
  
 
  sudo apt install git python-pip python-dev libmysqlclient-dev libsasl2-dev libldap2-dev libssl-dev virtualenv
 
  sudo apt install git python-pip python-dev libmysqlclient-dev libsasl2-dev libldap2-dev libssl-dev virtualenv
 +
 +
Asenna PIP:in avulla MySQL_python
 +
pip install MySQL-python
  
 
Lataa Git paketti
 
Lataa Git paketti

Versio 27. lokakuuta 2017 kello 18.56

PowerDNS Admin on GUI työkalu PowerDNS palvelulle.

Asennus ja konfigurointi

Asenna aluksi vaaditut paketit

sudo apt install git python-pip python-dev libmysqlclient-dev libsasl2-dev libldap2-dev libssl-dev virtualenv

Asenna PIP:in avulla MySQL_python

pip install MySQL-python

Lataa Git paketti

cd /opt
git clone https://github.com/ngoduykhanh/PowerDNS-Admin.git
cd PowerDNS-Admin

Konfiguroidaan PowerDNS Admin työkalu. Aloita konfigurointi komenolla "virtualenv" aina.

virtualenv flask
pip install -r requirements.txt
cp config_template.py config.py

Konfiguroi tietokantapalvelimen asetukset ja määritä salausavain

nano config.py
SECRET_KEY = 'XXXX'
SQLA_DB_USER = 'powerdnsadmin'
SQLA_DB_PASSWORD = 'xxxxsalasana'
SQLA_DB_HOST = '127.0.0.1'
SQLA_DB_NAME = 'powerdnsadmin'
SQLALCHEMY_POOL_RECYCLE = 600

Konfiguroi lisäksi PowerDNS palvelimen API tunnus ja avain tiedostoon myös. Sinun tulee ottaa käyttöön API pdns.conf tiedostosta.

# POWERDNS CONFIG
PDNS_STATS_URL = 'http://127.0.0.1:8081/'
PDNS_API_KEY = 'XXXXX'
PDNS_VERSION = '4.0.0'

Luo tietokantataulu

sudo ./create_db.py

Käynnistä palvelu testiksi

sudo ./run.py

Konfiguroi uWSGI

Asenna uWSGI

sudo apt install uwsgi

Luo uusi konfigurointitiedosto

sudo nano /etc/uwsgi/apps-enabled/pdns-admin.ini 

Jos olet asentanut PowerDNS-Adminin /opt -hakemiston alle, tässä olisi valmis konfiguraatio. Jos olet asentanut toisaalle, muuta chdir, pythonpath ja virtualenv-polku.

[uwsgi]
plugins = python27

uid=www-data
gid=www-data

chdir = /opt/PowerDNS-Admin/
pythonpath = /opt/PowerDNS-Admin/
virtualenv = /opt/PowerDNS-Admin/flask

mount = /pdns=run.py
manage-script-name = true
callable = app

vacuum = true
harakiri = 20
post-buffering = 8192
socket = /run/uwsgi/app/%n/%n.socket
chown-socket = www-data
pidfile = /run/uwsgi/app/%n/%n.pid

daemonize = /var/log/uwsgi/app/%n.log
enable-threads

Konfiguroi Nginx

location / { try_files $uri @pdns_admin; } 

location @pdns_admin {
    include uwsgi_params;
    uwsgi_pass unix:/run/uwsgi/app/pdns-admin/pdns-admin.socket;
}

location /pdns/static/ {
    alias /opt/PowerDNS-Admin/app/static/;
}

Käynnistä uwsgi ja nginx uudelleen ja testaa.

Lisäkonfiguraatio

Kaikki PowerDNS Admin konfiguraatiot tehdään pääsääntöisesti config.py tiedostoon.

Määritä tietueet joita saa muokata. Varmista että sinulla on uusin PowerDNS versio myös.

 RECORDS_ALLOW_EDIT = [  'A','AAAA','AFSDB ','CAA','CERT','CDNSKEY','CDS','CNAME','DNSKEY','DNAME','DS','HINFO','KEY','LOC','MX','NAPTR','NS','NSEC','NSEC3','NSEC3PARAM','OPENPGPKEY','PTR','RP','RRSIG','SOA','SPF','SSHFP','SRV','TKEY','TSIG','TLSA','TXT','URI']

Nginx reverse proxy

Nginx reverse proxynä käyttäessä sinun pitää tehdä oma virtualhost ja käyttää subdomainia.Esimerkki konfiguraatio:

server {
        listen 80;
        server_name example.org;

 location / {
    proxy_pass          http://127.0.0.1:9393;
    include /etc/nginx/proxy_params;
 }

DynDNS

DynDNS on API-rajapinta ns. eli ei sen kummoisempi. Päivitys tapahtuu esimerkiksi.

 https://ip-address/nic/update?hostname=example.org&myip=1.2.3.4 

IPv6 voi päivittää kunhan muuttaa myip:n myip6:seksi.

IP:n voi tarkistaa

 https://ip-address/nic/checkip.html
Mainos / Advertisement: