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".
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.phpThis 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'.