A tool to administer BIND DNS servers from a web interface.

Changes are committed out of the database on-the-fly, on-demand from the web interface. Changes are instant, so there's no waiting around for cron to kick in. Changes to the zone data are applied without bringing BIND down, through the use of "rndc reload". This means changes can be applied while BIND is "hot".
back
list

INSTALLATION

Download dnsAdmin 1.0 and follow instructions from this page or from the Install doc in the downloaded folder.

DATABASE

Create the dnsAdmin database.
[MySQL] mysqladmin -u root -p create dnsAdmin

Create the dnsAdmin tables.
[MySQL] mysql -p -u root -D dnsAdmin < dnsadmin-mysql.sql

INSTALL PEAR

Login to terminal as root to install PEAR and a PEAR module called DB:

$ curl http://pear.php.net/go-pear.phar > go-pear.phar
$ php -q go-pear.phar 
 '1. Installation base ($prefix)                   : /usr/local/pear'

continue with install process. When finished add the following line to your php.ini file

 include_path = ".:/usr/local/pear/share/pear"

$ /usr/local/pear/bin/pear install DB

WEB SERVER

Move the 'dnsAdmin" folder to you web server directory.

Edit config.php, setting your database information and the locations of your
named-checkconf, named-checkzone, and rndc binaries. dnsAdmin configuration
examples are provided for both normal and chroot jailed BIND setups.
Also include your PEAR location as it is written in your php.ini file.

'/usr/local/pear/bin/pear'

$ cd /Library/WebServer/Documents/dnsAdmin
$ chown _www config.php templates_c
$ chmod 640 config.php
$ chmod 775 templates_c

BIND

Create a folder and a config file for dnsAdmin in the /etc directory:

$ mkdir /etc/dnsadmin
$ touch /etc/dnsadmin/dnsadmin.conf
$ chown -R _www /etc/dnsadmin
$ chgrp -R _www /etc/dnsadmin
$ chmod 775 /etc/dnsadmin

Add an include to your named.conf (adding dnsadmin.conf to named.conf.)

$ open -e /etc/named.conf

'include "/etc/dnsadmin/dnsadmin.conf";'

Modify the permissions on BIND's zone file directory.

$ chown -R _www /var/named
$ chmod 770 /var/named

Move 'rndc.conf' and 'rndc.key' from the dnsAdmin-1.0 folder to your /private/etc directory.

$ chown _www /etc/rndc.conf
$ chmod 770 /etc/rndc.conf
$ chown _www /private/etc/rndc.key
$ chmod 770 /private/etc/rndc.key

Move the start-up file 'net.captainnet.named.plist' to /Library/LaunchDaemons (Library at root level). You can load the Launch file manually, but next time you start up or restart your computer the launctl will take care of it.

$ sudo /bin/launchctl load /Library/LaunchDaemons/net.captainnet.named.plist


TESTING OUT

http://localhost/dnsAdmin/src/configtest.php
This script will verify that your web server can read and write every where it needs to. If it encounters any permissions problems, read the error message carefully and investigate as instructed. It is assumed that your BIND is running prior to this test.

Login to the web interface with the user 'admin' and password 'admin'.