<HEAD><TITLE>Compiling MaraDNS</TITLE>

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

</HEAD><BODY>

<!-- Copyright 2005 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</H1>

<H2>Requirements</H2>

MaraDNS needs a UNIX-compatible operating system, ideally one which
is not proprietary, such as Linux or FreeBSD.
MaraDNS is currently being developed on a CentOS 3.6 (RHEL 3 compatible) 
machine.  

<p>MaraDNS currently will only compile on Linux, FreeBSD, Cygwin,
and Mac OS X systems.  Other systems can be easily ported to.
MaraDNS also has partial MinGW32 
support; this allows MaraDNS to (partially) run as a native Win32 binary.

<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',
  '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.  

</UL>
</BODY>

