INSTALL Documentation for NovaDNS. This is a very short "quick and dirty" installation document, I'll try to make a nice set of documents soon. 1. Install Perl Modules 2. Install NovaDNS 3. Configure the database (currently MySQL only) 4. Configure Apache (or another http server like zeus) 5. Configure Bind 6. Questions and Remarks 1. Install Perl Modules One Perl module I made for NovaDNS is history.pm You can find it in the modules directory. Please place it inside your Perls' @INC or use a line like this in each script: use lib "/home/novadns/modules"; I intend to make the whole program one script with one module but that is "future music" as we say in Holland :) NovaDNS needs a few other Perl modules. The version numbers are the versions I used. Newer versions should be backward compatible but I'm not sure. I will offer these versions for download on my project page so you can always use the tested versions. DBI-1.2.21 to access a database DBD-mysql-2.1011 to connect to MySQL Apache-Session-1.54 for session management There are also a few modules I needed to install on a FreeBSD or Solaris system (on the Linux system these were part of the Perl installation). These are probably dependencies of the modules listed above. MD5-2.02 Digest-MD5-2.16 Storable-1.0.14 There is a (very unstable) importzone.sh script that can help you import existing zone files. I haven't given it much attention as I only needed it once. Because I had to import over 2000 zones some of them were changed by the time I was finished. I used a CRC test to find out which ones. A handy Perl module to do CRC tests is; String-CRC32-1.2 All these modules can be downloaded from CPAN (http://www.cpan.org). To install a Perl module you should use tar to untar it (use gunzip or bzip2 first to unzip) (see: 'man tar'), cd into the directory that was created by untarring the tarball and run these commands: perl Makefile.pl make make install 2. Install NovaDNS Installation of NovaDNS is easy. - Create a group called "novadns" Edit "/etc/group" or run "groupadd" to do this Consult the man page for commandline options. - Create a user called "novadns" Run "useradd" (Linux or Solaris) or "adduser" (FreeBSD) Consult the man page for commandline options. - Create the home directory for "novadns" The home directory of novadns is in the novadns tarball cp novadns_v0.1.tar.gz /home cd /home gunzip novadns_v0.1.tar.gz tar -xvf novadns_v0.1.tar chown novadns:novadns /home/novadns Note: If you choose to let Apache run as any other user than novadns then you need to chown the homedirectory to that user and you don't need to create the novadns user in the first place. This is beyond the scope of this document though. - When you are done with this document please read the README file for some final steps. 3. Configure the database There is a file called create_NovaDNS_db.sql in the "support" subdirectory of the "novadns" homedirectory that you can use to fill the "dns" database. First create the "dns" database mysql -u root -p (type your password when asked for it) create database dns; exit Now create the tables with the create_NovaDNS_db.sql file mysql -u root -p < /home/novadns/support/create_NovaDNS_db.sql Give the user "novadns" permissions on the dns database and set the password mysql -u root -p use dns grant all privileges on *.* to novadns@localhost identified by 'password'; The database should work now. 4. Configure Apache Edit httpd.conf and set this; User novadns (let Apache run as user novadns) Not needed if you decide to run Apache as another user Watch out for file permissions though DocumentRoot /home/novadns/htdocs ScriptAlias /cgi-bin/ "/home/novadns/cgi-bin/" Note: You can make a VirtualHost for novadns if you run more than one website on your server. 5. Configure Bind In Bind you can include a file in named.conf like this: # Files generated by the novadns program include master.inc master.inc is a file generated by the novadns program containing information about zone files as are normally stored in named.conf Every time you generate/update zone files from the database a new master.inc is generated that you should copy over the old one (a script could do this running from a cron job). The location of master.inc is /home/novadns/work/master.inc The zone files will be stored in /home/novadns/work/zones You can use the same script to copy them to the directory specified in master.inc If you intend to start a new name server with novadns you are done. If you need to migrate data from an existing server you should read the IMPORT file first. Note: The IMPORT file has to be written still, please send e-mail to marcel.loesberg@novaxess.net with questions on migrating data from an existing name server until the documantation is finished. 6. Questions and Remarks You can send questions and remarks to marcel.loesberg@novaxess.net Now please read the README file for some final steps.