<HEAD><TITLE>Compiling MaraDNS and Deadwood</TITLE>

<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=utf-8">

</HEAD><BODY>

<!-- Copyright 2005-2010 Sam Trenholme

    TERMS

    Redistribution and use, with or without modification, are permitted 
    provided that the following condition is met:

    1. Redistributions must retain the above copyright notice, this 
       list of conditions and the following disclaimer.

    This documentation is provided 'as is' with no guarantees of 
    correctness or fitness for purpose.

 -->

<H1>Compiling MaraDNS and Deadwood</H1>

<H2>Requirements</H2>

MaraDNS is supported on two platforms: CentOS Linux 5, and Windows XP (via
MinGW32).

<p>
Other systems can be easily ported to, but are not supported.  This means
that, while it should be fairly easy to port MaraDNS to another platform,
you will have to port it yourself or pay me to port it for you.  The Windows
XP port does not support all of the features the CentOS Linux version has.

<H2>Downloading, compiling, and installing MaraDNS</H2>

<UL>

<LI>Obtain MaraDNS from <A 
    href=http://www.maradns.org/>www.maradns.org</A>

<LI>Extract the MaraDNS tarball:

    <blockquote>
    <TT>bzip2 -cd maradns-*.tar.bz2 | tar xvf -</TT>
    </blockquote>

<LI>Enter the directory that the above extraction generated.

<LI>Compile MaraDNS.  Type in <TT>./configure</TT> followed by <TT>make</TT>
    in the top-level MaraDNS directory.  

<LI>Install the MaraDNS package.  As root:
    <blockquote>
    <tt>make install</tt>
    </blockquote>

  This will install both the binaries and the man pages for 'maradns',
  'Deadwood' (MaraDNS 2.0's recursive DNS server), 'askmara', 'duende', 
  'fetchzone', and 'zoneserver'.  In addition, this 
  will (if the files are not already present), install an example /etc/mararc,
  make the /etc/maradns directory, and place an example zone file
  (db.example.com) in /etc/maradns.  Finally, this will place MaraDNS
  documentation in /usr/local/doc ; man pages will be placed in /usr/local/man
  or /usr/local/share/man.

</UL>
</BODY>

