| <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN"> |
| <HTML> |
| <HEAD> |
| <TITLE>Using Apache with Novell NetWare 5</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 5</H1> |
| |
| <P>This document explains how to install, configure and run |
| Apache 1.3 under Novell NetWare 5. Please note that at |
| this time, NetWare support is entirely experimental, and is |
| recommended only for experienced users. The Apache Group does not |
| guarantee that this software will work as documented, or even at |
| all. If you find any bugs, or wish to contribute in other ways, please |
| use our <A HREF="http://www.apache.org/bug_report.html">bug reporting |
| page.</A></P> |
| |
| <P><STRONG>Warning: Apache on NetWare has not yet been optimized for performance. |
| Apache still performs best, and is most reliable on Unix platforms. Over |
| time we will improve NetWare performance. Folks doing comparative reviews |
| of webserver performance are asked to compare against Apache |
| on a Unix platform such as Solaris, FreeBSD, or Linux.</STRONG></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. |
| |
| <HR> |
| |
| <UL> |
| <LI><A HREF="#req">Requirements</A> |
| <LI><A HREF="#down">Downloading Apache for NetWare</A> |
| <LI><A HREF="#inst">Installing Apache for NetWare</A> |
| <LI><A HREF="#run">Running Apache for NetWare</A> |
| <LI><A HREF="#use">Using Apache for NetWare</A> |
| <LI><A HREF="#comp">Compiling Apache for NetWare</A> |
| </UL> |
| |
| <HR> |
| |
| <H2><A NAME="req">Requirements</A></H2> |
| |
| Apache 1.3 is designed to run on NetWare 5.0 and 5.1. |
| <P> |
| |
| <STRONG>If running on NetWare 5.0 you must install Service Pack 4.</STRONG> |
| |
| <P> |
| <P> |
| |
| Service pack 4 is available <A HREF="http://support.novell.com/misc/patlst.htm#nw">here.</A> |
| |
| <H2><A NAME="down">Downloading Apache for NetWare 5</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> |
| |
| <P> |
| <H2><A 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 (assuming you will install to sys:/apache): |
| |
| <UL> |
| <LI>Create a directory called <CODE>Apache</CODE> on a NetWare volume |
| <LI>Copy Apache.nlm, Apachec.nlm, htdigest.nlm, and htpasswd.nlm to sys:/apache |
| <LI>Create a directory under <CODE>sys:/Apache</CODE> called <CODE>conf</CODE> |
| <LI>Copy all the *.conf-dist-nw files to the <CODE>sys:/apache/conf</CODE> directory |
| and rename them all as *.conf files |
| <LI>Copy the mime.types and magic files to sys:/apache/conf directory |
| <LI>Copy all files and subdirectories of \apache-1.3\htdocs to sys:/apache/htdocs and |
| rename the proper index file (index.html.en) to index.html |
| <LI>Copy all files and subdirectories in \apache-1.3\icons to sys:/apache/icons |
| <LI>Create the directory sys:/apache/logs on the server |
| <LI>Create the directory sys:/apache/cgi-bin on the server |
| <LI>Create the directory sys:/apache/modules and copy all nlm modules built into the |
| modules directory |
| <LI>Edit the httpd.conf file setting ServerRoot and ServerName to reflect your correct |
| server settings |
| <LI>Add <CODE>sys:/apache</CODE> to the search path. EXAMPLE: search add sys:\apache |
| </UL> |
| |
| <P>Apache may be installed to other volumes besides the default <CODE>sys</CODE> volume. |
| |
| <H2><A 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: |
| <P> |
| <PRE> |
| load address space = apache apache |
| </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> |
| After starting Apache it will be listening to port 80 (unless you |
| changed the <SAMP>Port</SAMP>, <SAMP>Listen</SAMP> or |
| <SAMP>BindAddress</SAMP> directives 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> |
| |
| Once your basic installation is working, you should configure it |
| properly by editing the files in the <SAMP>conf</SAMP> directory. |
| |
| <P> |
| To unload Apache running in the OS address space just type the |
| following at the console: |
| <PRE> |
| unload apache |
| </PRE> |
| If apache is running in a protected address space specify the |
| address space in the unload statement: |
| <PRE> |
| unload address space = apache apache |
| </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: |
| |
| <UL> |
| <LI>-f specifies a path to a particular configuration file |
| </UL> |
| <PRE> apache -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: |
| |
| <UL> |
| <LI>A ServerRoot directive via a -C switch. |
| <LI>The -d switch on the command line. |
| <LI>Current working directory |
| <LI>The server root compiled into the server. |
| </UL> |
| |
| <P> |
| The server root compiled into the server is usually "sys:/apache". |
| invoking apache with the -V switch will display this value |
| labeled as HTTPD_ROOT. |
| |
| <H2><A 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="./">Apache documentation</A> for all the |
| available directives. |
| |
| <P> |
| |
| The main differences in Apache for NetWare are: |
| |
| <UL> |
| <LI><P>Because Apache for NetWare is multithreaded, it does not use a |
| separate process for each request, as Apache does with |
| Unix. Instead there are only threads running: a parent thread, and |
| a child which handles the requests. Within the child each request is |
| handled by a separate thread. |
| <P> |
| |
| So the "process"-management directives are different: |
| <P><A |
| HREF="mod/core.html#maxrequestsperchild">MaxRequestsPerChild</A> |
| - Like the Unix directive, this controls how many requests a |
| process will serve before exiting. However, unlike Unix, a |
| process serves all the requests at once, not just one, so if |
| this is set, it is recommended that a very high number is |
| used. The recommended default, <CODE>MaxRequestsPerChild |
| 0</CODE>, does not cause the process to ever exit. |
| <P><A HREF="mod/core.html#threadsperchild">ThreadsPerChild</A> - |
| This directive is new, and tells the server how many threads it |
| should use. This is the maximum number of connections the server |
| can handle at once; be sure and set this number high enough for |
| your site if you get a lot of hits. The recommended default is |
| <CODE>ThreadsPerChild 50</CODE>. |
| </P><A HREF="mod/core.html#threadstacksize">ThreadStackSize</A> - |
| This directive tells the server what size of stack to use for |
| the individual threads. The recommended default is |
| <CODE>ThreadStackSize 65536</CODE>. |
| <P> |
| <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. Volumes can be used; if omitted, the drive with the |
| Apache executable will be assumed.</P> |
| <LI><P>Apache for NetWare contains 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>\Apache\modules</CODE> directory. To activate these, or other |
| modules, the new <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 |
| </PRE> |
| <P>Information on <A HREF="mod/mod_so.html#creating">creating loadable |
| modules</A> is also available.</P> |
| </UL> |
| |
| <H2><A NAME="comp">Compiling Apache for NetWare</A></H2> |
| |
| <P>Compiling Apache requires MetroWerks CodeWarrior 5 to be properly |
| installed. |
| |
| <P>First, unpack the Apache distribution into an appropriate |
| directory. Then go to the <CODE>src</CODE> subdirectory of the Apache |
| distribution and unzip <CODE>ApacheNW.mcp.gz</CODE>. You may use a |
| recent version of WinZip to accomplish this or gzip for Windows. The main |
| Metrowerks project file for Apache <CODE>(ApacheNW.mcp)</CODE> is now ready |
| to use. Just double click on it from within explorer and it should |
| automatically launch MetroWerks CodeWarrior. |
| </P> |
| |
| <P>All major pieces of Apache may be built using the ApacheNW.mcp project |
| file. This includes modules such as status, info, and proxy. In addition, |
| the following project files have been provided as well: |
| <PRE> |
| /apache-1.3/src/support/htpasswd.mcp.gz |
| /apache-1.3/src/support/htdigest.mcp.gz |
| </PRE> |
| |
| </P> |
| <CODE>htpasswd.mcp.gz</CODE> and <CODE>htdigest.mcp.gz</CODE> will also need |
| to be unzipped before they can be used with MetroWerks CodeWarrior. |
| |
| <P>Once Apache has been compiled, it needs to be installed in its server |
| root directory. The default is the <CODE>sys:/Apache</CODE> |
| directory. </P> |
| <P> |
| Before running the server you must fill out the conf directory. |
| Copy the *.conf-dist-nw from the distribution conf directory |
| and rename *.conf. Edit the ServerRoot entries to your |
| actual server root (for example "sys:/apache"). Copy over |
| the conf/magic and conf/mime.types files as well. |
| |
| <!--#include virtual="footer.html" --> |
| </BODY> |
| </HTML> |
| |