Ero sivun ”PowerDNS Admin” versioiden välillä
(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 libxml2-dev libxmlsec1-dev libxmlsec1-openssl virtualenv | |
Lataa Git paketti | Lataa Git paketti | ||
− | + | <pre> | |
− | + | 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 | ||
− | |||
</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' | |
<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 | |
+ | |||
+ | 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 === | ||
− | + | 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 proxy == |
Nykyinen versio 21. heinäkuuta 2018 kello 09.35
PowerDNS Admin on GUI työkalu PowerDNS palvelulle.
Sisällysluettelo
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