PowerDNS-Admin/README.md

69 lines
1.7 KiB
Markdown
Raw Normal View History

2015-12-13 11:46:24 +01:00
# PowerDNS-Admin
PowerDNS Web-GUI - Built by Flask
2015-12-13 12:07:10 +01:00
#### Features:
2015-12-13 12:07:59 +01:00
- Multiple domain management
2015-12-13 12:07:10 +01:00
- Local / LDAP user authentication
- User management
- User access management base on domain
- User activity logging
- Dashboard and pdns service statistics
2015-12-13 11:46:24 +01:00
## Setup
### pdns Service
I assume that you have already installed powerdns service. Make sure that your `/etc/pdns/pdns.conf` has these contents
```
experimental-json-interface=yes
experimental-api-key=your-powerdns-api-key
webserver=yes
```
2015-12-13 12:01:48 +01:00
It will help to enable API access feature in PowerDNS so our PowerDNS-Admin can intergrate with backend services.
2015-12-13 11:46:24 +01:00
### Create Database
We will create a database which used by this web application. Please note that this database is difference from pdns database itself.
```
MariaDB [(none)]> CREATE DATABASE powerdnsadmin;
MariaDB [(none)]> GRANT ALL PRIVILEGES ON powerdnsadmin.* TO powerdnsadmin@'%' IDENTIFIED BY 'your-password';
2015-12-13 11:46:24 +01:00
```
### PowerDNS-Admin
2015-12-14 10:38:47 +01:00
In this installation guide, I am using CentOS 7 and run my python stuffs with *virtualenv*. If you don't have it, let install:
2015-12-13 11:46:24 +01:00
```
$ sudo yum install python-pip
$ sudo pip install virtualenv
```
In your python web app directory, create a `flask` directory via `virtualenv`
```
$ virtualenv flask
```
Enable virtualenv and install python 3rd libraries
```
$ source ./flask/bin/activate
(flask)$ pip install -r requirements.txt
```
Web application configuration is stored in `config.py` file. Let's clone it from `config_template.py` file and then edit it
```
(flask)$ cp config_template.py config.py
2015-12-13 11:46:24 +01:00
(flask)$ vim config.py
```
Create database after having proper configs
2015-12-13 12:10:10 +01:00
```
2015-12-13 11:46:24 +01:00
(flask)% ./createdb.py
2015-12-13 12:10:10 +01:00
```
2015-12-13 11:46:24 +01:00
Run the application and enjoy!
```
(flask)$ ./run.py
```
2015-12-13 11:58:26 +01:00
### Screenshot
![Alt text](http://i.imgur.com/wA5qy2d.png)