Mainos / Advertisement:

Ero sivun ”PowerDNS Admin” versioiden välillä

Kohteesta Taisto
Siirry navigaatioon Siirry hakuun
 
(16 välissä olevaa versiota samalta käyttäjältä ei näytetä)
Rivi 1: Rivi 1:
PowerDNS Admin on GUI työkalu PowerDNS palvelulle.
+
PowerDNS Admin on GUI työkalu [[Powerdns|PowerDNS]] palvelulle.
  
 
== Asennus ja konfigurointi ==
 
== Asennus ja konfigurointi ==
Rivi 5: Rivi 5:
 
Asenna aluksi vaaditut paketit
 
Asenna aluksi vaaditut paketit
  
  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 libxml2-dev libxmlsec1-dev libxmlsec1-openssl virtualenv
  
 
Lataa Git paketti
 
Lataa Git paketti
  
git clone https://github.com/ngoduykhanh/PowerDNS-Admin.git
+
<pre>
cd PowerDNS-Admin
+
cd /opt
 +
git clone https://github.com/ngoduykhanh/PowerDNS-Admin.git
 +
cd PowerDNS-Admin
 +
</pre>
  
 
Konfiguroidaan PowerDNS Admin työkalu. Aloita konfigurointi komenolla "virtualenv" aina.
 
Konfiguroidaan PowerDNS Admin työkalu. Aloita konfigurointi komenolla "virtualenv" aina.
Rivi 16: Rivi 19:
 
<pre>
 
<pre>
 
virtualenv flask
 
virtualenv flask
 +
source ./flask/bin/activate
 +
pip install --upgrade pip
 
pip install -r requirements.txt
 
pip install -r requirements.txt
cp config_template.py config.py
 
 
</pre>
 
</pre>
 +
 +
Mikäli käytössä Python3:
 +
 +
<pre>
 +
virtualenv -p python3 flask
 +
source ./flask/bin/activate
 +
pip3 install setuptools --upgrade
 +
pip3 install pip --upgrade
 +
pip3 install -r requirements.txt
 +
pip3 install MySQL-python
 +
</pre>
 +
 +
Kopioi template konfiguraatio config.py:ksi.
 +
 +
cp config_template.py config.py
  
 
Konfiguroi tietokantapalvelimen asetukset ja määritä salausavain
 
Konfiguroi tietokantapalvelimen asetukset ja määritä salausavain
Rivi 24: Rivi 43:
 
  nano config.py
 
  nano config.py
  
  SECRET_KEY = 'XXXX'
+
SECRET_KEY = 'XXXX'
  
 
<pre>
 
<pre>
Rivi 31: Rivi 50:
 
SQLA_DB_HOST = '127.0.0.1'
 
SQLA_DB_HOST = '127.0.0.1'
 
SQLA_DB_NAME = 'powerdnsadmin'
 
SQLA_DB_NAME = 'powerdnsadmin'
 +
SQLALCHEMY_POOL_RECYCLE = 600
 
</pre>
 
</pre>
  
Rivi 44: Rivi 64:
 
Luo tietokantataulu
 
Luo tietokantataulu
  
  sudo ./create_db.py
+
sudo ./create_db.py
 +
 
 +
Käynnistä palvelu testiksi
 +
 
 +
sudo ./run.py
 +
 
 +
=== Konfiguroi uWSGI ===
 +
 
 +
Asenna uWSGI
 +
 
 +
sudo apt install uwsgi uwsgi-plugin-python
 +
 
 +
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.
 +
 
 +
<pre>
 +
[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
 +
</pre>
 +
 
 +
Konfiguroi Nginx
 +
 
 +
<pre>
 +
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/;
 +
}
 +
</pre>
 +
 
 +
Käynnistä uwsgi ja nginx uudelleen ja testaa.
 +
 
 +
=== Lisäkonfiguraatio ===
  
Käynnistä palvelu
+
Kaikki PowerDNS Admin konfiguraatiot tehdään pääsääntöisesti config.py tiedostoon.
  
  sudo ./run.py
+
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 proxy ==

Nykyinen versio 21. heinäkuuta 2018 kello 09.35

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 libxml2-dev libxmlsec1-dev libxmlsec1-openssl virtualenv

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
source ./flask/bin/activate
pip install --upgrade pip
pip install -r requirements.txt

Mikäli käytössä Python3:

virtualenv -p python3 flask
source ./flask/bin/activate
pip3 install setuptools --upgrade
pip3 install pip --upgrade
pip3 install -r requirements.txt
pip3 install MySQL-python

Kopioi template konfiguraatio config.py:ksi.

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 uwsgi-plugin-python

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: