webdns
is a web PowerDNS frontend using the powerful pdns MySQL backend.
- Automatically handle zone serial updates using multiple serial strategies.
- DNSSEC support.
- Slave & Master support.
- Smart editing helpers.
- A flexible per group permission model.
webdns
was developed to be deployed using standard debian jessie (stable) packages and practices. It does not require bundler for production, but is should be pretty straightforward to set it up using bundler on other platforms.
$ sudo apt-get install pdns-server pdns-backend-mysql
$ cat /etc/powerdns/pdns.d/pdns.local.gmysql.conf
# MySQL Configuration
launch+=gmysql
# gmysql parameters
gmysql-host=127.0.0.1
gmysql-port=3306
gmysql-dbname=webdns
gmysql-user=webdns
gmysql-password=password
gmysql-dnssec=no
You might also want to enable slave and master support on powerdns in order to manage slave & master zones in WebDNS.
Install dependencies
$ cat Gemfile | grep -oE 'pkg:[a-z0-9-]+' | cut -d: -f2 | xargs echo apt-get install
Edit & install
contrib/systemd/sudo_unicorn -> /etc/sudoers.d/unicorn
contrib/systemd/default_unicorn -> /etc/default/unicorn
contrib/systemd/unicornctl -> /usr/local/bin/unicornctl
contrib/systemd/unicorn.service -> /etc/systemd/system/unicorn.service
systemctl daemon-reload # Notify systemd about the newly installed unicorn service
You should also create an empty database and an account.
On the server create the following files under /srv/webdns/shared/config/
. Those files will be symlinked to config/
on deploy by capistrano.
database.yml
secrets.yml
local_settings.rb # Override config/initializers/00_settings.rb
Locally create config/deploy/production.rb
based on the sample file.
$ apt get install capistrano
$ cap production deploy