home *** CD-ROM | disk | FTP | other *** search
/ PC World 2003 May / PCWorld_2003-05_cd.bin / Komunik / apache / apache_2.0.45-win32-x86-no_ssl.msi / Data.Cab / F233014_netware.xml < prev    next >
Extensible Markup Language  |  2003-03-17  |  25KB  |  617 lines

  1. <?xml version="1.0" encoding="UTF-8" ?>
  2. <!DOCTYPE manualpage SYSTEM "../style/manualpage.dtd">
  3. <?xml-stylesheet type="text/xsl" href="../style/manual.en.xsl"?>
  4.  
  5. <manualpage>
  6.   <relativepath href=".." />
  7.   <parentdocument href="./">Platform Specific Notes</parentdocument>
  8.  
  9.   <title>Using Apache With Novell NetWare</title>
  10.  
  11.   <summary>
  12.  
  13.     <p>This document explains how to install, configure and run
  14.     Apache 2.0 under Novell NetWare 5.1 and above. If you find any bugs,
  15.     or wish to contribute in other ways, please use our
  16.     <a href="http://httpd.apache.org/bug_report.html">bug reporting
  17.     page.</a></p>
  18.  
  19.     <p>The bug reporting page and dev-httpd mailing list are <em>not</em>
  20.     provided to answer questions about configuration or running Apache.
  21.     Before you submit a bug report or request, first consult this document, the
  22.     <a href="../faq/">Frequently Asked Questions</a> page and the other
  23.     relevant documentation topics. If you still have a question or problem,
  24.     post it to the <a href="news://developer-forums.novell.com/novell.devsup.webserver">
  25.     novell.devsup.webserver</a> newsgroup, where many Apache users are more than
  26.     willing to answer new and obscure questions about using Apache on NetWare.</p>
  27.  
  28.     <p>Most of this document assumes that you are installing Apache
  29.     from a binary distribution. If you want to compile Apache
  30.     yourself (possibly to help with development, or to track down
  31.     bugs), see the section on <a href="#comp">Compiling Apache for
  32.     NetWare</a> below.</p>
  33.  
  34.   </summary>
  35.  
  36.   <section id="req">
  37.  
  38.     <title>Requirements</title>
  39.  
  40.     <p>Apache 2.0 is designed to run on NetWare 5.1 and above.</p>
  41.  
  42.     <p><strong>If running on NetWare 5.1 you must install Service
  43.     Pack 4 or above.</strong></p>
  44.  
  45.     <p><strong>If running on NetWare 6 you must install Service
  46.     Pack 1 or above.</strong></p>
  47.  
  48.     <p>NetWare service packs are available <a
  49.     href="http://support.novell.com/misc/patlst.htm#nw">here</a>.</p>
  50.  
  51.   </section>
  52.  
  53.   <section id="down">
  54.  
  55.     <title>Downloading Apache for NetWare</title>
  56.  
  57.     <p>Information on the latest version of Apache can be found on
  58.     the Apache web server at <a
  59.     href="http://www.apache.org/">http://www.apache.org/</a>. This
  60.     will list the current release, any more recent alpha or
  61.     beta-test releases, together with details of mirror web and
  62.     anonymous ftp sites.</p>
  63.  
  64.   </section>
  65.  
  66.   <section id="inst">
  67.  
  68.     <title>Installing Apache for NetWare</title>
  69.  
  70.     <p>There is no Apache install program for NetWare currently. You
  71.     will need to compile apache and copy the files over to the
  72.     server manually. An install program will be posted at a later
  73.     date.</p>
  74.  
  75.     <p>Follow these steps to install Apache on NetWare from the
  76.     binary download (assuming you will install to
  77.     <code>sys:/apache2</code>):</p>
  78.  
  79.     <ul>
  80.       <li>Unzip the binary download file to the root of the <code>SYS:</code>
  81.       volume (may be installed to any volume)</li>
  82.  
  83.       <li>Edit the <code>httpd.conf</code> file setting <directive
  84.       module="core">ServerRoot</directive> and <directive
  85.       module="core">ServerName</directive> to reflect your correct server
  86.       settings</li>
  87.  
  88.       <li>Add <code>SYS:/APACHE2</code> to the search path, for example:
  89.         <example>SEARCH ADD SYS:\APACHE2</example>
  90.       </li>
  91.  
  92.     </ul>
  93.  
  94.     <p>Follow these steps to install Apache on NetWare manually
  95.     from your own build source (assuming you will install to
  96.     <code>sys:/apache</code>):</p>
  97.  
  98.     <ul>
  99.       <li>Create a directory called <code>Apache2</code> on a
  100.       NetWare volume</li>
  101.  
  102.       <li>Copy <code>APACHE2.NLM</code>, <code>APRLIB.NLM</code>,
  103.       <code>HTDIGEST.NLM</code>, <code>HTPASSWD.NLM</code>
  104.       to <code>SYS:/APACHE2</code></li>
  105.  
  106.       <li>Create a directory under <code>SYS:/APACHE2</code>
  107.       called <code>CONF</code></li>
  108.  
  109.       <li>Copy the <code>HTTPD-STD.CONF</code> file to the
  110.       <code>SYS:/APACHE2/CONF</code> directory and rename to
  111.       <code>HTTPD.CONF</code></li>
  112.  
  113.       <li>Copy the <code>MIME.TYPES</code> and <code>MAGIC</code>
  114.       files to <code>SYS:/APACHE2/CONF</code> directory</li>
  115.  
  116.       <li>Copy all files and subdirectories in <code>\HTTPD-2.0\DOCS\ICONS</code>
  117.       to <code>SYS:/APACHE2/ICONS</code></li>
  118.  
  119.       <li>Copy all files and subdirectories in <code>\HTTPD-2.0\DOCS\MANUAL</code>
  120.       to <code>SYS:/APACHE2/MANUAL</code></li>
  121.  
  122.       <li>Copy all files and subdirectories in <code>\HTTPD-2.0\DOCS\ERROR</code>
  123.       to <code>SYS:/APACHE2/ERROR</code></li>
  124.  
  125.       <li>Copy all files and subdirectories in <code>\HTTPD-2.0\DOCS\DOCROOT</code>
  126.       to <code>SYS:/APACHE2/HTDOCS</code></li>
  127.  
  128.       <li>Create the directory <code>SYS:/APACHE2/LOGS</code>
  129.       on the server</li>
  130.  
  131.       <li>Create the directory <code>SYS:/APACHE2/CGI-BIN</code>
  132.       on the server</li>
  133.  
  134.       <li>Create the directory <code>SYS:/APACHE2/MODULES</code>
  135.       and copy all nlm modules into the <code>modules</code> directory</li>
  136.  
  137.       <li>Edit the <code>HTTPD.CONF</code> file searching for all
  138.       <code>@@Value@@</code> markers and replacing them with the
  139.       appropriate setting</li>
  140.  
  141.       <li>Add <code>SYS:/APACHE2</code> to the search path, for example:
  142.         <example>SEARCH ADD SYS:\APACHE2</example>
  143.       </li>
  144.     </ul>
  145.  
  146.     <p>Apache may be installed to other volumes besides the default <code>SYS</code> volume.</p>
  147.  
  148.   </section>
  149.  
  150.   <section id="run">
  151.  
  152.     <title>Running Apache for NetWare</title>
  153.  
  154.     <p>To start Apache just type <code>apache</code> at the
  155.     console. This will load apache in the OS address space. If you
  156.     prefer to load Apache in a protected address space you may
  157.     specify the address space with the load statement as follows:</p>
  158.  
  159.     <example>
  160.       load address space = apache2 apache2
  161.     </example>
  162.  
  163.     <p>This will load Apache into an address space called apache.
  164.     Running multiple instances of Apache concurrently on NetWare is
  165.     possible by loading each instance into its own protected
  166.     address space.</p>
  167.  
  168.     <p>After starting Apache, it will be listening to port 80
  169.     (unless you changed the <directive module="mpm_common">Listen</directive>
  170.     directive in the configuration files).
  171.     To connect to the server and access the default page,
  172.     launch a browser and enter the server's name or address. This
  173.     should respond with a welcome page, and a link to the Apache
  174.     manual. If nothing happens or you get an error, look in the
  175.     <code>error_log</code> file in the <code>logs</code>
  176.     directory.</p>
  177.  
  178.     <p>Once your basic installation is working, you should
  179.     configure it properly by editing the files in the
  180.     <code>conf</code> directory.</p>
  181.  
  182.     <p>To unload Apache running in the OS address space just type
  183.     the following at the console:</p>
  184.  
  185.     <example>
  186.       unload apache2
  187.     </example>
  188.  
  189.     <p>or</p>
  190.  
  191.     <example>
  192.       apache2 shutdown
  193.     </example>
  194.  
  195.     <p>If apache is running in a protected address space specify the
  196.     address space in the unload statement:</p>
  197.  
  198.     <example>
  199.       unload address space = apache2 apache2
  200.     </example>
  201.  
  202.     <p>When working with Apache it is important to know how it will
  203.     find the configuration files. You can specify a configuration
  204.     file on the command line in two ways:</p>
  205.  
  206.     <ul>
  207.       <li><code>-f</code> specifies a path to a particular
  208.       configuration file</li>
  209.     </ul>
  210.  
  211.     <example>
  212.       apache2 -f "vol:/my server/conf/my.conf"
  213.     </example>
  214.  
  215.     <example>
  216.       apache -f test/test.conf
  217.     </example>
  218.  
  219.     <p>In these cases, the proper <directive module="core">ServerRoot</directive>
  220.     should be set in the configuration file.</p>
  221.  
  222.     <p>If you don't specify a configuration file name with <code>-f</code>,
  223.     Apache will use the file name compiled into the server, usually
  224.     <code>conf/httpd.conf</code>. Invoking Apache with the <code>-V</code>
  225.     switch will display this value labeled as <code>SERVER_CONFIG_FILE</code>.
  226.     Apache will then determine its <directive module="core">ServerRoot</directive>
  227.     by trying the following, in this order:</p>
  228.  
  229.     <ul>
  230.       <li>A <code>ServerRoot</code> directive via a
  231.       <code>-C</code> switch.</li>
  232.  
  233.       <li>The <code>-d</code> switch on the command line.</li>
  234.  
  235.       <li>Current working directory</li>
  236.  
  237.       <li>The server root compiled into the server.</li>
  238.     </ul>
  239.  
  240.     <p>The server root compiled into the server is usually <code>sys:/apache2</code>.
  241.     invoking apache with the <code>-V</code> switch will display this value labeled as
  242.     <code>HTTPD_ROOT</code>.</p>
  243.  
  244.     <p>Apache 2.0 for NetWare includes a set of command line directives that can
  245.     be used to modify or display information about the running instance of the
  246.     web server. Each of these directives must be preceded by the keyword
  247.     <code>APACHE2</code>:</p>
  248.  
  249.     <dl>
  250.       <dt>RESTART</dt>
  251.       <dd>Instructs Apache to terminate all running worker
  252.       threads as they become idle, reread the configuration file and restart each
  253.       worker thread based on the new configuration.</dd>
  254.  
  255.       <dt>VERSION</dt>
  256.       <dd>Displays version information about the currently
  257.       running instance of Apache.</dd>
  258.  
  259.       <dt>MODULES</dt>
  260.       <dd>Displays a list of loaded modules both built-in
  261.       and external.</dd>
  262.  
  263.       <dt>DIRECTIVES</dt>
  264.       <dd>Displays a list of all available directives.</dd>
  265.  
  266.       <dt>SETTINGS</dt>
  267.       <dd>Enables or disables the thread status display
  268.       on the console. When enabled, a status of the number of running threads
  269.       is displayed along with their status.</dd>
  270.  
  271.       <dt>SHUTDOWN</dt>
  272.       <dd>Terminates the running instance of the Apache
  273.       web server.</dd>
  274.     </dl>
  275.  
  276.   </section>
  277.  
  278.   <section id="use">
  279.  
  280.     <title>Configuring Apache for NetWare</title>
  281.  
  282.     <p>Apache is configured by files in the <code>conf</code>
  283.     directory. These are the same as files used to configure the
  284.     Unix version, but there are a few different directives for
  285.     Apache on NetWare. See the <a href="../">Apache
  286.     documentation</a> for all the available directives.</p>
  287.  
  288.     <p>The main differences in Apache for NetWare are:</p>
  289.  
  290.     <ul>
  291.       <li>
  292.         <p>Because Apache for NetWare is multithreaded, it does not
  293.         use a separate process for each request, as Apache does in some Unix
  294.         implementations. Instead there are only threads running: a parent
  295.         thread, and a multiple child threads which handle the requests.</p>
  296.  
  297.         <p>So the "process"-management directives are different:</p>
  298.  
  299.         <p><directive module="mpm_common">MaxRequestsPerChild</directive> -
  300.         Like the Unix directive, this controls how many requests
  301.         a worker thread will serve before exiting. The recommended default,
  302.         <code>MaxRequestsPerChild 0</code>, causes the thread to continue servicing
  303.         request indefinitely. It is recommended on NetWare, unless there is some
  304.         specific reason, that this directive always remain set to <code>0</code>.</p>
  305.  
  306.         <p><directive module="mpm_common">StartThreads</directive> -
  307.         This directive tells the server how many threads it should start initially.
  308.         The recommended default is <code>StartThreads 50</code>.</p>
  309.  
  310.         <p><directive module="mpm_common">MinSpareThreads</directive> -
  311.         This directive instructs the server to spawn additional worker threads
  312.         if the number of idle threads ever falls below this value. The recommended
  313.         default is <code>MinSpareThreads 10</code>.</p>
  314.  
  315.         <p><directive module="mpm_common">MaxSpareThreads</directive> -
  316.         This directive instructs the server to begin terminating worker threads
  317.         if the number of idle threads ever exceeds this value. The recommended
  318.         default is <code>MaxSpareThreads 100</code>.</p>
  319.  
  320.         <p><directive module="mpm_netware">MaxThreads</directive> -
  321.         This directive limits the total number of work threads to a maximum
  322.         value. The recommended default is <code>ThreadsPerChild 250</code>.</p>
  323.  
  324.         <p><directive module="mpm_netware">ThreadStackSize</directive> -
  325.         This directive tells the server what size of stack to use
  326.         for the individual worker thread. The recommended default
  327.         is <code>ThreadStackSize 65536</code>.</p>
  328.       </li>
  329.  
  330.       <li>
  331.         <p>The directives that accept filenames as arguments now
  332.         must use NetWare filenames instead of Unix ones. However,
  333.         because Apache uses Unix-style names internally, you must
  334.         use forward slashes, not backslashes. It is recommended that all rooted
  335.         file paths begin with a volume name. If omitted, Apache will
  336.         assume the <code>SYS:</code> volume.</p>
  337.       </li>
  338.  
  339.       <li>
  340.         <p>Apache for NetWare has the ability to load modules at
  341.         runtime, without recompiling the server. If Apache is
  342.         compiled normally, it will install a number of optional
  343.         modules in the <code>\Apache2\modules</code> directory.
  344.         To activate these, or other modules, the <directive
  345.         module="mod_so">LoadModule</directive> directive
  346.         must be used. For example, to active the status module, use
  347.         the following (in addition to the status-activating
  348.         directives in <code>access.conf</code>):</p>
  349.  
  350.         <example>
  351.           LoadModule status_module modules/status.nlm
  352.         </example>
  353.  
  354.         <p>Information on <a
  355.         href="../mod/mod_so.html#creating">creating loadable
  356.         modules</a> is also available.</p>
  357.       </li>
  358.     </ul>
  359.  
  360.     <section id="use-add">
  361.  
  362.       <title>Additional NetWare specific directives:</title>
  363.  
  364.       <ul>
  365.         <li><directive module="core">CGIMapExtension</directive> -
  366.         This directive maps a CGI file extension to a script interpreter.</li>
  367.       </ul>
  368.       <ul>
  369.         <li><directive module="mod_nw_ssl">SecureListen</directive> -
  370.         Enables SSL encryption for a specified port.</li>
  371.       </ul>
  372.       <ul>
  373.         <li><directive module="mod_nw_ssl">NWSSLTrustedCerts</directive> -
  374.         Adds trusted certificates that are used to create secure connections to proxied servers.</li>
  375.       </ul>
  376.  
  377.     </section>
  378.  
  379.   </section>
  380.  
  381.   <section id="comp">
  382.  
  383.     <title>Compiling Apache for NetWare</title>
  384.  
  385.     <p>Compiling Apache requires MetroWerks CodeWarrior 6.x or higher to
  386.     be properly installed. Once Apache has been built, it needs to be
  387.     installed on a NetWare volume's root directory. The default is the
  388.     <code>sys:/Apache2</code> directory.</p>
  389.  
  390.     <p>Before running the server you must fill out the <code>conf</code>
  391.     directory. Copy the file <code>HTTPD-STD.CONF</code> from the distribution
  392.     <code>conf</code> directory and rename it to <code>HTTPD.CONF</code>.
  393.     Edit the <code>HTTPD.CONF</code> file searching for all <code>@@Value@@</code>
  394.     markers and replacing them with the appropriate setting. Copy over
  395.     the <code>conf/magic</code> and <code>conf/mime.types</code> files as well.</p>
  396.  
  397.     <section id="comp-req">
  398.  
  399.       <title>Requirements:</title>
  400.  
  401.       <p>The following development tools are required to build
  402.       Apache 2.0 for NetWare:</p>
  403.  
  404.       <ul>
  405.         <li>Metrowerks CodeWarrior 6.0 or higher with the
  406.         <a href="http://developer.novell.com/ndk/cwpdk.htm">NetWare PDK 3.0</a>
  407.         or higher.</li>
  408.  
  409.         <li><a href="http://developer.novell.com/ndk/libc.htm">NetWare Libraries
  410.         for C (LibC)</a></li>
  411.  
  412.         <li><a href="http://developer.novell.com/ndk/ws2comp.htm">WinSock 2
  413.         Developer Components for NetWare</a></li>
  414.  
  415.         <li>To build using either the project file or the make files, requires an
  416.         AWK utility (awk, gawk or similar). AWK can be downloaded from
  417.         <a href="http://developer.novell.com/ndk/apache.htm">http://developer.novell.com/ndk/apache.htm</a>.
  418.         The utility must be found in your windows path and must be named <code>awk.exe</code>.</li>
  419.  
  420.         <li>To build using the makefiles, you will need GNU make version 3.78.1 (GMake) available at
  421.         <a href="http://developer.novell.com/ndk/apache.htm">http://developer.novell.com/ndk/apache.htm</a>.</li>
  422.       </ul>
  423.  
  424.     </section>
  425.  
  426.     <section id="comp-metro">
  427.  
  428.       <title>Building Apache using the Metrowerks Project Files:</title>
  429.  
  430.       <p>All major pieces of Apache and APR are built using the
  431.       <code>ApacheNW.mcp</code> and <code>LibAprNW.mcp</code> project files.
  432.       This includes modules such as status, info, proxy, etc.</p>
  433.  
  434.       <ul>
  435.         <li>Set the environment variable <code>NovellLibC</code> to the
  436.         location of the NetWare Libraries for C SDK, for example:
  437.         <example>Set NovellLibC=c:\novell\ndk\libc</example>
  438.         </li>
  439.  
  440.         <li>Make sure that the path to the CodeWarrior command line tools
  441.         (<code>MWCCNLM.exe</code>, <code>MWLDNLM.exe</code>) has been
  442.         included in the system's <code>PATH</code> environment variable.</li>
  443.  
  444.         <li>Make sure that the path to the AWK utility has been included in the
  445.         system's <code>PATH</code> environment variable.</li>
  446.  
  447.         <li>Download the source code and unzip to an appropriate directory on
  448.         your workstation.</li>
  449.  
  450.         <li>Change directory to <code>\httpd\srclib\apr\build</code> and run the
  451.         batch file <code>prebuildnw.bat</code>. The batch file will setup the build
  452.         environment for building the APR libraries. It will also run 2 AWK scripts
  453.         that will generate the export files for APR.</li>
  454.  
  455.         <li>Change directory to <code>\httpd\srclib\apr</code> and extract the project
  456.         file <code>LIBAPRNW.mcp</code> from the <code>LIBAPRNW.mcp.zip</code> file.</li>
  457.  
  458.         <li>Open the <code>LIBAPRNW.mcp</code> project file in the Metrowerks IDE.</li>
  459.  
  460.         <li>Select the target "Build Util - Gen URL Delim" and build the target.
  461.         This target will produce the NLM <code>GENURI.nlm</code></li>
  462.  
  463.         <li>Copy the file <code>GENURI.nlm</code> to the <code>SYS:</code> volume
  464.         of a NetWare server and run using the following command:
  465.           <ul>
  466.             <li><code>SYS:\genuri > sys:\uri_delims.h</code></li>
  467.           </ul>
  468.         </li>
  469.  
  470.         <li>Copy the file <code>uri_delims.h</code> to the directory
  471.         <code>\httpd\srclib\apr-util\uri</code> on the build machine.</li>
  472.  
  473.         <li>Select the target "APR Debug NLM" or "APR Release NLM" in the IDE and build.
  474.         This will produce the file <code>APRLIB.nlm</code>.
  475.           <ul>
  476.             <li>[Optional] Select any of the LIB targets to produce a
  477.             statically linkable libraries.</li>
  478.           </ul>
  479.         </li>
  480.  
  481.         <li>Change directory to <code>\httpd\build</code> and run the batch file
  482.         <code>prebuildnw.bat</code>. This batch file will setup the build environment
  483.         for building the <code>APACHE.nlm</code>. It will also run several AWK scripts
  484.         that will generate the export files for APACHE.</li>
  485.  
  486.         <li>Change directory to <code>\http</code> and extract the project file
  487.         <code>ApacheNW.mcp</code> from the <code>ApacheNW.mcp.zip</code> file.</li>
  488.  
  489.         <li>Open the <code>ApacheNW.mcp</code> project file in the Metrowerks IDE.</li>
  490.  
  491.         <li>Select the target "Build Utility - DFTables" and build the target.</li>
  492.  
  493.         <li>Select the target "Build Util - Gen Test Chars" and build the target.</li>
  494.  
  495.         <li>Copy the files <code>GENCHARS.nlm</code> and <code>DFTABLES.nlm</code>
  496.         to the <code>SYS:</code> volume of a NetWare server and run using the following commands:
  497.           <ul>
  498.             <li><code>SYS:\genchars > sys:\test_char.h</code></li>
  499.             <li><code>SYS:\dftables > sys:\chartables.c</code></li>
  500.           </ul>
  501.         </li>
  502.  
  503.         <li>Copy the files <code>test_char.h</code> and <code>chartables.c</code>
  504.         to the directory <code>\httpd\os\netware</code> on the build machine.</li>
  505.  
  506.         <li>Select the target "Apache Full Debug" or "Apache Full Release" in
  507.         the IDE and build. This will produce the file <code>APACHE2.nlm</code>
  508.         along with all of the external module NLMs.</li>
  509.       </ul>
  510.  
  511.     </section>
  512.  
  513.     <section id="comp-make">
  514.  
  515.       <title>Building Apache using the NetWare makefiles:</title>
  516.  
  517.       <ul>
  518.         <li>Set the environment variable <code>NOVELLLIBC</code> to the
  519.         location of the NetWare Libraries for C SDK, for example:
  520.         <example>Set NOVELLLIBC=c:\novell\ndk\libc</example>
  521.         </li>
  522.  
  523.         <li>Set the environment variable <code>METROWERKS</code> to the
  524.         location where you installed the Metrowerks CodeWarrior compiler,
  525.         for example:
  526.         <example>Set METROWERKS=C:\Program Files\Metrowerks\CodeWarrior</example>
  527.         If you installed to the default location <code>C:\Program
  528.         Files\Metrowerks\CodeWarrior</code>, you don't need to set this.</li>
  529.  
  530.         <li>Set the environment variable <code>AP_WORK</code> to the full path of
  531.         the <code>\httpd</code> directory.</li>
  532.  
  533.         <li>Set the environment variable <code>APR_WORK</code> to the full path of
  534.         the <code>\httpd\srclib\apr</code> directory.</li>
  535.  
  536.         <li>Make sure that the path to the AWK utility and the GNU make utility
  537.         (<code>gmake.exe</code>) have been included in the system's
  538.         <code>PATH</code> environment variable.</li>
  539.  
  540.         <li>Download the source code and unzip to an appropriate directory on
  541.         your workstation.</li>
  542.  
  543.         <li>Change directory to <code>\httpd\srclib\apr-util\uri</code> and build
  544.         <code>GENURI.nlm</code> by running "<code>gmake -f nwgnumakefile</code>".</li>
  545.  
  546.         <li>Copy the file <code>GENURI.nlm</code> to the <code>SYS:</code> volume
  547.         of a NetWare server and run using the following command:
  548.           <example>SYS:\genuri > sys:\uri_delims.h</example>
  549.         </li>
  550.  
  551.         <li>Copy the file <code>uri_delims.h</code> to the directory
  552.         <code>\httpd\srclib\apr-util\uri</code> on the build machine.</li>
  553.  
  554.         <li>Change directory to <code>\httpd\srclib\apr</code> and build APR
  555.         by running "<code>gmake -f nwgnumakefile</code>"</li>
  556.  
  557.         <li>Change directory to <code>\httpd\srclib\pcre</code> and build
  558.         <code>DFTABLES.nlm</code> by running "<code>gmake -f nwgnumakefile</code>"</li>
  559.  
  560.         <li>Change directory to <code>\httpd\server</code> and build
  561.         <code>GENCHARS.nlm</code> by running "<code>gmake -f nwgnumakefile</code>"</li>
  562.  
  563.         <li>Copy the files <code>GENCHARS.nlm</code> and <code>DFTABLES.nlm</code>
  564.         from their respective directories to the <code>SYS:</code> volume of a
  565.         NetWare server and run them using the following commands:
  566.           <example>
  567.             SYS:\genchars > sys:\test_char.h<br />
  568.             SYS:\dftables > sys:\chartables.c<br />
  569.           </example>
  570.         </li>
  571.  
  572.         <li>Copy the files <code>test_char.h</code> and <code>chartables.c</code>
  573.         to the directory <code>\httpd\os\netware</code> on the build machine.</li>
  574.  
  575.         <li>Change directory to <code>\httpd</code> and build Apache by running
  576.         "<code>gmake -f nwgnumakefile</code>". You can create a distribution directory by
  577.         adding an install parameter to the command, for example:
  578.         <example>gmake -f nwgnumakefile install</example>
  579.         </li>
  580.       </ul>
  581.  
  582.     </section>
  583.  
  584.     <section id="comp-add">
  585.  
  586.       <title>Additional make options</title>
  587.  
  588.       <ul>
  589.         <li><code>gmake -f nwgnumakefile</code><br />Builds release versions of all of the
  590.         binaries and copies them to a <code>\release</code> destination directory.</li>
  591.  
  592.         <li><code>gmake -f nwgnumakefile DEBUG=1</code><br />Builds debug versions of all of the
  593.         binaries and copies them to a <code>\debug</code> destination directory.</li>
  594.  
  595.         <li><code>gmake -f nwgnumakefile install</code><br />Creates a complete Apache
  596.         distribution with binaries, docs and additional support files in a
  597.         <code>\dist\Apache2</code> directory.</li>
  598.  
  599.         <li><code>gmake -f nwgnumakefile installdev</code><br />Same as install but also creates a
  600.         <code>\lib</code> and <code>\include</code> directory in the destination directory
  601.         and copies headers and import files.</li>
  602.  
  603.         <li><code>gmake -f nwgnumakefile clean</code><br />Cleans all object files and binaries
  604.         from the <code>\release</code> or <code>\debug</code> build areas depending on whether
  605.         <code>DEBUG</code> has been defined.</li>
  606.  
  607.         <li><code>gmake -f nwgnumakefile clobber_all</code><br />Same as clean and also deletes
  608.         the distribution directory if it exists.</li>
  609.       </ul>
  610.  
  611.     </section>
  612.  
  613.   </section>
  614.  
  615. </manualpage>
  616.  
  617.