A PowerDNS web interface with advanced features
Go to file
2018-04-01 16:10:07 +07:00
app Fix #194 2018-04-01 15:51:56 +07:00
configs Add LDAP_ENABLE in config file 2018-04-01 15:08:55 +07:00
upload/avatar Adjustment in user_profile template. Add avatar uploading support 2015-12-17 00:50:28 +07:00
.gitignore Adjustment to work with Python3 2018-03-30 13:49:35 +07:00
config_template.py Add LDAP_ENABLE in config file 2018-04-01 15:08:55 +07:00
create_db.py Adjustment in domain template feature to work with python3 2018-03-31 08:21:02 +07:00
db_downgrade.py Adjustment to work with Python3 2018-03-30 13:49:35 +07:00
db_migrate.py Adjustment to work with Python3 2018-03-30 13:49:35 +07:00
db_upgrade.py Adjustment to work with Python3 2018-03-30 13:49:35 +07:00
docker-compose.dev.yml Adjustment to work with Python3 2018-03-30 13:49:35 +07:00
Dockerfile Adjustment to work with Python3 2018-03-30 13:49:35 +07:00
LICENSE Add MIT LICENSE file 2016-01-09 09:43:04 +07:00
README.md Update README.md 2018-04-01 16:10:07 +07:00
requirements.txt Adjustment to work with Python3 2018-03-30 13:49:35 +07:00
run.py Google OAuth 2017-09-22 15:28:09 +01:00
supervisord.conf Adjustment to work with Python3 2018-03-30 13:49:35 +07:00

PowerDNS-Admin

A PowerDNS web interface with advanced features.

Features:

  • Multiple domain management
  • Domain template
  • User management
  • User access management based on domain
  • User activity logging
  • Local DB / LDAP / Active Directory user authentication
  • Support Two-factor authentication (TOTP)
  • Dashboard and pdns service statistics
  • DynDNS 2 protocol support
  • Edit IPv6 PTRs using IPv6 addresses directly (no more editing of literal addresses!)

Setup

PowerDNS Version Support:

PowerDNS-Admin supports PowerDNS autoritative server versions 3.4.2 and higher.

pdns Service

I assume that you have already installed pdns service. Make sure that your pdns.conf config file has these contents

PowerDNS 4.0.0 and later

api=yes
api-key=your-powerdns-api-key
webserver=yes

PowerDNS before 4.0.0

experimental-json-interface=yes
experimental-api-key=your-powerdns-api-key
webserver=yes

This will enable API access in pdns service so PowerDNS-Admin can intergrate with it.

Create Database

We will create a database which used by this web application. Please note that this database is difference from pdns database itself.

PowerDNS-Admin supports MySQL server, Maria DB, PostgresQL and SQL Lite.

MariaDB [(none)]> CREATE DATABASE powerdnsadmin;

MariaDB [(none)]> GRANT ALL PRIVILEGES ON powerdnsadmin.* TO powerdnsadmin@'%' IDENTIFIED BY 'your-password';

Running PowerDNS-Admin

There are several ways to run PowerDNS-Admin. Following is a simple way to start PowerDNS-Admin with docker in development environment.

Firstly, let's edit configs/developments.py configuration file.

Secondly, build the docker image of PowerDNS-Admin

$docker-compose -f docker-compose.dev.yml build

Finally, start it

$ docker-compose -f docker-compose.dev.yml up

You can now access PowerDNS-Admin at url http://localhost:9191

NOTE: For other methods to run PowerDNS-Admin, please take look at WIKI pages.

Screenshots

login page dashboard create domain page manage domain page two-factor authentication config