DJBDNS - Quick Installation How-To
Installing DJBDNS on a fresh machine can sometimes appear daunting compared to the seeming relative ease of installing BIND. This is mostly due to DJB's more detailed installation notes and the instalation of daemontools and ucspi-tcp to provide the services djbdns itself sits on top of, however to a novice the effect can be overwhelming.
I have created the script below to try and simplify the process. Generally speaking, if you're installing on a freshly installed Linux/Unix machine running an up-to-date distribution of the operating system (OS), you should find that simply copying the instructions below to your clipboard and pasting them en-masse into your command line window will download and install a fully working DJBDNS installaton, complete with all ancillary software. Note this is just the installation stage, you still need to configure the software by telling it what IP addresses and directories to use, and then creating and compiling the data file, in the same way you'd need to create and populate named.conf and appropriate zone files on a BIND server.
Note: For this script to work, you need to be root, and to have wget installed and in the path on your machine.
Note2: You also have to have make and gcc and associated files (i.e. the ability to compile software) installed. Certain basic / text installs of Linux do not include these tools by default, so make sure you've got them installed before starting.
Mk1a version - errno patch now applied to daemontools before compilation
# Installing daemontools mkdir -p /package chmod 1755 /package cd /package wget http://cr.yp.to/daemontools/daemontools-0.76.tar.gz gunzip daemontools-0.76.tar tar -xpf daemontools-0.76.tar rm daemontools-0.76.tar cd admin/daemontools-0.76 package/install # At this point the script will stop with an error message. # Ignore the error, and do the following: echo gcc -O2 -include /usr/include/errno.h > compile/conf-cc package/install mail firstname.lastname@example.org < /package/admin/daemontools/compile/sysdeps # Installing ucspi-tcp mkdir /local mkdir /local/src cd /local/src wget http://cr.yp.to/ucspi-tcp/ucspi-tcp-0.88.tar.gz gunzip ucspi-tcp-0.88.tar.gz tar -xf ucspi-tcp-0.88.tar cd ucspi-tcp-0.88 echo gcc -O2 -include /usr/include/errno.h > conf-cc make make setup check ( echo 'Script install by Pyromancer'; cat `cat SYSDEPS` ) \ | mail email@example.com # Installing DJBDNS mkdir /local mkdir /local/src cd /local/src wget http://cr.yp.to/djbdns/djbdns-1.05.tar.gz gunzip djbdns-1.05.tar tar -xf djbdns-1.05.tar cd djbdns-1.05 echo gcc -O2 -include /usr/include/errno.h > conf-cc make make setup check ( echo 'Script install by Pyromancer'; cat `cat SYSDEPS` ) \ | mail firstname.lastname@example.org
If you're installing an authoratative nameserver, i.e. one which serves your domains to the Internet, you'll want to go to http://cr.yp.to/djbdns/run-server.html next to find out how to configure and operate your nameserver. If on the other hand you want to run a recursive or "caching" server, i.e. one which can be used to resolve host names to IP addresses, see http://cr.yp.to/djbdns/run-cache-x.html.
DNS powered by djbdns
Web service by The Apache Web Server Projet
This page © 2005, Pyromancer Stormshadow.