+++ /dev/null
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-
-<html xmlns="http://www.w3.org/1999/xhtml">
- <head>
- <meta name="generator" content="Microsoft FrontPage 4.0" />
-
- <title>Using Apache with Novell NetWare</title>
- </head>
- <!-- Background white, links blue (unvisited), navy (visited), red (active) -->
-
- <body bgcolor="#FFFFFF" text="#000000" link="#0000FF"
- vlink="#000080" alink="#FF0000">
- <!--#include virtual="header.html" -->
-
- <h1 align="center">Using Apache With Novell NetWare</h1>
-
- <p>This document explains how to install, configure and run
- Apache 2.0 under Novell NetWare 5.1 and above. If you find any bugs,
- or wish to contribute in other ways, please
- use our <a href="http://httpd.apache.org/bug_report.html">bug reporting
- page.</a></p>
-
- <p>The bug reporting page and dev-httpd mailing list are <em>not</em>
- provided to answer questions about configuration or running Apache.
- Before you submit a bug report or request, first consult this document, the
- <a href="../faq/index.html">Frequently Asked Questions</a> page and the other
- relevant documentation topics. If you still have a question or problem,
- post it to the <a href="news://developer-forums.novell.com/novell.devsup.webserver">
- novell.devsup.webserver</a> newsgroup, where many
- Apache users are more than willing to answer new
- and obscure questions about using Apache on NetWare.</p>
-
- Most of this document assumes that you are installing Apache
- from a binary distribution. If you want to compile Apache
- yourself (possibly to help with development, or to track down
- bugs), see the section on <a href="#comp">Compiling Apache for
- NetWare</a> below.
- <hr />
-
- <ul>
- <li><a href="#req">Requirements</a></li>
-
- <li><a href="#down">Downloading Apache for NetWare</a></li>
-
- <li><a href="#inst">Installing Apache for NetWare</a></li>
-
- <li><a href="#run">Running Apache for NetWare</a></li>
-
- <li><a href="#use">Configuring Apache for NetWare</a></li>
-
- <li><a href="#comp">Compiling Apache for NetWare</a></li>
- </ul>
- <hr />
-
- <h2><a id="req" name="req">Requirements</a></h2>
- Apache 2.0 is designed to run on NetWare 5.1 and above.
-
- <p><strong>If running on NetWare 5.1 you must install Service
- Pack 4 or above.</strong></p>
-
- <p><strong>If running on NetWare 6 you must install Service
- Pack 1 or above.</strong></p>
-
- <p>NetWare service packs are available <a
- href="http://support.novell.com/misc/patlst.htm#nw">here.</a></p>
-
- <h2><a id="down" name="down">Downloading Apache for NetWare</a></h2>
-
- <p>Information on the latest version of Apache can be found on
- the Apache web server at <a
- href="http://www.apache.org/">http://www.apache.org/</a>. This
- will list the current release, any more recent alpha or
- beta-test releases, together with details of mirror web and
- anonymous ftp sites.</p>
-
- <h2><a id="inst" name="inst">Installing Apache for
- NetWare</a></h2>
- There is no Apache install program for NetWare currently. You
- will need to compile apache and copy the files over to the
- server manually. An install program will be posted at a later
- date.
-
- <p>Follow these steps to install Apache on NetWare from the
- binary download (assuming you will install to sys:/apache2):</p>
-
- <ul>
- <li>Unzip the binary download file to the root of the SYS:
- volume (may be installed to any volume)</li>
-
- <li>Edit the httpd.conf file setting ServerRoot and
- ServerName to reflect your correct server settings</li>
-
- <li>Add SYS:/APACHE2 to the search path. EXAMPLE: SEARCH ADD
- SYS:\APACHE2</li>
- </ul>
-
- <p>Follow these steps to install Apache on NetWare manually
- from your own build source (assuming you will install to
- sys:/apache):</p>
-
- <ul>
- <li>Create a directory called <code>Apache2</code> on a
- NetWare volume</li>
-
- <li>Copy APACHE2.NLM, APRLIB.NLM, HTDIGEST.NLM, HTPASSWD.NLM to SYS:/APACHE2</li>
-
- <li>Create a directory under SYS:/APACHE2 called CONF</li>
-
- <li>Copy the HTTPD-STD.CONF file to the SYS:/APACHE2/CONF
- directory and rename to HTTPD.CONF</li>
-
- <li>Copy the MIME.TYPES and MAGIC files to SYS:/APACHE2/CONF
- directory</li>
-
- <li>Copy all files and subdirectories in \HTTPD-2.0\DOCS\ICONS to
- SYS:/APACHE2/ICONS</li>
-
- <li>Copy all files and subdirectories in \HTTPD-2.0\DOCS\MANUAL to
- SYS:/APACHE2/MANUAL</li>
-
- <li>Copy all files and subdirectories in \HTTPD-2.0\DOCS\ERROR to
- SYS:/APACHE2/ERROR</li>
-
- <li>Copy all files and subdirectories in \HTTPD-2.0\DOCS\DOCROOT to
- SYS:/APACHE2/HTDOCS</li>
-
- <li>Create the directory SYS:/APACHE2/LOGS on the server</li>
-
- <li>Create the directory SYS:/APACHE2/CGI-BIN on the
- server</li>
-
- <li>Create the directory SYS:/APACHE2/MODULES and copy all nlm
- modules into the modules directory</li>
-
- <li>Edit the HTTPD.CONF file searching for all @@<i>Value</i>@@ markers
- and replacing them with the appropriate setting</li>
-
- <li>Add SYS:/APACHE2 to the search path. EXAMPLE: SEARCH ADD
- SYS:\APACHE2</li>
- </ul>
-
- <p>Apache may be installed to other volumes besides the default <samp>SYS</samp> volume.</p>
-
- <h2><a id="run" name="run">Running Apache for NetWare</a></h2>
- To start Apache just type <strong>apache</strong> at the
- console. This will load apache in the OS address space. If you
- prefer to load Apache in a protected address space you may
- specify the address space with the load statement as follows:
-<pre>
- load address space = apache2 apache2
-</pre>
-
- <p>This will load Apache into an address space called apache.
- Running multiple instances of Apache concurrently on NetWare is
- possible by loading each instance into its own protected
- address space.</p>
-
- <p>After starting Apache, it will be listening to port 80
- (unless you changed the <samp>Listen</samp> directive in the configuration
- files). To connect to the server and access the default page,
- launch a browser and enter the server's name or address. This
- should respond with a welcome page, and a link to the Apache
- manual. If nothing happens or you get an error, look in the
- <samp>error_log</samp> file in the <samp>logs</samp>
- directory.</p>
-
- <p>Once your basic installation is working, you should
- configure it properly by editing the files in the
- <samp>conf</samp> directory.</p>
-
- <p>To unload Apache running in the OS address space just type
- the following at the console:</p>
-<pre>
- unload apache2</pre>
- <blockquote>
-<pre>or</pre>
- </blockquote>
-<pre> apache2 shutdown
-</pre>
- If apache is running in a protected address space specify the
- address space in the unload statement:
-<pre>
- unload address space = apache2 apache2
-</pre>
-
- <p>When working with Apache it is important to know how it will
- find the configuration files. You can specify a configuration
- file on the command line in two ways:</p>
-
- <ul>
- <li>-f specifies a path to a particular configuration
- file</li>
- </ul>
-<pre>
- apache2 -f "vol:/my server/conf/my.conf"
-</pre>
-<pre>
- apache -f test/test.conf
-</pre>
- In these cases, the proper ServerRoot should be set in the
- configuration file.
-
- <p>If you don't specify a configuration file name with -f,
- Apache will use the file name compiled into the server, usually
- "conf/httpd.conf". Invoking Apache with the -V switch will
- display this value labeled as SERVER_CONFIG_FILE. Apache will
- then determine its ServerRoot by trying the following, in this
- order:</p>
-
- <ul>
- <li>A ServerRoot directive via a -C switch.</li>
-
- <li>The -d switch on the command line.</li>
-
- <li>Current working directory</li>
-
- <li>The server root compiled into the server.</li>
- </ul>
-
- <p>The server root compiled into the server is usually "sys:/apache2". invoking apache with the -V switch will display
- this value labeled as HTTPD_ROOT.</p>
-
- <p>Apache 2.0 for NetWare includes a set of command line directives that can
- be used to modify or display information about the running instance of the
- web server. Each of these directives must be preceded by the keyword
- APACHE2:</p>
-
- <ul>
- <li>RESTART - Instructs Apache to terminate all running worker threads as
- they become idle, reread the configuration file and restart each worker
- thread based on the new configuration.</li>
- <li>VERSION - Displays version information about the currently running
- instance of Apache.</li>
- <li>MODULES - Displays a list of loaded modules both built-in and
- external.</li>
- <li>DIRECTIVES - Displays a list of all available directives.</li>
- <li>SETTINGS - Enables or disables the thread status display on the
- console. When enabled, a status of the number of running threads
- is displayed along with their status.</li>
- <li>SHUTDOWN - Terminates the running instance of the Apache web server.</li>
- </ul>
-
- <h2><a id="use" name="use">Configuring Apache for
- NetWare</a></h2>
- Apache is configured by files in the <samp>conf</samp>
- directory. These are the same as files used to configure the
- Unix version, but there are a few different directives for
- Apache on NetWare. See the <a href="/manual">Apache
- documentation</a> for all the available directives.
-
- <p>The main differences in Apache for NetWare are:</p>
-
- <ul>
- <li>
- <p>Because Apache for NetWare is multithreaded, it does not
- use a separate process for each request, as Apache does in some Unix
- implementations. Instead there are only threads running: a parent
- thread, and a multiple child threads which handle the requests. So the "process"-management directives are
- different:</p>
-
- <p><a
- href="../mod/mpm_common.html#maxrequestsperchild">MaxRequestsPerChild</a>
- - Like the Unix directive, this controls how many requests
- a worker thread will serve before exiting. The recommended default, <code>MaxRequestsPerChild
- 0</code>, causes the thread to continue servicing request indefinitely.
- It is recommended on NetWare, unless there is some specific reason, that
- this directive always remain set to 0. </p>
-
- <p><a
- href="../mod/mpm_common.html#startthreads">StartThreads</a> -
- This directive tells the server how many
- threads it should start initially. The recommended default is <code>StartThreads
- 50</code>.</p>
-
- <p><a
- href="../mod/mpm_common.html#minsparethreads">MinSpareThreads</a> -
- This directive instructs the server to spawn additional worker threads
- if the number of idle threads ever falls below this value. The recommended default is
- <code>MinSpareThreads 10</code>.</p>
-
- <p><a
- href="../mod/mpm_common.html#maxsparethreads">MaxSpareThreads</a> -
- This directive instructs the server to begin terminating worker threads
- if the number of idle threads ever exceeds this value. The recommended default is
- <code>MaxSpareThreads 100</code>.</p>
-
- <p><a
- href="../mod/mpm_netware.html#maxthreads">MaxThreads</a> -
- This directive limits the total number of work threads to a maximum
- value. The recommended default is <code>ThreadsPerChild 250</code>.</p>
-
- <p><a
- href="../mod/mpm_netware.html#threadstacksize">ThreadStackSize</a>
- - This directive tells the server what size of stack to use
- for the individual worker thread. The recommended default is
- <code>ThreadStackSize 65536</code>.</p>
- </li>
-
- <li>
- <p>The directives that accept filenames as arguments now
- must use NetWare filenames instead of Unix ones. However,
- because Apache uses Unix-style names internally, you must
- use forward slashes, not backslashes. It is recommended that all rooted
- file paths begin with a volume name. If omitted, Apache will
- assume the SYS: volume.</p>
- </li>
-
- <li>
- <p>Apache for NetWare has the ability to load modules at
- runtime, without recompiling the server. If Apache is
- compiled normally, it will install a number of optional
- modules in the <code>\Apache2\modules</code> directory. To
- activate these, or other modules, the <a
- href="../mod/mod_so.html#loadmodule">LoadModule</a> directive
- must be used. For example, to active the status module, use
- the following (in addition to the status-activating
- directives in <code>access.conf</code>):</p>
-<pre>
- LoadModule status_module modules/status.nlm
-</pre>
-
- <p>Information on <a
- href="../mod/mod_so.html#creating">creating loadable
- modules</a> is also available.</p>
- </li>
- </ul>
-
- <p><b><u>
-
-
- Additional NetWare specific directives:</u></b></p>
-
- <ul>
- <li><a
- href="../mod/core.html#cgimapextension">CGIMapExtension</a>
- - This directive maps a CGI file extension to a script interpreter.</li>
- </ul>
-
- <h2><a id="comp" name="comp">Compiling Apache for
- NetWare</a></h2>
-
- <p>Compiling Apache requires MetroWerks CodeWarrior 6.x or
- higher to be properly installed. Once Apache has been built, it needs to be installed on a NetWare
- volume's root directory. The default is the
- <code>sys:/Apache2</code> directory.</p>
-
- <p>Before running the server you must fill out the conf
- directory. Copy the file HTTPD-STD.CONF from the distribution conf
- directory and rename it to HTTPD.CONF. Edit the HTTPD.CONF file searching for all @@<i>Value</i>@@ markers
- and replacing them with the appropriate setting. Copy over
- the conf/magic and conf/mime.types files as well.</p>
-
-
- <p><b><u>
-
-
- Requirements: </u></b></p>
- <p>
- The following development tools are required to build Apache 2.0
- for NetWare:</p>
- <ul>
- <li>Metrowerks CodeWarrior 6.0 or higher with the <a href="http://developer.novell.com/ndk/cwpdk.htm"> NetWare PDK
- 3.0 </a>
- or higher. </li>
- <li><a href="http://developer.novell.com/ndk/libc.htm">NetWare Libraries
- for C (LibC)</a></li>
- <li><a href="http://developer.novell.com/ndk/ws2comp.htm">WinSock 2
- Developer Components for NetWare</a></li>
- <li>To build using either the project file or the make files, requires an AWK utility (awk, gawk or
- similar). AWK can be downloaded from <a href="http://developer.novell.com/ndk/apache.htm">http://developer.novell.com/ndk/apache.htm</a>. The
- utility must be found in your windows path and must be named awk.exe. </li>
- <li>To build using the makefiles, you will need GNU make version 3.78.1 (GMake)
- available at <a href="http://developer.novell.com/ndk/apache.htm">http://developer.novell.com/ndk/apache.htm</a>. </li>
- </ul>
- <p><b><u>Building Apache using the Metrowerks Project Files: </u></b></p>
-
- <p>All major pieces of Apache and APR are built using the
- ApacheNW.mcp and LibAprNW.mcp project files. This includes modules such as
- status, info, proxy, etc.</p>
-
- <ul>
- <li>Set the environment variable "NovellLibC" to the
- location of the NetWare Libraries for C SDK (ex. Set NovellLibC=c:\novell\ndk\libc).</li>
- <li>Make sure that the path to the CodeWarrior command line tools (MWCCNLM.exe,
- MWLDNLM.exe) has been included in the system's PATH environment
- variable.</li>
- <li>Make sure that the path to the AWK utility has been included in the
- system's PATH environment variable.</li>
- <li>Download the source code and unzip to an appropriate directory on
- your workstation. </li>
- <li>Change directory to \httpd\srclib\apr\build and run the batch file
- prebuildnw.bat. The batch file will setup the build environment
- for building the APR libraries. It will also run 2 AWK scripts
- that will generate the export files for APR.</li>
- <li>Change directory to \httpd\srclib\apr and extract the project file
- LIBAPRNW.mcp from the LIBAPRNW.mcp.zip file. </li>
- <li>Open the LIBAPRNW.mcp project file in the Metrowerks IDE.</li>
- <li>Select the target "Build Util - Gen URL Delim" and build the target.
- This target will produce the NLM "GENURI.nlm" </li>
- <li>Copy the file GENURI.nlm to the SYS: volume of a NetWare server and
- run using the following command:
- <ul>
- <li>SYS:\genuri > sys:\uri_delims.h </li>
- </ul>
- </li>
- <li>Copy the file "uri_delims.h" to the directory \httpd\srclib\apr-util\uri
- on the build machine. </li>
- <li>Select the target "APR Debug NLM" or "APR Release NLM" in the IDE and build. This will
- produce the file APRLIB.nlm.
- <ul>
- <li><i>OPTIONAL</i>: Select any of the LIB targets to produce a
- statically linkable libraries. </li>
- </ul>
- </li>
- <li>Change directory to \httpd\build and run the batch file prebuildnw.bat.
- This batch file will setup the build environment for building the
- APACHE.nlm. It will also run several AWK scripts that will
- generate the export files for APACHE. </li>
- <li>Change directory to \http and extract the project file ApacheNW.mcp
- from the ApacheNW.mcp.zip file.</li>
- <li>Open the ApacheNW.mcp project file in the Metrowerks IDE. </li>
- <li>Select the target "Build Utility - DFTables" and build the target. </li>
- <li>Select the target "Build Util - Gen Test Chars" and build the target. </li>
- <li>Copy the files "GENCHARS.nlm" and "DFTABLES.nlm" to the SYS:
- volume of a NetWare server and run using the following commands:
- <ul>
- <li>SYS:\genchars > sys:\test_char.h </li>
- <li>SYS:\dftables > sys:\chartables.c </li>
- </ul>
- </li>
- <li>Copy the files "test_char.h" and "chartables.c" to the directory
- \httpd\os\netware on the build machine. </li>
- <li>Select the target "Apache Full Debug" or "Apache Full
- Release" in the IDE and build. This will
- produce the file APACHE2.nlm along with all of the external module NLMs. </li>
- </ul>
-
- <p><b><u>Building Apache using the NetWare makefiles: </u></b></p>
- <ul>
- <li>Set the environment variable "NOVELLLIBC" to the
- location of the NetWare Libraries for C SDK (ex. Set NOVELLLIBC=c:\novell\ndk\libc).</li>
- <li>Set the environment variable "METROWERKS" to the
- location where you installed the Metrowerks CodeWarrior compiler (ex. Set
- METROWERKS=C:\Program Files\Metrowerks\CodeWarrior). If you
- installed to the default location C:\Program
- Files\Metrowerks\CodeWarrior, you don't need to set this.</li>
- <li>Set the environment variable "AP_WORK" to the full path of
- the \httpd directory.</li>
- <li>Set the environment variable "APR_WORK" to the full path of
- the \httpd\srclib\apr directory.</li>
- <li>Make sure that the path to the AWK utility and the GNU make utility (gmake.exe)
- have been included in the
- system's PATH environment variable.</li>
- <li>Download the source code and unzip to an appropriate directory on
- your workstation.</li>
- <li>Change directory to \httpd\srclib\apr-util\uri and build GENURI.nlm by
- running "gmake -f nwgnumakefile"</li>
- <li>Copy the file GENURI.nlm to the SYS: volume of a NetWare server and
- run using the following command:
- <ul>
- <li>SYS:\genuri > sys:\uri_delims.h </li>
- </ul>
- </li>
- <li>Copy the file "uri_delims.h" to the directory \httpd\srclib\apr-util\uri
- on the build machine. </li>
- <li>Change directory to \httpd\srclib\apr and build APR by running "gmake
- -f nwgnumakefile"</li>
- <li>Change directory to \httpd\srclib\pcre and build DFTABLES.nlm by
- running "gmake -f nwgnumakefile" </li>
- <li>Change directory to \httpd\server and build GENCHARS.nlm by running
- "gmake -f nwgnumakefile"</li>
- <li>Copy the files "GENCHARS.nlm" and "DFTABLES.nlm" from their respective
- directories to the SYS:
- volume of a NetWare server and run them using the following commands:
- <ul>
- <li>SYS:\genchars > sys:\test_char.h </li>
- <li>SYS:\dftables > sys:\chartables.c </li>
- </ul>
- </li>
- <li>Copy the files "test_char.h" and "chartables.c" to the directory
- \httpd\os\netware on the build machine. </li>
- <li>Change directory to \httpd and build Apache by running "gmake -f
- nwgnumakefile." You can create a distribution directory by
- adding an install parameter to the command (ex. gmake -f nwgnumakefile
- install).</li>
- </ul>
-
- <p><u>Additional make options</u></p>
- <ul>
- <li>gmake -f nwgnumakefile - Builds release versions of all of the
- binaries and copies them to a \release destination directory.</li>
- <li>gmake -f nwgnumakefile DEBUG=1 - Builds debug versions of all of the
- binaries and copies them to a \debug destination directory.</li>
- <li>gmake -f nwgnumakefile install - Creates a complete Apache
- distribution with binaries, docs and additional support files in a
- \dist\Apache2 directory.</li>
- <li>gmake -f nwgnumakefile installdev - Same as install but also creates a
- \lib and \include directory in the destination directory and copies
- headers and import files.</li>
- <li>gmake -f nwgnumakefile clean - Cleans all object files and binaries
- from the \release or \debug build areas depending on whether DEBUG has
- been defined.</li>
- <li>gmake -f nwgnumakefile clobber_all - Same as clean and also deletes
- the distribution directory if it exists.</li>
- </ul>
-
- <hr />
- <!--#include virtual="footer.html" -->
- </body>
-</html>
-
--- /dev/null
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en"><head><!--
+ XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
+ This file is generated from xml source: DO NOT EDIT
+ XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
+ --><title>Using Apache With Novell NetWare - Apache HTTP Server</title><link href="../style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" /><link href="../style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" /><link href="../style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" /><link href="../images/favicon.ico" rel="shortcut icon" /></head><body id="manual-page"><div id="page-header"><p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="../faq/">FAQ</a> | <a href="../glossary.html">Glossary</a> | <a href="../sitemap.html">Sitemap</a></p><p class="apache">Apache HTTP Server Version 2.0</p><img alt="" src="../images/feather.gif" /></div><div class="up"><a href="./"><img title="<-" alt="<-" src="../images/left.gif" /></a></div><div id="path"><a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">HTTP Server</a> > <a href="http://httpd.apache.org/docs-project/">Documentation</a> > <a href="../">Version 2.0</a></div><div id="page-content"><div id="preamble"><h1>Using Apache With Novell NetWare</h1>
+
+ <p>This document explains how to install, configure and run
+ Apache 2.0 under Novell NetWare 5.1 and above. If you find any bugs,
+ or wish to contribute in other ways, please use our
+ <a href="http://httpd.apache.org/bug_report.html">bug reporting
+ page.</a></p>
+
+ <p>The bug reporting page and dev-httpd mailing list are <em>not</em>
+ provided to answer questions about configuration or running Apache.
+ Before you submit a bug report or request, first consult this document, the
+ <a href="../faq/index.html">Frequently Asked Questions</a> page and the other
+ relevant documentation topics. If you still have a question or problem,
+ post it to the <a href="news://developer-forums.novell.com/novell.devsup.webserver">
+ novell.devsup.webserver</a> newsgroup, where many Apache users are more than
+ willing to answer new and obscure questions about using Apache on NetWare.</p>
+
+ <p>Most of this document assumes that you are installing Apache
+ from a binary distribution. If you want to compile Apache
+ yourself (possibly to help with development, or to track down
+ bugs), see the section on <a href="#comp">Compiling Apache for
+ NetWare</a> below.</p>
+
+ </div><div id="quickview"><ul id="toc"><li><img alt="" src="../images/down.gif" /> <a href="#req">Requirements</a></li><li><img alt="" src="../images/down.gif" /> <a href="#down">Downloading Apache for NetWare</a></li><li><img alt="" src="../images/down.gif" /> <a href="#inst">Installing Apache for NetWare</a></li><li><img alt="" src="../images/down.gif" /> <a href="#run">Running Apache for NetWare</a></li><li><img alt="" src="../images/down.gif" /> <a href="#use">Configuring Apache for NetWare</a></li><li><img alt="" src="../images/down.gif" /> <a href="#comp">Compiling Apache for NetWare</a></li></ul></div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div><div class="section"><h2><a name="req" id="req">Requirements</a></h2>
+
+
+
+ <p>Apache 2.0 is designed to run on NetWare 5.1 and above.</p>
+
+ <p><strong>If running on NetWare 5.1 you must install Service
+ Pack 4 or above.</strong></p>
+
+ <p><strong>If running on NetWare 6 you must install Service
+ Pack 1 or above.</strong></p>
+
+ <p>NetWare service packs are available <a href="http://support.novell.com/misc/patlst.htm#nw">here</a>.</p>
+
+ </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div><div class="section"><h2><a name="down" id="down">Downloading Apache for NetWare</a></h2>
+
+
+
+ <p>Information on the latest version of Apache can be found on
+ the Apache web server at <a href="http://www.apache.org/">http://www.apache.org/</a>. This
+ will list the current release, any more recent alpha or
+ beta-test releases, together with details of mirror web and
+ anonymous ftp sites.</p>
+
+ </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div><div class="section"><h2><a name="inst" id="inst">Installing Apache for NetWare</a></h2>
+
+
+
+ <p>There is no Apache install program for NetWare currently. You
+ will need to compile apache and copy the files over to the
+ server manually. An install program will be posted at a later
+ date.</p>
+
+ <p>Follow these steps to install Apache on NetWare from the
+ binary download (assuming you will install to
+ <code>sys:/apache2</code>):</p>
+
+ <ul>
+ <li>Unzip the binary download file to the root of the <code>SYS:</code>
+ volume (may be installed to any volume)</li>
+
+ <li>Edit the <code>httpd.conf</code> file setting <code class="directive"><a href="../mod/core.html#serverroot">ServerRoot</a></code> and <code class="directive"><a href="../mod/core.html#servername">ServerName</a></code> to reflect your correct server
+ settings</li>
+
+ <li>Add <code>SYS:/APACHE2</code> to the search path, for example:
+ <div class="example"><p><code>SEARCH ADD SYS:\APACHE2</code></p></div>
+ </li>
+
+ </ul>
+
+ <p>Follow these steps to install Apache on NetWare manually
+ from your own build source (assuming you will install to
+ <code>sys:/apache</code>):</p>
+
+ <ul>
+ <li>Create a directory called <code>Apache2</code> on a
+ NetWare volume</li>
+
+ <li>Copy <code>APACHE2.NLM</code>, <code>APRLIB.NLM</code>,
+ <code>HTDIGEST.NLM</code>, <code>HTPASSWD.NLM</code>
+ to <code>SYS:/APACHE2</code></li>
+
+ <li>Create a directory under <code>SYS:/APACHE2</code>
+ called <code>CONF</code></li>
+
+ <li>Copy the <code>HTTPD-STD.CONF</code> file to the
+ <code>SYS:/APACHE2/CONF</code> directory and rename to
+ <code>HTTPD.CONF</code></li>
+
+ <li>Copy the <code>MIME.TYPES</code> and <code>MAGIC</code>
+ files to <code>SYS:/APACHE2/CONF</code> directory</li>
+
+ <li>Copy all files and subdirectories in <code>\HTTPD-2.0\DOCS\ICONS</code>
+ to <code>SYS:/APACHE2/ICONS</code></li>
+
+ <li>Copy all files and subdirectories in <code>\HTTPD-2.0\DOCS\MANUAL</code>
+ to <code>SYS:/APACHE2/MANUAL</code></li>
+
+ <li>Copy all files and subdirectories in <code>\HTTPD-2.0\DOCS\ERROR</code>
+ to <code>SYS:/APACHE2/ERROR</code></li>
+
+ <li>Copy all files and subdirectories in <code>\HTTPD-2.0\DOCS\DOCROOT</code>
+ to <code>SYS:/APACHE2/HTDOCS</code></li>
+
+ <li>Create the directory <code>SYS:/APACHE2/LOGS</code>
+ on the server</li>
+
+ <li>Create the directory <code>SYS:/APACHE2/CGI-BIN</code>
+ on the server</li>
+
+ <li>Create the directory <code>SYS:/APACHE2/MODULES</code>
+ and copy all nlm modules into the <code>modules</code> directory</li>
+
+ <li>Edit the <code>HTTPD.CONF</code> file searching for all
+ <code>@@Value@@</code> markers and replacing them with the
+ appropriate setting</li>
+
+ <li>Add <code>SYS:/APACHE2</code> to the search path, for example:
+ <div class="example"><p><code>SEARCH ADD SYS:\APACHE2</code></p></div>
+ </li>
+ </ul>
+
+ <p>Apache may be installed to other volumes besides the default <code>SYS</code> volume.</p>
+
+ </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div><div class="section"><h2><a name="run" id="run">Running Apache for NetWare</a></h2>
+
+
+
+ <p>To start Apache just type <code>apache</code> at the
+ console. This will load apache in the OS address space. If you
+ prefer to load Apache in a protected address space you may
+ specify the address space with the load statement as follows:</p>
+
+ <div class="example"><p><code>
+ load address space = apache2 apache2
+ </code></p></div>
+
+ <p>This will load Apache into an address space called apache.
+ Running multiple instances of Apache concurrently on NetWare is
+ possible by loading each instance into its own protected
+ address space.</p>
+
+ <p>After starting Apache, it will be listening to port 80
+ (unless you changed the <code class="directive"><a href="../mod/mpm_common.html#listen">Listen</a></code>
+ directive in the configuration files).
+ To connect to the server and access the default page,
+ launch a browser and enter the server's name or address. This
+ should respond with a welcome page, and a link to the Apache
+ manual. If nothing happens or you get an error, look in the
+ <code>error_log</code> file in the <code>logs</code>
+ directory.</p>
+
+ <p>Once your basic installation is working, you should
+ configure it properly by editing the files in the
+ <code>conf</code> directory.</p>
+
+ <p>To unload Apache running in the OS address space just type
+ the following at the console:</p>
+
+ <div class="example"><p><code>
+ unload apache2
+ </code></p></div>
+
+ <p>or</p>
+
+ <div class="example"><p><code>
+ apache2 shutdown
+ </code></p></div>
+
+ <p>If apache is running in a protected address space specify the
+ address space in the unload statement:</p>
+
+ <div class="example"><p><code>
+ unload address space = apache2 apache2
+ </code></p></div>
+
+ <p>When working with Apache it is important to know how it will
+ find the configuration files. You can specify a configuration
+ file on the command line in two ways:</p>
+
+ <ul>
+ <li><code>-f</code> specifies a path to a particular
+ configuration file</li>
+ </ul>
+
+ <div class="example"><p><code>
+ apache2 -f "vol:/my server/conf/my.conf"
+ </code></p></div>
+
+ <div class="example"><p><code>
+ apache -f test/test.conf
+ </code></p></div>
+
+ <p>In these cases, the proper <code class="directive"><a href="../mod/core.html#serverroot">ServerRoot</a></code>
+ should be set in the configuration file.</p>
+
+ <p>If you don't specify a configuration file name with <code>-f</code>,
+ Apache will use the file name compiled into the server, usually
+ <code>conf/httpd.conf</code>. Invoking Apache with the <code>-V</code>
+ switch will display this value labeled as <code>SERVER_CONFIG_FILE</code>.
+ Apache will then determine its <code class="directive"><a href="../mod/core.html#serverroot">ServerRoot</a></code>
+ by trying the following, in this order:</p>
+
+ <ul>
+ <li>A <code>ServerRoot</code> directive via a
+ <code>-C</code> switch.</li>
+
+ <li>The <code>-d</code> switch on the command line.</li>
+
+ <li>Current working directory</li>
+
+ <li>The server root compiled into the server.</li>
+ </ul>
+
+ <p>The server root compiled into the server is usually <code>sys:/apache2</code>.
+ invoking apache with the <code>-V</code> switch will display this value labeled as
+ <code>HTTPD_ROOT</code>.</p>
+
+ <p>Apache 2.0 for NetWare includes a set of command line directives that can
+ be used to modify or display information about the running instance of the
+ web server. Each of these directives must be preceded by the keyword
+ <code>APACHE2</code>:</p>
+
+ <dl>
+ <dt>RESTART</dt>
+ <dd>Instructs Apache to terminate all running worker
+ threads as they become idle, reread the configuration file and restart each
+ worker thread based on the new configuration.</dd>
+
+ <dt>VERSION</dt>
+ <dd>Displays version information about the currently
+ running instance of Apache.</dd>
+
+ <dt>MODULES</dt>
+ <dd>Displays a list of loaded modules both built-in
+ and external.</dd>
+
+ <dt>DIRECTIVES</dt>
+ <dd>Displays a list of all available directives.</dd>
+
+ <dt>SETTINGS</dt>
+ <dd>Enables or disables the thread status display
+ on the console. When enabled, a status of the number of running threads
+ is displayed along with their status.</dd>
+
+ <dt>SHUTDOWN</dt>
+ <dd>Terminates the running instance of the Apache
+ web server.</dd>
+ </dl>
+
+ </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div><div class="section"><h2><a name="use" id="use">Configuring Apache for NetWare</a></h2>
+
+
+
+ <p>Apache is configured by files in the <code>conf</code>
+ directory. These are the same as files used to configure the
+ Unix version, but there are a few different directives for
+ Apache on NetWare. See the <a href="../">Apache
+ documentation</a> for all the available directives.</p>
+
+ <p>The main differences in Apache for NetWare are:</p>
+
+ <ul>
+ <li>
+ <p>Because Apache for NetWare is multithreaded, it does not
+ use a separate process for each request, as Apache does in some Unix
+ implementations. Instead there are only threads running: a parent
+ thread, and a multiple child threads which handle the requests.</p>
+
+ <p>So the "process"-management directives are different:</p>
+
+ <p><code class="directive"><a href="../mod/mpm_common.html#maxrequestsperchild">MaxRequestsPerChild</a></code> -
+ Like the Unix directive, this controls how many requests
+ a worker thread will serve before exiting. The recommended default,
+ <code>MaxRequestsPerChild 0</code>, causes the thread to continue servicing
+ request indefinitely. It is recommended on NetWare, unless there is some
+ specific reason, that this directive always remain set to <code>0</code>.</p>
+
+ <p><code class="directive"><a href="../mod/mpm_common.html#startthreads">StartThreads</a></code> -
+ This directive tells the server how many threads it should start initially.
+ The recommended default is <code>StartThreads 50</code>.</p>
+
+ <p><code class="directive"><a href="../mod/mpm_common.html#minsparethreads">MinSpareThreads</a></code> -
+ This directive instructs the server to spawn additional worker threads
+ if the number of idle threads ever falls below this value. The recommended
+ default is <code>MinSpareThreads 10</code>.</p>
+
+ <p><code class="directive"><a href="../mod/mpm_common.html#maxsparethreads">MaxSpareThreads</a></code> -
+ This directive instructs the server to begin terminating worker threads
+ if the number of idle threads ever exceeds this value. The recommended
+ default is <code>MaxSpareThreads 100</code>.</p>
+
+ <p><code class="directive"><a href="../mod/mpm_netware.html#maxthreads">MaxThreads</a></code> -
+ This directive limits the total number of work threads to a maximum
+ value. The recommended default is <code>ThreadsPerChild 250</code>.</p>
+
+ <p><code class="directive"><a href="../mod/mpm_netware.html#threadstacksize">ThreadStackSize</a></code> -
+ This directive tells the server what size of stack to use
+ for the individual worker thread. The recommended default
+ is <code>ThreadStackSize 65536</code>.</p>
+ </li>
+
+ <li>
+ <p>The directives that accept filenames as arguments now
+ must use NetWare filenames instead of Unix ones. However,
+ because Apache uses Unix-style names internally, you must
+ use forward slashes, not backslashes. It is recommended that all rooted
+ file paths begin with a volume name. If omitted, Apache will
+ assume the <code>SYS:</code> volume.</p>
+ </li>
+
+ <li>
+ <p>Apache for NetWare has the ability to load modules at
+ runtime, without recompiling the server. If Apache is
+ compiled normally, it will install a number of optional
+ modules in the <code>\Apache2\modules</code> directory.
+ To activate these, or other modules, the <code class="directive"><a href="../mod/mod_so.html#loadmodule">LoadModule</a></code> directive
+ must be used. For example, to active the status module, use
+ the following (in addition to the status-activating
+ directives in <code>access.conf</code>):</p>
+
+ <div class="example"><p><code>
+ LoadModule status_module modules/status.nlm
+ </code></p></div>
+
+ <p>Information on <a href="../mod/mod_so.html#creating">creating loadable
+ modules</a> is also available.</p>
+ </li>
+ </ul>
+
+ <h3><a name="use-add" id="use-add">Additional NetWare specific directives:</a></h3>
+
+
+
+ <ul>
+ <li><code class="directive"><a href="../mod/core.html#cgimapextension">CGIMapExtension</a></code> -
+ This directive maps a CGI file extension to a script interpreter.</li>
+ </ul>
+
+
+
+ </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div><div class="section"><h2><a name="comp" id="comp">Compiling Apache for NetWare</a></h2>
+
+
+
+ <p>Compiling Apache requires MetroWerks CodeWarrior 6.x or higher to
+ be properly installed. Once Apache has been built, it needs to be
+ installed on a NetWare volume's root directory. The default is the
+ <code>sys:/Apache2</code> directory.</p>
+
+ <p>Before running the server you must fill out the <code>conf</code>
+ directory. Copy the file <code>HTTPD-STD.CONF</code> from the distribution
+ <code>conf</code> directory and rename it to <code>HTTPD.CONF</code>.
+ Edit the <code>HTTPD.CONF</code> file searching for all <code>@@Value@@</code>
+ markers and replacing them with the appropriate setting. Copy over
+ the <code>conf/magic</code> and <code>conf/mime.types</code> files as well.</p>
+
+ <h3><a name="comp-req" id="comp-req">Requirements:</a></h3>
+
+
+
+ <p>The following development tools are required to build
+ Apache 2.0 for NetWare:</p>
+
+ <ul>
+ <li>Metrowerks CodeWarrior 6.0 or higher with the
+ <a href="http://developer.novell.com/ndk/cwpdk.htm">NetWare PDK 3.0</a>
+ or higher.</li>
+
+ <li><a href="http://developer.novell.com/ndk/libc.htm">NetWare Libraries
+ for C (LibC)</a></li>
+
+ <li><a href="http://developer.novell.com/ndk/ws2comp.htm">WinSock 2
+ Developer Components for NetWare</a></li>
+
+ <li>To build using either the project file or the make files, requires an
+ AWK utility (awk, gawk or similar). AWK can be downloaded from
+ <a href="http://developer.novell.com/ndk/apache.htm">http://developer.novell.com/ndk/apache.htm</a>.
+ The utility must be found in your windows path and must be named <code>awk.exe</code>.</li>
+
+ <li>To build using the makefiles, you will need GNU make version 3.78.1 (GMake) available at
+ <a href="http://developer.novell.com/ndk/apache.htm">http://developer.novell.com/ndk/apache.htm</a>.</li>
+ </ul>
+
+
+
+ <h3><a name="comp-metro" id="comp-metro">Building Apache using the Metrowerks Project Files:</a></h3>
+
+
+
+ <p>All major pieces of Apache and APR are built using the
+ <code>ApacheNW.mcp</code> and <code>LibAprNW.mcp</code> project files.
+ This includes modules such as status, info, proxy, etc.</p>
+
+ <ul>
+ <li>Set the environment variable <code>NovellLibC</code> to the
+ location of the NetWare Libraries for C SDK, for example:
+ <div class="example"><p><code>Set NovellLibC=c:\novell\ndk\libc</code></p></div>
+ </li>
+
+ <li>Make sure that the path to the CodeWarrior command line tools
+ (<code>MWCCNLM.exe</code>, <code>MWLDNLM.exe</code>) has been
+ included in the system's <code>PATH</code> environment variable.</li>
+
+ <li>Make sure that the path to the AWK utility has been included in the
+ system's <code>PATH</code> environment variable.</li>
+
+ <li>Download the source code and unzip to an appropriate directory on
+ your workstation.</li>
+
+ <li>Change directory to <code>\httpd\srclib\apr\build</code> and run the
+ batch file <code>prebuildnw.bat</code>. The batch file will setup the build
+ environment for building the APR libraries. It will also run 2 AWK scripts
+ that will generate the export files for APR.</li>
+
+ <li>Change directory to <code>\httpd\srclib\apr</code> and extract the project
+ file <code>LIBAPRNW.mcp</code> from the <code>LIBAPRNW.mcp.zip</code> file.</li>
+
+ <li>Open the <code>LIBAPRNW.mcp</code> project file in the Metrowerks IDE.</li>
+
+ <li>Select the target "Build Util - Gen URL Delim" and build the target.
+ This target will produce the NLM <code>GENURI.nlm</code></li>
+
+ <li>Copy the file <code>GENURI.nlm</code> to the <code>SYS:</code> volume
+ of a NetWare server and run using the following command:
+ <ul>
+ <li><code>SYS:\genuri > sys:\uri_delims.h</code></li>
+ </ul>
+ </li>
+
+ <li>Copy the file <code>uri_delims.h</code> to the directory
+ <code>\httpd\srclib\apr-util\uri</code> on the build machine.</li>
+
+ <li>Select the target "APR Debug NLM" or "APR Release NLM" in the IDE and build.
+ This will produce the file <code>APRLIB.nlm</code>.
+ <ul>
+ <li>[Optional] Select any of the LIB targets to produce a
+ statically linkable libraries.</li>
+ </ul>
+ </li>
+
+ <li>Change directory to <code>\httpd\build</code> and run the batch file
+ <code>prebuildnw.bat</code>. This batch file will setup the build environment
+ for building the <code>APACHE.nlm</code>. It will also run several AWK scripts
+ that will generate the export files for APACHE.</li>
+
+ <li>Change directory to <code>\http</code> and extract the project file
+ <code>ApacheNW.mcp</code> from the <code>ApacheNW.mcp.zip</code> file.</li>
+
+ <li>Open the <code>ApacheNW.mcp</code> project file in the Metrowerks IDE.</li>
+
+ <li>Select the target "Build Utility - DFTables" and build the target.</li>
+
+ <li>Select the target "Build Util - Gen Test Chars" and build the target.</li>
+
+ <li>Copy the files <code>GENCHARS.nlm</code> and <code>DFTABLES.nlm</code>
+ to the <code>SYS:</code> volume of a NetWare server and run using the following commands:
+ <ul>
+ <li><code>SYS:\genchars > sys:\test_char.h</code></li>
+ <li><code>SYS:\dftables > sys:\chartables.c</code></li>
+ </ul>
+ </li>
+
+ <li>Copy the files <code>test_char.h</code> and <code>chartables.c</code>
+ to the directory <code>\httpd\os\netware</code> on the build machine.</li>
+
+ <li>Select the target "Apache Full Debug" or "Apache Full Release" in
+ the IDE and build. This will produce the file <code>APACHE2.nlm</code>
+ along with all of the external module NLMs.</li>
+ </ul>
+
+
+
+ <h3><a name="comp-make" id="comp-make">Building Apache using the NetWare makefiles:</a></h3>
+
+
+
+ <ul>
+ <li>Set the environment variable <code>NOVELLLIBC</code> to the
+ location of the NetWare Libraries for C SDK, for example:
+ <div class="example"><p><code>Set NOVELLLIBC=c:\novell\ndk\libc</code></p></div>
+ </li>
+
+ <li>Set the environment variable <code>METROWERKS</code> to the
+ location where you installed the Metrowerks CodeWarrior compiler,
+ for example:
+ <div class="example"><p><code>Set METROWERKS=C:\Program Files\Metrowerks\CodeWarrior</code></p></div>
+ If you installed to the default location <code>C:\Program
+ Files\Metrowerks\CodeWarrior</code>, you don't need to set this.</li>
+
+ <li>Set the environment variable <code>AP_WORK</code> to the full path of
+ the <code>\httpd</code> directory.</li>
+
+ <li>Set the environment variable <code>APR_WORK</code> to the full path of
+ the <code>\httpd\srclib\apr</code> directory.</li>
+
+ <li>Make sure that the path to the AWK utility and the GNU make utility
+ (<code>gmake.exe</code>) have been included in the system's
+ <code>PATH</code> environment variable.</li>
+
+ <li>Download the source code and unzip to an appropriate directory on
+ your workstation.</li>
+
+ <li>Change directory to <code>\httpd\srclib\apr-util\uri</code> and build
+ <code>GENURI.nlm</code> by running "<code>gmake -f nwgnumakefile</code>".</li>
+
+ <li>Copy the file <code>GENURI.nlm</code> to the <code>SYS:</code> volume
+ of a NetWare server and run using the following command:
+ <div class="example"><p><code>SYS:\genuri > sys:\uri_delims.h</code></p></div>
+ </li>
+
+ <li>Copy the file <code>uri_delims.h</code> to the directory
+ <code>\httpd\srclib\apr-util\uri</code> on the build machine.</li>
+
+ <li>Change directory to <code>\httpd\srclib\apr</code> and build APR
+ by running "<code>gmake -f nwgnumakefile</code>"</li>
+
+ <li>Change directory to <code>\httpd\srclib\pcre</code> and build
+ <code>DFTABLES.nlm</code> by running "<code>gmake -f nwgnumakefile</code>"</li>
+
+ <li>Change directory to <code>\httpd\server</code> and build
+ <code>GENCHARS.nlm</code> by running "<code>gmake -f nwgnumakefile</code>"</li>
+
+ <li>Copy the files <code>GENCHARS.nlm</code> and <code>DFTABLES.nlm</code>
+ from their respective directories to the <code>SYS:</code> volume of a
+ NetWare server and run them using the following commands:
+ <div class="example"><p><code>
+ SYS:\genchars > sys:\test_char.h<br />
+ SYS:\dftables > sys:\chartables.c<br />
+ </code></p></div>
+ </li>
+
+ <li>Copy the files <code>test_char.h</code> and <code>chartables.c</code>
+ to the directory <code>\httpd\os\netware</code> on the build machine.</li>
+
+ <li>Change directory to <code>\httpd</code> and build Apache by running
+ "<code>gmake -f nwgnumakefile</code>". You can create a distribution directory by
+ adding an install parameter to the command, for example:
+ <div class="example"><p><code>gmake -f nwgnumakefile install</code></p></div>
+ </li>
+ </ul>
+
+
+
+ <h3><a name="comp-add" id="comp-add">Additional make options</a></h3>
+
+
+
+ <ul>
+ <li><code>gmake -f nwgnumakefile</code><br />Builds release versions of all of the
+ binaries and copies them to a <code>\release</code> destination directory.</li>
+
+ <li><code>gmake -f nwgnumakefile DEBUG=1</code><br />Builds debug versions of all of the
+ binaries and copies them to a <code>\debug</code> destination directory.</li>
+
+ <li><code>gmake -f nwgnumakefile install</code><br />Creates a complete Apache
+ distribution with binaries, docs and additional support files in a
+ <code>\dist\Apache2</code> directory.</li>
+
+ <li><code>gmake -f nwgnumakefile installdev</code><br />Same as install but also creates a
+ <code>\lib</code> and <code>\include</code> directory in the destination directory
+ and copies headers and import files.</li>
+
+ <li><code>gmake -f nwgnumakefile clean</code><br />Cleans all object files and binaries
+ from the <code>\release</code> or <code>\debug</code> build areas depending on whether
+ <code>DEBUG</code> has been defined.</li>
+
+ <li><code>gmake -f nwgnumakefile clobber_all</code><br />Same as clean and also deletes
+ the distribution directory if it exists.</li>
+ </ul>
+
+
+
+ </div></div><div id="footer"><p class="apache">Maintained by the <a href="http://httpd.apache.org/docs-project/">Apache HTTP Server Documentation Project</a></p><p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="../faq/">FAQ</a> | <a href="../glossary.html">Glossary</a> | <a href="../sitemap.html">Sitemap</a></p></div></body></html>
\ No newline at end of file
--- /dev/null
+<?xml version="1.0" encoding="UTF-8" ?>
+<!DOCTYPE manualpage SYSTEM "../style/manualpage.dtd">
+<?xml-stylesheet type="text/xsl" href="../style/manual.en.xsl"?>
+
+<manualpage>
+ <relativepath href=".." />
+
+ <title>Using Apache With Novell NetWare</title>
+
+ <summary>
+
+ <p>This document explains how to install, configure and run
+ Apache 2.0 under Novell NetWare 5.1 and above. If you find any bugs,
+ or wish to contribute in other ways, please use our
+ <a href="http://httpd.apache.org/bug_report.html">bug reporting
+ page.</a></p>
+
+ <p>The bug reporting page and dev-httpd mailing list are <em>not</em>
+ provided to answer questions about configuration or running Apache.
+ Before you submit a bug report or request, first consult this document, the
+ <a href="../faq/index.html">Frequently Asked Questions</a> page and the other
+ relevant documentation topics. If you still have a question or problem,
+ post it to the <a href="news://developer-forums.novell.com/novell.devsup.webserver">
+ novell.devsup.webserver</a> newsgroup, where many Apache users are more than
+ willing to answer new and obscure questions about using Apache on NetWare.</p>
+
+ <p>Most of this document assumes that you are installing Apache
+ from a binary distribution. If you want to compile Apache
+ yourself (possibly to help with development, or to track down
+ bugs), see the section on <a href="#comp">Compiling Apache for
+ NetWare</a> below.</p>
+
+ </summary>
+
+ <section id="req">
+
+ <title>Requirements</title>
+
+ <p>Apache 2.0 is designed to run on NetWare 5.1 and above.</p>
+
+ <p><strong>If running on NetWare 5.1 you must install Service
+ Pack 4 or above.</strong></p>
+
+ <p><strong>If running on NetWare 6 you must install Service
+ Pack 1 or above.</strong></p>
+
+ <p>NetWare service packs are available <a
+ href="http://support.novell.com/misc/patlst.htm#nw">here</a>.</p>
+
+ </section>
+
+ <section id="down">
+
+ <title>Downloading Apache for NetWare</title>
+
+ <p>Information on the latest version of Apache can be found on
+ the Apache web server at <a
+ href="http://www.apache.org/">http://www.apache.org/</a>. This
+ will list the current release, any more recent alpha or
+ beta-test releases, together with details of mirror web and
+ anonymous ftp sites.</p>
+
+ </section>
+
+ <section id="inst">
+
+ <title>Installing Apache for NetWare</title>
+
+ <p>There is no Apache install program for NetWare currently. You
+ will need to compile apache and copy the files over to the
+ server manually. An install program will be posted at a later
+ date.</p>
+
+ <p>Follow these steps to install Apache on NetWare from the
+ binary download (assuming you will install to
+ <code>sys:/apache2</code>):</p>
+
+ <ul>
+ <li>Unzip the binary download file to the root of the <code>SYS:</code>
+ volume (may be installed to any volume)</li>
+
+ <li>Edit the <code>httpd.conf</code> file setting <directive
+ module="core">ServerRoot</directive> and <directive
+ module="core">ServerName</directive> to reflect your correct server
+ settings</li>
+
+ <li>Add <code>SYS:/APACHE2</code> to the search path, for example:
+ <example>SEARCH ADD SYS:\APACHE2</example>
+ </li>
+
+ </ul>
+
+ <p>Follow these steps to install Apache on NetWare manually
+ from your own build source (assuming you will install to
+ <code>sys:/apache</code>):</p>
+
+ <ul>
+ <li>Create a directory called <code>Apache2</code> on a
+ NetWare volume</li>
+
+ <li>Copy <code>APACHE2.NLM</code>, <code>APRLIB.NLM</code>,
+ <code>HTDIGEST.NLM</code>, <code>HTPASSWD.NLM</code>
+ to <code>SYS:/APACHE2</code></li>
+
+ <li>Create a directory under <code>SYS:/APACHE2</code>
+ called <code>CONF</code></li>
+
+ <li>Copy the <code>HTTPD-STD.CONF</code> file to the
+ <code>SYS:/APACHE2/CONF</code> directory and rename to
+ <code>HTTPD.CONF</code></li>
+
+ <li>Copy the <code>MIME.TYPES</code> and <code>MAGIC</code>
+ files to <code>SYS:/APACHE2/CONF</code> directory</li>
+
+ <li>Copy all files and subdirectories in <code>\HTTPD-2.0\DOCS\ICONS</code>
+ to <code>SYS:/APACHE2/ICONS</code></li>
+
+ <li>Copy all files and subdirectories in <code>\HTTPD-2.0\DOCS\MANUAL</code>
+ to <code>SYS:/APACHE2/MANUAL</code></li>
+
+ <li>Copy all files and subdirectories in <code>\HTTPD-2.0\DOCS\ERROR</code>
+ to <code>SYS:/APACHE2/ERROR</code></li>
+
+ <li>Copy all files and subdirectories in <code>\HTTPD-2.0\DOCS\DOCROOT</code>
+ to <code>SYS:/APACHE2/HTDOCS</code></li>
+
+ <li>Create the directory <code>SYS:/APACHE2/LOGS</code>
+ on the server</li>
+
+ <li>Create the directory <code>SYS:/APACHE2/CGI-BIN</code>
+ on the server</li>
+
+ <li>Create the directory <code>SYS:/APACHE2/MODULES</code>
+ and copy all nlm modules into the <code>modules</code> directory</li>
+
+ <li>Edit the <code>HTTPD.CONF</code> file searching for all
+ <code>@@Value@@</code> markers and replacing them with the
+ appropriate setting</li>
+
+ <li>Add <code>SYS:/APACHE2</code> to the search path, for example:
+ <example>SEARCH ADD SYS:\APACHE2</example>
+ </li>
+ </ul>
+
+ <p>Apache may be installed to other volumes besides the default <code>SYS</code> volume.</p>
+
+ </section>
+
+ <section id="run">
+
+ <title>Running Apache for NetWare</title>
+
+ <p>To start Apache just type <code>apache</code> at the
+ console. This will load apache in the OS address space. If you
+ prefer to load Apache in a protected address space you may
+ specify the address space with the load statement as follows:</p>
+
+ <example>
+ load address space = apache2 apache2
+ </example>
+
+ <p>This will load Apache into an address space called apache.
+ Running multiple instances of Apache concurrently on NetWare is
+ possible by loading each instance into its own protected
+ address space.</p>
+
+ <p>After starting Apache, it will be listening to port 80
+ (unless you changed the <directive module="mpm_common">Listen</directive>
+ directive in the configuration files).
+ To connect to the server and access the default page,
+ launch a browser and enter the server's name or address. This
+ should respond with a welcome page, and a link to the Apache
+ manual. If nothing happens or you get an error, look in the
+ <code>error_log</code> file in the <code>logs</code>
+ directory.</p>
+
+ <p>Once your basic installation is working, you should
+ configure it properly by editing the files in the
+ <code>conf</code> directory.</p>
+
+ <p>To unload Apache running in the OS address space just type
+ the following at the console:</p>
+
+ <example>
+ unload apache2
+ </example>
+
+ <p>or</p>
+
+ <example>
+ apache2 shutdown
+ </example>
+
+ <p>If apache is running in a protected address space specify the
+ address space in the unload statement:</p>
+
+ <example>
+ unload address space = apache2 apache2
+ </example>
+
+ <p>When working with Apache it is important to know how it will
+ find the configuration files. You can specify a configuration
+ file on the command line in two ways:</p>
+
+ <ul>
+ <li><code>-f</code> specifies a path to a particular
+ configuration file</li>
+ </ul>
+
+ <example>
+ apache2 -f "vol:/my server/conf/my.conf"
+ </example>
+
+ <example>
+ apache -f test/test.conf
+ </example>
+
+ <p>In these cases, the proper <directive module="core">ServerRoot</directive>
+ should be set in the configuration file.</p>
+
+ <p>If you don't specify a configuration file name with <code>-f</code>,
+ Apache will use the file name compiled into the server, usually
+ <code>conf/httpd.conf</code>. Invoking Apache with the <code>-V</code>
+ switch will display this value labeled as <code>SERVER_CONFIG_FILE</code>.
+ Apache will then determine its <directive module="core">ServerRoot</directive>
+ by trying the following, in this order:</p>
+
+ <ul>
+ <li>A <code>ServerRoot</code> directive via a
+ <code>-C</code> switch.</li>
+
+ <li>The <code>-d</code> switch on the command line.</li>
+
+ <li>Current working directory</li>
+
+ <li>The server root compiled into the server.</li>
+ </ul>
+
+ <p>The server root compiled into the server is usually <code>sys:/apache2</code>.
+ invoking apache with the <code>-V</code> switch will display this value labeled as
+ <code>HTTPD_ROOT</code>.</p>
+
+ <p>Apache 2.0 for NetWare includes a set of command line directives that can
+ be used to modify or display information about the running instance of the
+ web server. Each of these directives must be preceded by the keyword
+ <code>APACHE2</code>:</p>
+
+ <dl>
+ <dt>RESTART</dt>
+ <dd>Instructs Apache to terminate all running worker
+ threads as they become idle, reread the configuration file and restart each
+ worker thread based on the new configuration.</dd>
+
+ <dt>VERSION</dt>
+ <dd>Displays version information about the currently
+ running instance of Apache.</dd>
+
+ <dt>MODULES</dt>
+ <dd>Displays a list of loaded modules both built-in
+ and external.</dd>
+
+ <dt>DIRECTIVES</dt>
+ <dd>Displays a list of all available directives.</dd>
+
+ <dt>SETTINGS</dt>
+ <dd>Enables or disables the thread status display
+ on the console. When enabled, a status of the number of running threads
+ is displayed along with their status.</dd>
+
+ <dt>SHUTDOWN</dt>
+ <dd>Terminates the running instance of the Apache
+ web server.</dd>
+ </dl>
+
+ </section>
+
+ <section id="use">
+
+ <title>Configuring Apache for NetWare</title>
+
+ <p>Apache is configured by files in the <code>conf</code>
+ directory. These are the same as files used to configure the
+ Unix version, but there are a few different directives for
+ Apache on NetWare. See the <a href="../">Apache
+ documentation</a> for all the available directives.</p>
+
+ <p>The main differences in Apache for NetWare are:</p>
+
+ <ul>
+ <li>
+ <p>Because Apache for NetWare is multithreaded, it does not
+ use a separate process for each request, as Apache does in some Unix
+ implementations. Instead there are only threads running: a parent
+ thread, and a multiple child threads which handle the requests.</p>
+
+ <p>So the "process"-management directives are different:</p>
+
+ <p><directive module="mpm_common">MaxRequestsPerChild</directive> -
+ Like the Unix directive, this controls how many requests
+ a worker thread will serve before exiting. The recommended default,
+ <code>MaxRequestsPerChild 0</code>, causes the thread to continue servicing
+ request indefinitely. It is recommended on NetWare, unless there is some
+ specific reason, that this directive always remain set to <code>0</code>.</p>
+
+ <p><directive module="mpm_common">StartThreads</directive> -
+ This directive tells the server how many threads it should start initially.
+ The recommended default is <code>StartThreads 50</code>.</p>
+
+ <p><directive module="mpm_common">MinSpareThreads</directive> -
+ This directive instructs the server to spawn additional worker threads
+ if the number of idle threads ever falls below this value. The recommended
+ default is <code>MinSpareThreads 10</code>.</p>
+
+ <p><directive module="mpm_common">MaxSpareThreads</directive> -
+ This directive instructs the server to begin terminating worker threads
+ if the number of idle threads ever exceeds this value. The recommended
+ default is <code>MaxSpareThreads 100</code>.</p>
+
+ <p><directive module="mpm_netware">MaxThreads</directive> -
+ This directive limits the total number of work threads to a maximum
+ value. The recommended default is <code>ThreadsPerChild 250</code>.</p>
+
+ <p><directive module="mpm_netware">ThreadStackSize</directive> -
+ This directive tells the server what size of stack to use
+ for the individual worker thread. The recommended default
+ is <code>ThreadStackSize 65536</code>.</p>
+ </li>
+
+ <li>
+ <p>The directives that accept filenames as arguments now
+ must use NetWare filenames instead of Unix ones. However,
+ because Apache uses Unix-style names internally, you must
+ use forward slashes, not backslashes. It is recommended that all rooted
+ file paths begin with a volume name. If omitted, Apache will
+ assume the <code>SYS:</code> volume.</p>
+ </li>
+
+ <li>
+ <p>Apache for NetWare has the ability to load modules at
+ runtime, without recompiling the server. If Apache is
+ compiled normally, it will install a number of optional
+ modules in the <code>\Apache2\modules</code> directory.
+ To activate these, or other modules, the <directive
+ module="mod_so">LoadModule</directive> directive
+ must be used. For example, to active the status module, use
+ the following (in addition to the status-activating
+ directives in <code>access.conf</code>):</p>
+
+ <example>
+ LoadModule status_module modules/status.nlm
+ </example>
+
+ <p>Information on <a
+ href="../mod/mod_so.html#creating">creating loadable
+ modules</a> is also available.</p>
+ </li>
+ </ul>
+
+ <section id="use-add">
+
+ <title>Additional NetWare specific directives:</title>
+
+ <ul>
+ <li><directive module="core">CGIMapExtension</directive> -
+ This directive maps a CGI file extension to a script interpreter.</li>
+ </ul>
+
+ </section>
+
+ </section>
+
+ <section id="comp">
+
+ <title>Compiling Apache for NetWare</title>
+
+ <p>Compiling Apache requires MetroWerks CodeWarrior 6.x or higher to
+ be properly installed. Once Apache has been built, it needs to be
+ installed on a NetWare volume's root directory. The default is the
+ <code>sys:/Apache2</code> directory.</p>
+
+ <p>Before running the server you must fill out the <code>conf</code>
+ directory. Copy the file <code>HTTPD-STD.CONF</code> from the distribution
+ <code>conf</code> directory and rename it to <code>HTTPD.CONF</code>.
+ Edit the <code>HTTPD.CONF</code> file searching for all <code>@@Value@@</code>
+ markers and replacing them with the appropriate setting. Copy over
+ the <code>conf/magic</code> and <code>conf/mime.types</code> files as well.</p>
+
+ <section id="comp-req">
+
+ <title>Requirements:</title>
+
+ <p>The following development tools are required to build
+ Apache 2.0 for NetWare:</p>
+
+ <ul>
+ <li>Metrowerks CodeWarrior 6.0 or higher with the
+ <a href="http://developer.novell.com/ndk/cwpdk.htm">NetWare PDK 3.0</a>
+ or higher.</li>
+
+ <li><a href="http://developer.novell.com/ndk/libc.htm">NetWare Libraries
+ for C (LibC)</a></li>
+
+ <li><a href="http://developer.novell.com/ndk/ws2comp.htm">WinSock 2
+ Developer Components for NetWare</a></li>
+
+ <li>To build using either the project file or the make files, requires an
+ AWK utility (awk, gawk or similar). AWK can be downloaded from
+ <a href="http://developer.novell.com/ndk/apache.htm">http://developer.novell.com/ndk/apache.htm</a>.
+ The utility must be found in your windows path and must be named <code>awk.exe</code>.</li>
+
+ <li>To build using the makefiles, you will need GNU make version 3.78.1 (GMake) available at
+ <a href="http://developer.novell.com/ndk/apache.htm">http://developer.novell.com/ndk/apache.htm</a>.</li>
+ </ul>
+
+ </section>
+
+ <section id="comp-metro">
+
+ <title>Building Apache using the Metrowerks Project Files:</title>
+
+ <p>All major pieces of Apache and APR are built using the
+ <code>ApacheNW.mcp</code> and <code>LibAprNW.mcp</code> project files.
+ This includes modules such as status, info, proxy, etc.</p>
+
+ <ul>
+ <li>Set the environment variable <code>NovellLibC</code> to the
+ location of the NetWare Libraries for C SDK, for example:
+ <example>Set NovellLibC=c:\novell\ndk\libc</example>
+ </li>
+
+ <li>Make sure that the path to the CodeWarrior command line tools
+ (<code>MWCCNLM.exe</code>, <code>MWLDNLM.exe</code>) has been
+ included in the system's <code>PATH</code> environment variable.</li>
+
+ <li>Make sure that the path to the AWK utility has been included in the
+ system's <code>PATH</code> environment variable.</li>
+
+ <li>Download the source code and unzip to an appropriate directory on
+ your workstation.</li>
+
+ <li>Change directory to <code>\httpd\srclib\apr\build</code> and run the
+ batch file <code>prebuildnw.bat</code>. The batch file will setup the build
+ environment for building the APR libraries. It will also run 2 AWK scripts
+ that will generate the export files for APR.</li>
+
+ <li>Change directory to <code>\httpd\srclib\apr</code> and extract the project
+ file <code>LIBAPRNW.mcp</code> from the <code>LIBAPRNW.mcp.zip</code> file.</li>
+
+ <li>Open the <code>LIBAPRNW.mcp</code> project file in the Metrowerks IDE.</li>
+
+ <li>Select the target "Build Util - Gen URL Delim" and build the target.
+ This target will produce the NLM <code>GENURI.nlm</code></li>
+
+ <li>Copy the file <code>GENURI.nlm</code> to the <code>SYS:</code> volume
+ of a NetWare server and run using the following command:
+ <ul>
+ <li><code>SYS:\genuri > sys:\uri_delims.h</code></li>
+ </ul>
+ </li>
+
+ <li>Copy the file <code>uri_delims.h</code> to the directory
+ <code>\httpd\srclib\apr-util\uri</code> on the build machine.</li>
+
+ <li>Select the target "APR Debug NLM" or "APR Release NLM" in the IDE and build.
+ This will produce the file <code>APRLIB.nlm</code>.
+ <ul>
+ <li>[Optional] Select any of the LIB targets to produce a
+ statically linkable libraries.</li>
+ </ul>
+ </li>
+
+ <li>Change directory to <code>\httpd\build</code> and run the batch file
+ <code>prebuildnw.bat</code>. This batch file will setup the build environment
+ for building the <code>APACHE.nlm</code>. It will also run several AWK scripts
+ that will generate the export files for APACHE.</li>
+
+ <li>Change directory to <code>\http</code> and extract the project file
+ <code>ApacheNW.mcp</code> from the <code>ApacheNW.mcp.zip</code> file.</li>
+
+ <li>Open the <code>ApacheNW.mcp</code> project file in the Metrowerks IDE.</li>
+
+ <li>Select the target "Build Utility - DFTables" and build the target.</li>
+
+ <li>Select the target "Build Util - Gen Test Chars" and build the target.</li>
+
+ <li>Copy the files <code>GENCHARS.nlm</code> and <code>DFTABLES.nlm</code>
+ to the <code>SYS:</code> volume of a NetWare server and run using the following commands:
+ <ul>
+ <li><code>SYS:\genchars > sys:\test_char.h</code></li>
+ <li><code>SYS:\dftables > sys:\chartables.c</code></li>
+ </ul>
+ </li>
+
+ <li>Copy the files <code>test_char.h</code> and <code>chartables.c</code>
+ to the directory <code>\httpd\os\netware</code> on the build machine.</li>
+
+ <li>Select the target "Apache Full Debug" or "Apache Full Release" in
+ the IDE and build. This will produce the file <code>APACHE2.nlm</code>
+ along with all of the external module NLMs.</li>
+ </ul>
+
+ </section>
+
+ <section id="comp-make">
+
+ <title>Building Apache using the NetWare makefiles:</title>
+
+ <ul>
+ <li>Set the environment variable <code>NOVELLLIBC</code> to the
+ location of the NetWare Libraries for C SDK, for example:
+ <example>Set NOVELLLIBC=c:\novell\ndk\libc</example>
+ </li>
+
+ <li>Set the environment variable <code>METROWERKS</code> to the
+ location where you installed the Metrowerks CodeWarrior compiler,
+ for example:
+ <example>Set METROWERKS=C:\Program Files\Metrowerks\CodeWarrior</example>
+ If you installed to the default location <code>C:\Program
+ Files\Metrowerks\CodeWarrior</code>, you don't need to set this.</li>
+
+ <li>Set the environment variable <code>AP_WORK</code> to the full path of
+ the <code>\httpd</code> directory.</li>
+
+ <li>Set the environment variable <code>APR_WORK</code> to the full path of
+ the <code>\httpd\srclib\apr</code> directory.</li>
+
+ <li>Make sure that the path to the AWK utility and the GNU make utility
+ (<code>gmake.exe</code>) have been included in the system's
+ <code>PATH</code> environment variable.</li>
+
+ <li>Download the source code and unzip to an appropriate directory on
+ your workstation.</li>
+
+ <li>Change directory to <code>\httpd\srclib\apr-util\uri</code> and build
+ <code>GENURI.nlm</code> by running "<code>gmake -f nwgnumakefile</code>".</li>
+
+ <li>Copy the file <code>GENURI.nlm</code> to the <code>SYS:</code> volume
+ of a NetWare server and run using the following command:
+ <example>SYS:\genuri > sys:\uri_delims.h</example>
+ </li>
+
+ <li>Copy the file <code>uri_delims.h</code> to the directory
+ <code>\httpd\srclib\apr-util\uri</code> on the build machine.</li>
+
+ <li>Change directory to <code>\httpd\srclib\apr</code> and build APR
+ by running "<code>gmake -f nwgnumakefile</code>"</li>
+
+ <li>Change directory to <code>\httpd\srclib\pcre</code> and build
+ <code>DFTABLES.nlm</code> by running "<code>gmake -f nwgnumakefile</code>"</li>
+
+ <li>Change directory to <code>\httpd\server</code> and build
+ <code>GENCHARS.nlm</code> by running "<code>gmake -f nwgnumakefile</code>"</li>
+
+ <li>Copy the files <code>GENCHARS.nlm</code> and <code>DFTABLES.nlm</code>
+ from their respective directories to the <code>SYS:</code> volume of a
+ NetWare server and run them using the following commands:
+ <example>
+ SYS:\genchars > sys:\test_char.h<br />
+ SYS:\dftables > sys:\chartables.c<br />
+ </example>
+ </li>
+
+ <li>Copy the files <code>test_char.h</code> and <code>chartables.c</code>
+ to the directory <code>\httpd\os\netware</code> on the build machine.</li>
+
+ <li>Change directory to <code>\httpd</code> and build Apache by running
+ "<code>gmake -f nwgnumakefile</code>". You can create a distribution directory by
+ adding an install parameter to the command, for example:
+ <example>gmake -f nwgnumakefile install</example>
+ </li>
+ </ul>
+
+ </section>
+
+ <section id="comp-add">
+
+ <title>Additional make options</title>
+
+ <ul>
+ <li><code>gmake -f nwgnumakefile</code><br />Builds release versions of all of the
+ binaries and copies them to a <code>\release</code> destination directory.</li>
+
+ <li><code>gmake -f nwgnumakefile DEBUG=1</code><br />Builds debug versions of all of the
+ binaries and copies them to a <code>\debug</code> destination directory.</li>
+
+ <li><code>gmake -f nwgnumakefile install</code><br />Creates a complete Apache
+ distribution with binaries, docs and additional support files in a
+ <code>\dist\Apache2</code> directory.</li>
+
+ <li><code>gmake -f nwgnumakefile installdev</code><br />Same as install but also creates a
+ <code>\lib</code> and <code>\include</code> directory in the destination directory
+ and copies headers and import files.</li>
+
+ <li><code>gmake -f nwgnumakefile clean</code><br />Cleans all object files and binaries
+ from the <code>\release</code> or <code>\debug</code> build areas depending on whether
+ <code>DEBUG</code> has been defined.</li>
+
+ <li><code>gmake -f nwgnumakefile clobber_all</code><br />Same as clean and also deletes
+ the distribution directory if it exists.</li>
+ </ul>
+
+ </section>
+
+ </section>
+
+</manualpage>
+
+++ /dev/null
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-
-<html xmlns="http://www.w3.org/1999/xhtml">
- <head>
- <meta name="generator" content="HTML Tidy, see www.w3.org" />
-
- <title>Running a High-Performance Web Server on HPUX</title>
- </head>
- <!-- Background white, links blue (unvisited), navy (visited), red (active) -->
-
- <body bgcolor="#FFFFFF" text="#000000" link="#0000FF"
- vlink="#000080" alink="#FF0000">
- <a id="initial" name="initial"> </a>
- <!--#include virtual="header.html" -->
-
-
- <h1 align="center">Running a High-Performance Web Server for
- HPUX</h1>
-<pre>
-Date: Wed, 05 Nov 1997 16:59:34 -0800
-From: Rick Jones <<a
-href="mailto:raj@cup.hp.com">raj@cup.hp.com</a>>
-Reply-To: raj@cup.hp.com
-Organization: Network Performance
-Subject: HP-UX tuning tips
-</pre>
- Here are some tuning tips for HP-UX to add to the tuning page.
-
- <p>For HP-UX 9.X: Upgrade to 10.20<br />
- For HP-UX 10.[00|01|10]: Upgrade to 10.20</p>
-
- <p>For HP-UX 10.20:</p>
-
- <p>Install the latest cumulative ARPA Transport Patch. This
- will allow you to configure the size of the TCP connection
- lookup hash table. The default is 256 buckets and must be set
- to a power of two. This is accomplished with adb against the
- *disc* image of the kernel. The variable name is tcp_hash_size.
- Notice that it's critically important that you use "W" to write
- a 32 bit quantity, not "w" to write a 16 bit value when
- patching the disc image because the tcp_hash_size variable is a
- 32 bit quantity.</p>
-
- <p>How to pick the value? Examine the output of <a
- href="ftp://ftp.cup.hp.com/dist/networking/tools/connhist">ftp://ftp.cup.hp.com/dist/networking/tools/connhist</a>
- and see how many total TCP connections exist on the system. You
- probably want that number divided by the hash table size to be
- reasonably small, say less than 10. Folks can look at HP's
- SPECweb96 disclosures for some common settings. These can be
- found at <a
- href="http://www.specbench.org/">http://www.specbench.org/</a>.
- If an HP-UX system was performing at 1000 SPECweb96 connections
- per second, the TIME_WAIT time of 60 seconds would mean 60,000
- TCP "connections" being tracked.</p>
-
- <p>Folks can check their listen queue depths with <a
- href="ftp://ftp.cup.hp.com/dist/networking/misc/listenq">ftp://ftp.cup.hp.com/dist/networking/misc/listenq</a>.</p>
-
- <p>If folks are running Apache on a PA-8000 based system, they
- should consider "chatr'ing" the Apache executable to have a
- large page size. This would be "chatr +pi L <BINARY>."
- The GID of the running executable must have MLOCK privileges.
- Setprivgrp(1m) should be consulted for assigning MLOCK. The
- change can be validated by running Glance and examining the
- memory regions of the server(s) to make sure that they show a
- non-trivial fraction of the text segment being locked.</p>
-
- <p>If folks are running Apache on MP systems, they might
- consider writing a small program that uses mpctl() to bind
- processes to processors. A simple pid % numcpu algorithm is
- probably sufficient. This might even go into the source
- code.</p>
-
- <p>If folks are concerned about the number of FIN_WAIT_2
- connections, they can use nettune to shrink the value of
- tcp_keepstart. However, they should be careful there -
- certainly do not make it less than oh two to four minutes. If
- tcp_hash_size has been set well, it is probably OK to let the
- FIN_WAIT_2's take longer to timeout (perhaps even the default
- two hours) - they will not on average have a big impact on
- performance.</p>
-
- <p>There are other things that could go into the code base, but
- that might be left for another email. Feel free to drop me a
- message if you or others are interested.</p>
-
- <p>sincerely,</p>
-
- <p>rick jones<br />
- <a
- href="http://www.cup.hp.com/netperf/NetperfPage.html">http://www.cup.hp.com/netperf/NetperfPage.html</a></p>
- <hr />
-
- <h3 align="center">Apache HTTP Server Version 1.3</h3>
- <a href="./"><img src="../images/index.gif" alt="Index" /></a>
- <a href="../"><img src="../images/home.gif" alt="Home" /></a>
- </body>
-</html>
-
--- /dev/null
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en"><head><!--
+ XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
+ This file is generated from xml source: DO NOT EDIT
+ XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
+ --><title>Running a High-Performance Web Server on HPUX - Apache HTTP Server</title><link href="../style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" /><link href="../style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" /><link href="../style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" /><link href="../images/favicon.ico" rel="shortcut icon" /></head><body id="manual-page"><div id="page-header"><p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="../faq/">FAQ</a> | <a href="../glossary.html">Glossary</a> | <a href="../sitemap.html">Sitemap</a></p><p class="apache">Apache HTTP Server Version 2.0</p><img alt="" src="../images/feather.gif" /></div><div class="up"><a href="./"><img title="<-" alt="<-" src="../images/left.gif" /></a></div><div id="path"><a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">HTTP Server</a> > <a href="http://httpd.apache.org/docs-project/">Documentation</a> > <a href="../">Version 2.0</a></div><div id="page-content"><div id="preamble"><h1>Running a High-Performance Web Server on HPUX</h1>
+
+<pre>
+Date: Wed, 05 Nov 1997 16:59:34 -0800
+From: Rick Jones <<a href="mailto:raj@cup.hp.com">raj@cup.hp.com</a>>
+Reply-To: <a href="mailto:raj@cup.hp.com">raj@cup.hp.com</a>
+Organization: Network Performance
+Subject: HP-UX tuning tips
+</pre>
+
+ <p>Here are some tuning tips for HP-UX to add to the tuning page.</p>
+
+ <p>For HP-UX 9.X: Upgrade to 10.20<br />
+ For HP-UX 10.[00|01|10]: Upgrade to 10.20</p>
+
+ <p>For HP-UX 10.20:</p>
+
+ <p>Install the latest cumulative ARPA Transport Patch. This
+ will allow you to configure the size of the TCP connection
+ lookup hash table. The default is 256 buckets and must be set
+ to a power of two. This is accomplished with adb against the
+ *disc* image of the kernel. The variable name is <code>tcp_hash_size</code>.
+ Notice that it's critically important that you use "<code>W</code>"
+ to write a 32 bit quantity, not "<code>w</code>" to write a 16 bit
+ value when patching the disc image because the <code>tcp_hash_size</code>
+ variable is a 32 bit quantity.</p>
+
+ <p>How to pick the value? Examine the output of <a href="ftp://ftp.cup.hp.com/dist/networking/tools/connhist">ftp://ftp.cup.hp.com/dist/networking/tools/connhist</a>
+ and see how many total TCP connections exist on the system. You
+ probably want that number divided by the hash table size to be
+ reasonably small, say less than 10. Folks can look at HP's
+ SPECweb96 disclosures for some common settings. These can be
+ found at <a href="http://www.specbench.org/">http://www.specbench.org/</a>.
+ If an HP-UX system was performing at 1000 SPECweb96 connections
+ per second, the <code>TIME_WAIT</code> time of 60 seconds would mean
+ 60,000 TCP "connections" being tracked.</p>
+
+ <p>Folks can check their listen queue depths with <a href="ftp://ftp.cup.hp.com/dist/networking/misc/listenq">ftp://ftp.cup.hp.com/dist/networking/misc/listenq</a>.</p>
+
+ <p>If folks are running Apache on a PA-8000 based system, they
+ should consider "chatr'ing" the Apache executable to have a
+ large page size. This would be "<code>chatr +pi L <BINARY></code>".
+ The GID of the running executable must have <code>MLOCK</code> privileges.
+ <code>Setprivgrp(1m)</code> should be consulted for assigning
+ <code>MLOCK</code>. The change can be validated by running Glance
+ and examining the memory regions of the server(s) to make sure that
+ they show a non-trivial fraction of the text segment being locked.</p>
+
+ <p>If folks are running Apache on MP systems, they might
+ consider writing a small program that uses <code>mpctl()</code>
+ to bind processes to processors. A simple <code>pid % numcpu</code>
+ algorithm is probably sufficient. This might even go into the
+ source code.</p>
+
+ <p>If folks are concerned about the number of <code>FIN_WAIT_2</code>
+ connections, they can use nettune to shrink the value of
+ <code>tcp_keepstart</code>. However, they should be careful there -
+ certainly do not make it less than oh two to four minutes. If
+ <code>tcp_hash_size</code> has been set well, it is probably OK to
+ let the <code>FIN_WAIT_2</code>'s take longer to timeout (perhaps
+ even the default two hours) - they will not on average have a big
+ impact on performance.</p>
+
+ <p>There are other things that could go into the code base, but
+ that might be left for another email. Feel free to drop me a
+ message if you or others are interested.</p>
+
+ <p>sincerely,</p>
+
+ <p>rick jones</p>
+
+ <p><a href="http://www.cup.hp.com/netperf/NetperfPage.html">http://www.cup.hp.com/netperf/NetperfPage.html</a></p>
+
+ </div></div><div id="footer"><p class="apache">Maintained by the <a href="http://httpd.apache.org/docs-project/">Apache HTTP Server Documentation Project</a></p><p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="../faq/">FAQ</a> | <a href="../glossary.html">Glossary</a> | <a href="../sitemap.html">Sitemap</a></p></div></body></html>
\ No newline at end of file
--- /dev/null
+<?xml version="1.0" encoding="UTF-8" ?>
+<!DOCTYPE manualpage SYSTEM "../style/manualpage.dtd">
+<?xml-stylesheet type="text/xsl" href="../style/manual.en.xsl"?>
+
+<manualpage>
+ <relativepath href=".." />
+
+ <title>Running a High-Performance Web Server on HPUX</title>
+
+ <summary>
+
+<pre>
+Date: Wed, 05 Nov 1997 16:59:34 -0800
+From: Rick Jones <<a
+href="mailto:raj@cup.hp.com">raj@cup.hp.com</a>>
+Reply-To: <a href="mailto:raj@cup.hp.com"
+>raj@cup.hp.com</a>
+Organization: Network Performance
+Subject: HP-UX tuning tips
+</pre>
+
+ <p>Here are some tuning tips for HP-UX to add to the tuning page.</p>
+
+ <p>For HP-UX 9.X: Upgrade to 10.20<br />
+ For HP-UX 10.[00|01|10]: Upgrade to 10.20</p>
+
+ <p>For HP-UX 10.20:</p>
+
+ <p>Install the latest cumulative ARPA Transport Patch. This
+ will allow you to configure the size of the TCP connection
+ lookup hash table. The default is 256 buckets and must be set
+ to a power of two. This is accomplished with adb against the
+ *disc* image of the kernel. The variable name is <code>tcp_hash_size</code>.
+ Notice that it's critically important that you use "<code>W</code>"
+ to write a 32 bit quantity, not "<code>w</code>" to write a 16 bit
+ value when patching the disc image because the <code>tcp_hash_size</code>
+ variable is a 32 bit quantity.</p>
+
+ <p>How to pick the value? Examine the output of <a
+ href="ftp://ftp.cup.hp.com/dist/networking/tools/connhist"
+ >ftp://ftp.cup.hp.com/dist/networking/tools/connhist</a>
+ and see how many total TCP connections exist on the system. You
+ probably want that number divided by the hash table size to be
+ reasonably small, say less than 10. Folks can look at HP's
+ SPECweb96 disclosures for some common settings. These can be
+ found at <a
+ href="http://www.specbench.org/">http://www.specbench.org/</a>.
+ If an HP-UX system was performing at 1000 SPECweb96 connections
+ per second, the <code>TIME_WAIT</code> time of 60 seconds would mean
+ 60,000 TCP "connections" being tracked.</p>
+
+ <p>Folks can check their listen queue depths with <a
+ href="ftp://ftp.cup.hp.com/dist/networking/misc/listenq"
+ >ftp://ftp.cup.hp.com/dist/networking/misc/listenq</a>.</p>
+
+ <p>If folks are running Apache on a PA-8000 based system, they
+ should consider "chatr'ing" the Apache executable to have a
+ large page size. This would be "<code>chatr +pi L <BINARY></code>".
+ The GID of the running executable must have <code>MLOCK</code> privileges.
+ <code>Setprivgrp(1m)</code> should be consulted for assigning
+ <code>MLOCK</code>. The change can be validated by running Glance
+ and examining the memory regions of the server(s) to make sure that
+ they show a non-trivial fraction of the text segment being locked.</p>
+
+ <p>If folks are running Apache on MP systems, they might
+ consider writing a small program that uses <code>mpctl()</code>
+ to bind processes to processors. A simple <code>pid % numcpu</code>
+ algorithm is probably sufficient. This might even go into the
+ source code.</p>
+
+ <p>If folks are concerned about the number of <code>FIN_WAIT_2</code>
+ connections, they can use nettune to shrink the value of
+ <code>tcp_keepstart</code>. However, they should be careful there -
+ certainly do not make it less than oh two to four minutes. If
+ <code>tcp_hash_size</code> has been set well, it is probably OK to
+ let the <code>FIN_WAIT_2</code>'s take longer to timeout (perhaps
+ even the default two hours) - they will not on average have a big
+ impact on performance.</p>
+
+ <p>There are other things that could go into the code base, but
+ that might be left for another email. Feel free to drop me a
+ message if you or others are interested.</p>
+
+ <p>sincerely,</p>
+
+ <p>rick jones</p>
+
+ <p><a href="http://www.cup.hp.com/netperf/NetperfPage.html"
+ >http://www.cup.hp.com/netperf/NetperfPage.html</a></p>
+
+ </summary>
+
+</manualpage>
+
+