Mainos / Advertisement:

Ero sivun ”PowerDNS Admin” versioiden välillä

Kohteesta Taisto
Siirry navigaatioon Siirry hakuun
 
(8 välissä olevaa versiota samalta käyttäjältä ei näytetä)
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
 
 
Asenna PIP:in avulla MySQL_python
 
pip install MySQL-python
 
  
 
Lataa Git paketti
 
Lataa Git paketti
  
cd /opt
+
<pre>
git clone https://github.com/ngoduykhanh/PowerDNS-Admin.git
+
cd /opt
cd PowerDNS-Admin
+
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 21: Rivi 20:
 
virtualenv flask
 
virtualenv flask
 
source ./flask/bin/activate
 
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

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: