netware.xml revision fbaa3c719d2586c59eeea0bf9995a6854106c5ff
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb<?xml version="1.0" encoding="UTF-8" ?>
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb<!DOCTYPE manualpage SYSTEM "/style/manualpage.dtd">
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb<?xml-stylesheet type="text/xsl" href="/style/manual.en.xsl"?>
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb<manualpage>
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb <relativepath href=".." />
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb <title>Using Apache With Novell NetWare</title>
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb <summary>
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb <p>This document explains how to install, configure and run
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb Apache 2.0 under Novell NetWare 5.1 and above. If you find any bugs,
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb or wish to contribute in other ways, please use our
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb <a href="http://httpd.apache.org/bug_report.html">bug reporting
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb page.</a></p>
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb <p>The bug reporting page and dev-httpd mailing list are <em>not</em>
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb provided to answer questions about configuration or running Apache.
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb Before you submit a bug report or request, first consult this document, the
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb <a href="/faq/index.html">Frequently Asked Questions</a> page and the other
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb relevant documentation topics. If you still have a question or problem,
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb post it to the <a href="news://developer-forums.novell.com/novell.devsup.webserver">
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb novell.devsup.webserver</a> newsgroup, where many Apache users are more than
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb willing to answer new and obscure questions about using Apache on NetWare.</p>
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb <p>Most of this document assumes that you are installing Apache
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb from a binary distribution. If you want to compile Apache
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb yourself (possibly to help with development, or to track down
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb bugs), see the section on <a href="#comp">Compiling Apache for
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb NetWare</a> below.</p>
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb </summary>
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb <section id="req">
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb <title>Requirements</title>
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb <p>Apache 2.0 is designed to run on NetWare 5.1 and above.</p>
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb <p><strong>If running on NetWare 5.1 you must install Service
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb Pack 4 or above.</strong></p>
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb <p><strong>If running on NetWare 6 you must install Service
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb Pack 1 or above.</strong></p>
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb <p>NetWare service packs are available <a
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb href="http://support.novell.com/misc/patlst.htm#nw">here</a>.</p>
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb </section>
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb <section id="down">
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb <title>Downloading Apache for NetWare</title>
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb <p>Information on the latest version of Apache can be found on
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb the Apache web server at <a
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb href="http://www.apache.org/">http://www.apache.org/</a>. This
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb will list the current release, any more recent alpha or
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb beta-test releases, together with details of mirror web and
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb anonymous ftp sites.</p>
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb </section>
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb <section id="inst">
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb <title>Installing Apache for NetWare</title>
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb <p>There is no Apache install program for NetWare currently. You
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb will need to compile apache and copy the files over to the
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb server manually. An install program will be posted at a later
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb date.</p>
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb <p>Follow these steps to install Apache on NetWare from the
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb binary download (assuming you will install to
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb <code>sys:/apache2</code>):</p>
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb <ul>
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb <li>Unzip the binary download file to the root of the <code>SYS:</code>
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb volume (may be installed to any volume)</li>
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb <li>Edit the <code>httpd.conf</code> file setting <directive
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb module="core">ServerRoot</directive> and <directive
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb module="core">ServerName</directive> to reflect your correct server
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb settings</li>
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb <li>Add <code>SYS:/APACHE2</code> to the search path, for example:
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb <example>SEARCH ADD SYS:\APACHE2</example>
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb </li>
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb </ul>
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb <p>Follow these steps to install Apache on NetWare manually
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb from your own build source (assuming you will install to
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb <code>sys:/apache</code>):</p>
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb <ul>
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb <li>Create a directory called <code>Apache2</code> on a
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb NetWare volume</li>
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb <li>Copy <code>APACHE2.NLM</code>, <code>APRLIB.NLM</code>,
b45c1c292ff1fa635004ae81fa691f8cb3cdda85rbb <code>HTDIGEST.NLM</code>, <code>HTPASSWD.NLM</code>
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb to <code>SYS:/APACHE2</code></li>
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb <li>Create a directory under <code>SYS:/APACHE2</code>
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb called <code>CONF</code></li>
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb <li>Copy the <code>HTTPD-STD.CONF</code> file to the
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb <code>SYS:/APACHE2/CONF</code> directory and rename to
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb <code>HTTPD.CONF</code></li>
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb <li>Copy the <code>MIME.TYPES</code> and <code>MAGIC</code>
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb files to <code>SYS:/APACHE2/CONF</code> directory</li>
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb <li>Copy all files and subdirectories in <code>\HTTPD-2.0\DOCS\ICONS</code>
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb to <code>SYS:/APACHE2/ICONS</code></li>
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb
c3e342e5b0b9fea6617ee16d2da02c3ef2108126dougm <li>Copy all files and subdirectories in <code>\HTTPD-2.0\DOCS\MANUAL</code>
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb to <code>SYS:/APACHE2/MANUAL</code></li>
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb <li>Copy all files and subdirectories in <code>\HTTPD-2.0\DOCS\ERROR</code>
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb to <code>SYS:/APACHE2/ERROR</code></li>
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb <li>Copy all files and subdirectories in <code>\HTTPD-2.0\DOCS\DOCROOT</code>
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb to <code>SYS:/APACHE2/HTDOCS</code></li>
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb <li>Create the directory <code>SYS:/APACHE2/LOGS</code>
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb on the server</li>
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb <li>Create the directory <code>SYS:/APACHE2/CGI-BIN</code>
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb on the server</li>
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb <li>Create the directory <code>SYS:/APACHE2/MODULES</code>
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb and copy all nlm modules into the <code>modules</code> directory</li>
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb <li>Edit the <code>HTTPD.CONF</code> file searching for all
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb <code>@@Value@@</code> markers and replacing them with the
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb appropriate setting</li>
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb <li>Add <code>SYS:/APACHE2</code> to the search path, for example:
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb <example>SEARCH ADD SYS:\APACHE2</example>
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb </li>
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb </ul>
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb <p>Apache may be installed to other volumes besides the default <code>SYS</code> volume.</p>
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb </section>
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb <section id="run">
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb <title>Running Apache for NetWare</title>
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb <p>To start Apache just type <code>apache</code> at the
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb console. This will load apache in the OS address space. If you
290ecc1ddceca1ed49bc1a5338921264b5c3e07cwrowe prefer to load Apache in a protected address space you may
290ecc1ddceca1ed49bc1a5338921264b5c3e07cwrowe specify the address space with the load statement as follows:</p>
290ecc1ddceca1ed49bc1a5338921264b5c3e07cwrowe
290ecc1ddceca1ed49bc1a5338921264b5c3e07cwrowe <example>
290ecc1ddceca1ed49bc1a5338921264b5c3e07cwrowe load address space = apache2 apache2
290ecc1ddceca1ed49bc1a5338921264b5c3e07cwrowe </example>
290ecc1ddceca1ed49bc1a5338921264b5c3e07cwrowe
290ecc1ddceca1ed49bc1a5338921264b5c3e07cwrowe <p>This will load Apache into an address space called apache.
290ecc1ddceca1ed49bc1a5338921264b5c3e07cwrowe Running multiple instances of Apache concurrently on NetWare is
290ecc1ddceca1ed49bc1a5338921264b5c3e07cwrowe possible by loading each instance into its own protected
290ecc1ddceca1ed49bc1a5338921264b5c3e07cwrowe address space.</p>
290ecc1ddceca1ed49bc1a5338921264b5c3e07cwrowe
290ecc1ddceca1ed49bc1a5338921264b5c3e07cwrowe <p>After starting Apache, it will be listening to port 80
290ecc1ddceca1ed49bc1a5338921264b5c3e07cwrowe (unless you changed the <directive module="mpm_common">Listen</directive>
290ecc1ddceca1ed49bc1a5338921264b5c3e07cwrowe directive in the configuration files).
290ecc1ddceca1ed49bc1a5338921264b5c3e07cwrowe To connect to the server and access the default page,
290ecc1ddceca1ed49bc1a5338921264b5c3e07cwrowe launch a browser and enter the server's name or address. This
290ecc1ddceca1ed49bc1a5338921264b5c3e07cwrowe should respond with a welcome page, and a link to the Apache
290ecc1ddceca1ed49bc1a5338921264b5c3e07cwrowe manual. If nothing happens or you get an error, look in the
2f1949bb0e3c209db94c8d521cba7380b9d11421trawick <code>error_log</code> file in the <code>logs</code>
290ecc1ddceca1ed49bc1a5338921264b5c3e07cwrowe directory.</p>
290ecc1ddceca1ed49bc1a5338921264b5c3e07cwrowe
290ecc1ddceca1ed49bc1a5338921264b5c3e07cwrowe <p>Once your basic installation is working, you should
2f1949bb0e3c209db94c8d521cba7380b9d11421trawick configure it properly by editing the files in the
290ecc1ddceca1ed49bc1a5338921264b5c3e07cwrowe <code>conf</code> directory.</p>
290ecc1ddceca1ed49bc1a5338921264b5c3e07cwrowe
290ecc1ddceca1ed49bc1a5338921264b5c3e07cwrowe <p>To unload Apache running in the OS address space just type
290ecc1ddceca1ed49bc1a5338921264b5c3e07cwrowe the following at the console:</p>
290ecc1ddceca1ed49bc1a5338921264b5c3e07cwrowe
290ecc1ddceca1ed49bc1a5338921264b5c3e07cwrowe <example>
290ecc1ddceca1ed49bc1a5338921264b5c3e07cwrowe unload apache2
290ecc1ddceca1ed49bc1a5338921264b5c3e07cwrowe </example>
290ecc1ddceca1ed49bc1a5338921264b5c3e07cwrowe
2f1949bb0e3c209db94c8d521cba7380b9d11421trawick <p>or</p>
290ecc1ddceca1ed49bc1a5338921264b5c3e07cwrowe
290ecc1ddceca1ed49bc1a5338921264b5c3e07cwrowe <example>
290ecc1ddceca1ed49bc1a5338921264b5c3e07cwrowe apache2 shutdown
2f1949bb0e3c209db94c8d521cba7380b9d11421trawick </example>
290ecc1ddceca1ed49bc1a5338921264b5c3e07cwrowe
290ecc1ddceca1ed49bc1a5338921264b5c3e07cwrowe <p>If apache is running in a protected address space specify the
290ecc1ddceca1ed49bc1a5338921264b5c3e07cwrowe address space in the unload statement:</p>
290ecc1ddceca1ed49bc1a5338921264b5c3e07cwrowe
290ecc1ddceca1ed49bc1a5338921264b5c3e07cwrowe <example>
290ecc1ddceca1ed49bc1a5338921264b5c3e07cwrowe unload address space = apache2 apache2
290ecc1ddceca1ed49bc1a5338921264b5c3e07cwrowe </example>
290ecc1ddceca1ed49bc1a5338921264b5c3e07cwrowe
290ecc1ddceca1ed49bc1a5338921264b5c3e07cwrowe <p>When working with Apache it is important to know how it will
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb find the configuration files. You can specify a configuration
8aefbd756763807188d2e3ce336a8680e4893066wrowe file on the command line in two ways:</p>
8aefbd756763807188d2e3ce336a8680e4893066wrowe
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb <ul>
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb <li><code>-f</code> specifies a path to a particular
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb configuration file</li>
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb </ul>
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb <example>
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb apache2 -f "vol:/my server/conf/my.conf"
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb </example>
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb <example>
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb apache -f test/test.conf
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb </example>
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb <p>In these cases, the proper <directive module="core">ServerRoot</directive>
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb should be set in the configuration file.</p>
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb <p>If you don't specify a configuration file name with <code>-f</code>,
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb Apache will use the file name compiled into the server, usually
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb <code>conf/httpd.conf</code>. Invoking Apache with the <code>-V</code>
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb switch will display this value labeled as <code>SERVER_CONFIG_FILE</code>.
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb Apache will then determine its <directive module="core">ServerRoot</directive>
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb by trying the following, in this order:</p>
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb <ul>
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb <li>A <code>ServerRoot</code> directive via a
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb <code>-C</code> switch.</li>
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb <li>The <code>-d</code> switch on the command line.</li>
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb <li>Current working directory</li>
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb <li>The server root compiled into the server.</li>
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb </ul>
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb <p>The server root compiled into the server is usually <code>sys:/apache2</code>.
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb invoking apache with the <code>-V</code> switch will display this value labeled as
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb <code>HTTPD_ROOT</code>.</p>
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb <p>Apache 2.0 for NetWare includes a set of command line directives that can
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb be used to modify or display information about the running instance of the
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb web server. Each of these directives must be preceded by the keyword
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb <code>APACHE2</code>:</p>
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb <dl>
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb <dt>RESTART</dt>
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb <dd>Instructs Apache to terminate all running worker
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb threads as they become idle, reread the configuration file and restart each
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb worker thread based on the new configuration.</dd>
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb <dt>VERSION</dt>
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb <dd>Displays version information about the currently
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb running instance of Apache.</dd>
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb <dt>MODULES</dt>
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb <dd>Displays a list of loaded modules both built-in
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb and external.</dd>
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb <dt>DIRECTIVES</dt>
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb <dd>Displays a list of all available directives.</dd>
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb <dt>SETTINGS</dt>
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb <dd>Enables or disables the thread status display
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb on the console. When enabled, a status of the number of running threads
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb is displayed along with their status.</dd>
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb <dt>SHUTDOWN</dt>
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb <dd>Terminates the running instance of the Apache
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb web server.</dd>
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb </dl>
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb </section>
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb <section id="use">
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb <title>Configuring Apache for NetWare</title>
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb <p>Apache is configured by files in the <code>conf</code>
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb directory. These are the same as files used to configure the
4ca6cbe768b4e0917ac0b76333c26a7d5396d454trawick Unix version, but there are a few different directives for
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb Apache on NetWare. See the <a href="../">Apache
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb documentation</a> for all the available directives.</p>
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb <p>The main differences in Apache for NetWare are:</p>
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb <ul>
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb <li>
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb <p>Because Apache for NetWare is multithreaded, it does not
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb use a separate process for each request, as Apache does in some Unix
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb implementations. Instead there are only threads running: a parent
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb thread, and a multiple child threads which handle the requests.</p>
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb <p>So the "process"-management directives are different:</p>
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb <p><directive module="mpm_common">MaxRequestsPerChild</directive> -
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb Like the Unix directive, this controls how many requests
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb a worker thread will serve before exiting. The recommended default,
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb <code>MaxRequestsPerChild 0</code>, causes the thread to continue servicing
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb request indefinitely. It is recommended on NetWare, unless there is some
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb specific reason, that this directive always remain set to <code>0</code>.</p>
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb <p><directive module="mpm_common">StartThreads</directive> -
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb This directive tells the server how many threads it should start initially.
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb The recommended default is <code>StartThreads 50</code>.</p>
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb <p><directive module="mpm_common">MinSpareThreads</directive> -
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb This directive instructs the server to spawn additional worker threads
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb if the number of idle threads ever falls below this value. The recommended
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb default is <code>MinSpareThreads 10</code>.</p>
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb <p><directive module="mpm_common">MaxSpareThreads</directive> -
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb This directive instructs the server to begin terminating worker threads
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb if the number of idle threads ever exceeds this value. The recommended
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb default is <code>MaxSpareThreads 100</code>.</p>
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb <p><directive module="mpm_netware">MaxThreads</directive> -
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb This directive limits the total number of work threads to a maximum
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb value. The recommended default is <code>ThreadsPerChild 250</code>.</p>
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb <p><directive module="mpm_netware">ThreadStackSize</directive> -
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb This directive tells the server what size of stack to use
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb for the individual worker thread. The recommended default
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb is <code>ThreadStackSize 65536</code>.</p>
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb </li>
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb <li>
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb <p>The directives that accept filenames as arguments now
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb must use NetWare filenames instead of Unix ones. However,
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb because Apache uses Unix-style names internally, you must
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb use forward slashes, not backslashes. It is recommended that all rooted
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb file paths begin with a volume name. If omitted, Apache will
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb assume the <code>SYS:</code> volume.</p>
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb </li>
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb <li>
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb <p>Apache for NetWare has the ability to load modules at
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb runtime, without recompiling the server. If Apache is
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb compiled normally, it will install a number of optional
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb modules in the <code>\Apache2\modules</code> directory.
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb To activate these, or other modules, the <directive
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb module="mod_so">LoadModule</directive> directive
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb must be used. For example, to active the status module, use
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb the following (in addition to the status-activating
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb directives in <code>access.conf</code>):</p>
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb <example>
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb LoadModule status_module modules/status.nlm
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb </example>
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb <p>Information on <a
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb href="/mod/mod_so.html#creating">creating loadable
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb modules</a> is also available.</p>
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb </li>
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb </ul>
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb <section id="use-add">
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb <title>Additional NetWare specific directives:</title>
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb <ul>
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb <li><directive module="core">CGIMapExtension</directive> -
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb This directive maps a CGI file extension to a script interpreter.</li>
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb </ul>
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb </section>
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb </section>
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb <section id="comp">
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb <title>Compiling Apache for NetWare</title>
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb <p>Compiling Apache requires MetroWerks CodeWarrior 6.x or higher to
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb be properly installed. Once Apache has been built, it needs to be
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb installed on a NetWare volume's root directory. The default is the
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb <code>sys:/Apache2</code> directory.</p>
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb <p>Before running the server you must fill out the <code>conf</code>
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb directory. Copy the file <code>HTTPD-STD.CONF</code> from the distribution
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb <code>conf</code> directory and rename it to <code>HTTPD.CONF</code>.
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb Edit the <code>HTTPD.CONF</code> file searching for all <code>@@Value@@</code>
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb markers and replacing them with the appropriate setting. Copy over
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb the <code>conf/magic</code> and <code>conf/mime.types</code> files as well.</p>
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb <section id="comp-req">
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb <title>Requirements:</title>
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb <p>The following development tools are required to build
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb Apache 2.0 for NetWare:</p>
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb <ul>
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb <li>Metrowerks CodeWarrior 6.0 or higher with the
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb <a href="http://developer.novell.com/ndk/cwpdk.htm">NetWare PDK 3.0</a>
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb or higher.</li>
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb <li><a href="http://developer.novell.com/ndk/libc.htm">NetWare Libraries
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb for C (LibC)</a></li>
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb <li><a href="http://developer.novell.com/ndk/ws2comp.htm">WinSock 2
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb Developer Components for NetWare</a></li>
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb <li>To build using either the project file or the make files, requires an
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb AWK utility (awk, gawk or similar). AWK can be downloaded from
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb <a href="http://developer.novell.com/ndk/apache.htm">http://developer.novell.com/ndk/apache.htm</a>.
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb The utility must be found in your windows path and must be named <code>awk.exe</code>.</li>
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb <li>To build using the makefiles, you will need GNU make version 3.78.1 (GMake) available at
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb <a href="http://developer.novell.com/ndk/apache.htm">http://developer.novell.com/ndk/apache.htm</a>.</li>
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb </ul>
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb </section>
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb <section id="comp-metro">
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb <title>Building Apache using the Metrowerks Project Files:</title>
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb <p>All major pieces of Apache and APR are built using the
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb <code>ApacheNW.mcp</code> and <code>LibAprNW.mcp</code> project files.
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb This includes modules such as status, info, proxy, etc.</p>
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb <ul>
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb <li>Set the environment variable <code>NovellLibC</code> to the
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb location of the NetWare Libraries for C SDK, for example:
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb <example>Set NovellLibC=c:\novell\ndk\libc</example>
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb </li>
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb <li>Make sure that the path to the CodeWarrior command line tools
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb (<code>MWCCNLM.exe</code>, <code>MWLDNLM.exe</code>) has been
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb included in the system's <code>PATH</code> environment variable.</li>
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb <li>Make sure that the path to the AWK utility has been included in the
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb system's <code>PATH</code> environment variable.</li>
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb <li>Download the source code and unzip to an appropriate directory on
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb your workstation.</li>
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb <li>Change directory to <code>\httpd\srclib\apr\build</code> and run the
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb batch file <code>prebuildnw.bat</code>. The batch file will setup the build
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb environment for building the APR libraries. It will also run 2 AWK scripts
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb that will generate the export files for APR.</li>
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb <li>Change directory to <code>\httpd\srclib\apr</code> and extract the project
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb file <code>LIBAPRNW.mcp</code> from the <code>LIBAPRNW.mcp.zip</code> file.</li>
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb <li>Open the <code>LIBAPRNW.mcp</code> project file in the Metrowerks IDE.</li>
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb <li>Select the target "Build Util - Gen URL Delim" and build the target.
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb This target will produce the NLM <code>GENURI.nlm</code></li>
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb <li>Copy the file <code>GENURI.nlm</code> to the <code>SYS:</code> volume
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb of a NetWare server and run using the following command:
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb <ul>
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb <li><code>SYS:\genuri &gt; sys:\uri_delims.h</code></li>
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb </ul>
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb </li>
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb <li>Copy the file <code>uri_delims.h</code> to the directory
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb <code>\httpd\srclib\apr-util\uri</code> on the build machine.</li>
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb <li>Select the target "APR Debug NLM" or "APR Release NLM" in the IDE and build.
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb This will produce the file <code>APRLIB.nlm</code>.
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb <ul>
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb <li>[Optional] Select any of the LIB targets to produce a
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb statically linkable libraries.</li>
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb </ul>
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb </li>
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb <li>Change directory to <code>\httpd\build</code> and run the batch file
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb <code>prebuildnw.bat</code>. This batch file will setup the build environment
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb for building the <code>APACHE.nlm</code>. It will also run several AWK scripts
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb that will generate the export files for APACHE.</li>
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb <li>Change directory to <code>\http</code> and extract the project file
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb <code>ApacheNW.mcp</code> from the <code>ApacheNW.mcp.zip</code> file.</li>
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb <li>Open the <code>ApacheNW.mcp</code> project file in the Metrowerks IDE.</li>
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb <li>Select the target "Build Utility - DFTables" and build the target.</li>
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb <li>Select the target "Build Util - Gen Test Chars" and build the target.</li>
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb <li>Copy the files <code>GENCHARS.nlm</code> and <code>DFTABLES.nlm</code>
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb to the <code>SYS:</code> volume of a NetWare server and run using the following commands:
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb <ul>
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb <li><code>SYS:\genchars &gt; sys:\test_char.h</code></li>
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb <li><code>SYS:\dftables &gt; sys:\chartables.c</code></li>
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb </ul>
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb </li>
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb <li>Copy the files <code>test_char.h</code> and <code>chartables.c</code>
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb to the directory <code>\httpd\os\netware</code> on the build machine.</li>
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb <li>Select the target "Apache Full Debug" or "Apache Full Release" in
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb the IDE and build. This will produce the file <code>APACHE2.nlm</code>
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb along with all of the external module NLMs.</li>
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb </ul>
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb </section>
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb <section id="comp-make">
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb <title>Building Apache using the NetWare makefiles:</title>
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb <ul>
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb <li>Set the environment variable <code>NOVELLLIBC</code> to the
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb location of the NetWare Libraries for C SDK, for example:
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb <example>Set NOVELLLIBC=c:\novell\ndk\libc</example>
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb </li>
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb <li>Set the environment variable <code>METROWERKS</code> to the
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb location where you installed the Metrowerks CodeWarrior compiler,
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb for example:
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb <example>Set METROWERKS=C:\Program Files\Metrowerks\CodeWarrior</example>
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb If you installed to the default location <code>C:\Program
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb Files\Metrowerks\CodeWarrior</code>, you don't need to set this.</li>
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb <li>Set the environment variable <code>AP_WORK</code> to the full path of
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb the <code>\httpd</code> directory.</li>
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb <li>Set the environment variable <code>APR_WORK</code> to the full path of
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb the <code>\httpd\srclib\apr</code> directory.</li>
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb <li>Make sure that the path to the AWK utility and the GNU make utility
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb (<code>gmake.exe</code>) have been included in the system's
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb <code>PATH</code> environment variable.</li>
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb <li>Download the source code and unzip to an appropriate directory on
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb your workstation.</li>
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb <li>Change directory to <code>\httpd\srclib\apr-util\uri</code> and build
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb <code>GENURI.nlm</code> by running "<code>gmake -f nwgnumakefile</code>".</li>
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb <li>Copy the file <code>GENURI.nlm</code> to the <code>SYS:</code> volume
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb of a NetWare server and run using the following command:
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb <example>SYS:\genuri &gt; sys:\uri_delims.h</example>
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb </li>
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb <li>Copy the file <code>uri_delims.h</code> to the directory
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb <code>\httpd\srclib\apr-util\uri</code> on the build machine.</li>
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb <li>Change directory to <code>\httpd\srclib\apr</code> and build APR
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb by running "<code>gmake -f nwgnumakefile</code>"</li>
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb <li>Change directory to <code>\httpd\srclib\pcre</code> and build
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb <code>DFTABLES.nlm</code> by running "<code>gmake -f nwgnumakefile</code>"</li>
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb <li>Change directory to <code>\httpd\server</code> and build
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb <code>GENCHARS.nlm</code> by running "<code>gmake -f nwgnumakefile</code>"</li>
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb <li>Copy the files <code>GENCHARS.nlm</code> and <code>DFTABLES.nlm</code>
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb from their respective directories to the <code>SYS:</code> volume of a
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb NetWare server and run them using the following commands:
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb <example>
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb SYS:\genchars &gt; sys:\test_char.h<br />
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb SYS:\dftables &gt; sys:\chartables.c<br />
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb </example>
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb </li>
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb <li>Copy the files <code>test_char.h</code> and <code>chartables.c</code>
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb to the directory <code>\httpd\os\netware</code> on the build machine.</li>
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb <li>Change directory to <code>\httpd</code> and build Apache by running
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb "<code>gmake -f nwgnumakefile</code>". You can create a distribution directory by
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb adding an install parameter to the command, for example:
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb <example>gmake -f nwgnumakefile install</example>
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb </li>
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb </ul>
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb </section>
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb <section id="comp-add">
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb <title>Additional make options</title>
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb <ul>
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb <li><code>gmake -f nwgnumakefile</code><br />Builds release versions of all of the
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb binaries and copies them to a <code>\release</code> destination directory.</li>
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb <li><code>gmake -f nwgnumakefile DEBUG=1</code><br />Builds debug versions of all of the
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb binaries and copies them to a <code>\debug</code> destination directory.</li>
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb <li><code>gmake -f nwgnumakefile install</code><br />Creates a complete Apache
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb distribution with binaries, docs and additional support files in a
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb <code>\dist\Apache2</code> directory.</li>
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb
c4f311d9c637c74c57ef51a1a3a610bb48af1ce8wrowe <li><code>gmake -f nwgnumakefile installdev</code><br />Same as install but also creates a
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb <code>\lib</code> and <code>\include</code> directory in the destination directory
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb and copies headers and import files.</li>
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb <li><code>gmake -f nwgnumakefile clean</code><br />Cleans all object files and binaries
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb from the <code>\release</code> or <code>\debug</code> build areas depending on whether
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb <code>DEBUG</code> has been defined.</li>
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb <li><code>gmake -f nwgnumakefile clobber_all</code><br />Same as clean and also deletes
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb the distribution directory if it exists.</li>
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb </ul>
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb </section>
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb </section>
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb</manualpage>
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb