
			     DNSSEC-Tools
			Is your domain secure?


TABLE OF CONTENTS
=================

  Table Of Contents
  Instructions
  Patching Other Applications (mozilla, sendmail, libspf, ...)
  Gnu CONFIGURE Instructions

INSTRUCTIONS
==================

  1) Get and install the following required perl modules:

      Net::DNS
      Net::DNS::SEC

     These can be easily done via the perl CPAN shell.  For example:

     # perl -MCPAN -e shell
       [...]

     cpan>  install Net::DNS
       [ CPAN will start the install process and hopefully install it ]

     cpan>  install Net::DNS::SEC
       [...]
       [... optionally continue with other perl modules in step 2 below ...]

  2) Install the optional software and perl modules

      Software needed if you want to sign zones using zonesigner:
         bind 9.3.1 or later.  ( http://www.isc.org/sw/bind/ )
	 openssl and its development libraries ( http://www.openssl.org )

      Extra perl modules needed for various tools:
         Text::Wrap
         Date::Parse
         ExtUtils::MakeMaker
         MailTools
         Test::Builder
         String::Diff

      Software for displaying zone maps, tcpdump traces, validator traces:
         graphviz                  [ http://www.graphviz.org/ ]

      Perl modules needed for displaying zone maps:
         GraphViz

      Perl modules (optional) that provides a GUI interface to some tools:
         Gtk2
         QWizard
         Getopt::GUI::Long
         Perl Tk

      Perl module needed for running tests:
         Text::Diff


  3) Run ./configure
     (type "./configure --help" for a quick usage summary.)
     (--prefix=PATH will change the default /usr/local installation path.)
     (--without-validator will turn off the C-code library and
      applications if they're not needed or don't compile and you
      still want to install the rest of the useful scripts)

  4) make

p  5) make install                 [as root]

  6) install the logwatch extensions for parsing DNSSEC related
     reports from syslog messages (note: these patches are included in
     recent versions of logwatch, so you only need to enable them)
 
        See tools/logwatch/README

  7) If you want to use automatic dynamic DNS securely on linux
     systems, see the tools/linux/ifup-dyn-dns/README file.

  8) Before using zonesigner and other DNSSEC-Tools commands, the dtinitconf
     script should be run.  This will create a new configuration file that
     will be used by the DNSSEC-Tools programs.  It is also a good idea to
     read the README and INFO files in the dnssec-tools/tools/scripts
     directory, as well as the man pages for the commands you wish to use.

PATCHING OTHER APPLICATIONS
=============================================

Patches for the other applications can be found in the apps
directory.  See the apps/README file for details on those applications
and patches.


GNU CONFIGURE INSTRUCTIONS
=============================================

The `configure' shell script attempts to guess correct values for
various system-dependent variables used during compilation.  It uses
those values to create a `Makefile' in each directory of the package.
It may also create one or more `.h' files containing system-dependent
definitions.  Finally, it creates a shell script `config.status' that
you can run in the future to recreate the current configuration, a file
`config.cache' that saves the results of its tests to speed up
reconfiguring, a file `config.log' containing compiler output
(useful mainly for debugging `configure') and a file `configure-summary'
containing the summary displayed at the end of the `configure' run.

As the `configure' invocation often gets lengthy and difficult to
type or if you have several different ways you want to configure a
system, you may want to create a shell script containing your invocation.

If you need to do unusual things to compile the package, please try
to figure out how `configure' could check whether to do them, and mail
diffs or instructions to the address given in the `README' so they can
be considered for the next release.  If at some point `config.cache'
contains results you don't want to keep, you may remove or edit it.

The file `configure.in' is used to create `configure' by a program
called `autoconf'.  You only need `configure.in' if you want to change
it or regenerate `configure' using a newer version of `autoconf'.

The simplest way to compile this package is:

  1. `cd' to the directory containing the package's source code and type
     `./configure' to configure the package for your system.  If you're
     using `csh' on an old version of System V, you might need to type
     `sh ./configure' instead to prevent `csh' from trying to execute
     `configure' itself.

     Running `configure' takes awhile.  While running, it prints some
     messages telling which features it is checking for.  When it
     completes it prints a short message (also available in configure-summary)
     indicating what functionality will be available when compiled.

  2. Type `make' to compile the package.

  3. Type `make install' to install the programs and any data files and
     documentation.

  4. You can remove the program binaries and object files from the
     source code directory by typing `make clean'.  To also remove the
     files that `configure' created (so you can compile the package for
     a different kind of computer), type `make distclean'.

There may be additional installation issues discussed in the 
README's for various platforms such as README.solaris.

# Copyright 2004-2009 SPARTA, Inc.  All rights reserved.
# See the COPYING file included with the DNSSEC-Tools package for details.
