github.com/krum110487/go-htaccess@v0.0.0-20240316004156-60641c8e7598/tests/data/apache_2_2_34/manual/platform/netware.html.en (about)

     1  <?xml version="1.0" encoding="ISO-8859-1"?>
     2  <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
     3  <html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en"><head>
     4  <meta content="text/html; charset=ISO-8859-1" http-equiv="Content-Type" />
     5  <!--
     6          XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
     7                This file is generated from xml source: DO NOT EDIT
     8          XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
     9        -->
    10  <title>Using Apache With Novell NetWare - Apache HTTP Server Version 2.2</title>
    11  <link href="../style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" />
    12  <link href="../style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" />
    13  <link href="../style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" /><link rel="stylesheet" type="text/css" href="../style/css/prettify.css" />
    14  <script src="../style/scripts/prettify.min.js" type="text/javascript">
    15  </script>
    16  
    17  <link href="../images/favicon.ico" rel="shortcut icon" /><link href="http://httpd.apache.org/docs/current/platform/netware.html" rel="canonical" /></head>
    18  <body id="manual-page"><div id="page-header">
    19  <p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossary</a> | <a href="../sitemap.html">Sitemap</a></p>
    20  <p class="apache">Apache HTTP Server Version 2.2</p>
    21  <img alt="" src="../images/feather.gif" /></div>
    22  <div class="up"><a href="./"><img title="&lt;-" alt="&lt;-" src="../images/left.gif" /></a></div>
    23  <div id="path">
    24  <a href="http://www.apache.org/">Apache</a> &gt; <a href="http://httpd.apache.org/">HTTP Server</a> &gt; <a href="http://httpd.apache.org/docs/">Documentation</a> &gt; <a href="../">Version 2.2</a> &gt; <a href="./">Platform Specific Notes</a></div><div id="page-content"><div class="retired"><h4>Please note</h4>
    25              <p> This document refers to a legacy release (<strong>2.2</strong>) of Apache httpd. The active release (<strong>2.4</strong>) is documented <a href="http://httpd.apache.org/docs/current">here</a>. If you have not already upgraded, please follow <a href="http://httpd.apache.org/docs/current/upgrading.html">this link</a> for more information.</p>
    26          <p>You may follow <a href="http://httpd.apache.org/docs/current/platform/netware.html">this link</a> to go to the current version of this document.</p></div><div id="preamble"><h1>Using Apache With Novell NetWare</h1>
    27  <div class="toplang">
    28  <p><span>Available Languages: </span><a href="../en/platform/netware.html" title="English">&nbsp;en&nbsp;</a> |
    29  <a href="../ko/platform/netware.html" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a></p>
    30  </div>
    31  
    32  
    33      <p>This document explains how to install, configure and run
    34      Apache 2.0 under Novell NetWare 6.0 and above. If you find any bugs,
    35      or wish to contribute in other ways, please use our
    36      <a href="http://httpd.apache.org/bug_report.html">bug reporting
    37      page.</a></p>
    38  
    39      <p>The bug reporting page and dev-httpd mailing list are <em>not</em>
    40      provided to answer questions about configuration or running Apache.
    41      Before you submit a bug report or request, first consult this document, the
    42      <a href="http://wiki.apache.org/httpd/FAQ">Frequently Asked Questions</a> page and the other
    43      relevant documentation topics. If you still have a question or problem,
    44      post it to the <a href="news://developer-forums.novell.com/novell.devsup.webserver">
    45      novell.devsup.webserver</a> newsgroup, where many Apache users are more than
    46      willing to answer new and obscure questions about using Apache on NetWare.</p>
    47  
    48      <p>Most of this document assumes that you are installing Apache
    49      from a binary distribution. If you want to compile Apache
    50      yourself (possibly to help with development, or to track down
    51      bugs), see the section on <a href="#comp">Compiling Apache for
    52      NetWare</a> below.</p>
    53  
    54    </div>
    55  <div id="quickview"><ul id="toc"><li><img alt="" src="../images/down.gif" /> <a href="#req">Requirements</a></li>
    56  <li><img alt="" src="../images/down.gif" /> <a href="#down">Downloading Apache for NetWare</a></li>
    57  <li><img alt="" src="../images/down.gif" /> <a href="#inst">Installing Apache for NetWare</a></li>
    58  <li><img alt="" src="../images/down.gif" /> <a href="#run">Running Apache for NetWare</a></li>
    59  <li><img alt="" src="../images/down.gif" /> <a href="#use">Configuring Apache for NetWare</a></li>
    60  <li><img alt="" src="../images/down.gif" /> <a href="#comp">Compiling Apache for NetWare</a></li>
    61  </ul><ul class="seealso"><li><a href="#comments_section">Comments</a></li></ul></div>
    62  <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
    63  <div class="section">
    64  <h2><a name="req" id="req">Requirements</a></h2>
    65  
    66      
    67  
    68      <p>Apache 2.0 is designed to run on NetWare 6.0 service pack 3 
    69      and above. If you are running a service pack less
    70      than SP3, you must install the latest 
    71      <a href="http://developer.novell.com/ndk/libc.htm">NetWare Libraries
    72      for C (LibC)</a>.</p>
    73  
    74      <p>NetWare service packs are available <a href="http://support.novell.com/misc/patlst.htm#nw">here</a>.</p>
    75  
    76      <p>Apache 2.0 for NetWare can also be run in a NetWare 5.1 environment
    77      as long as the latest service pack or the latest version
    78      of the <a href="http://developer.novell.com/ndk/libc.htm">NetWare Libraries
    79      for C (LibC)</a> has been installed .  <strong>WARNING:</strong> Apache 2.0 
    80      for NetWare has not been targeted for or tested in this environment.</p>
    81  
    82    </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
    83  <div class="section">
    84  <h2><a name="down" id="down">Downloading Apache for NetWare</a></h2>
    85  
    86      
    87  
    88      <p>Information on the latest version of Apache can be found on
    89      the Apache web server at <a href="http://www.apache.org/">http://www.apache.org/</a>. This
    90      will list the current release, any more recent alpha or
    91      beta-test releases, together with details of mirror web and
    92      anonymous ftp sites. Binary builds of the latest releases of
    93      Apache 2.0 for NetWare can be downloaded from 
    94      <a href="http://www.apache.org/dist/httpd/binaries/netware">here</a>.</p>
    95  
    96    </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
    97  <div class="section">
    98  <h2><a name="inst" id="inst">Installing Apache for NetWare</a></h2>
    99  
   100      
   101  
   102      <p>There is no Apache install program for NetWare currently. If you
   103      are building Apache 2.0 for NetWare from source, you will need to 
   104      copy the files over to the server manually.</p>
   105  
   106      <p>Follow these steps to install Apache on NetWare from the
   107      binary download (assuming you will install to
   108      <code>sys:/apache2</code>):</p>
   109  
   110      <ul>
   111        <li>Unzip the binary download file to the root of the <code>SYS:</code>
   112        volume (may be installed to any volume)</li>
   113  
   114        <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> along with any file path values
   115        to reflect your correct server settings</li>
   116  
   117        <li>Add <code>SYS:/APACHE2</code> to the search path, for example:
   118          <div class="example"><p><code>SEARCH ADD SYS:\APACHE2</code></p></div>
   119        </li>
   120  
   121      </ul>
   122  
   123      <p>Follow these steps to install Apache on NetWare manually
   124      from your own build source (assuming you will install to
   125      <code>sys:/apache2</code>):</p>
   126  
   127      <ul>
   128        <li>Create a directory called <code>Apache2</code> on a
   129        NetWare volume</li>
   130  
   131        <li>Copy <code>APACHE2.NLM</code>, <code>APRLIB.NLM</code>
   132        to <code>SYS:/APACHE2</code></li>
   133  
   134        <li>Create a directory under <code>SYS:/APACHE2</code>
   135        called <code>BIN</code></li>
   136  
   137        <li>Copy <code>HTDIGEST.NLM</code>, <code>HTPASSWD.NLM</code>, 
   138        <code>HTDBM.NLM</code>, <code>LOGRES.NLM</code>, <code>ROTLOGS.NLM</code>
   139        to <code>SYS:/APACHE2/BIN</code></li>
   140  
   141        <li>Create a directory under <code>SYS:/APACHE2</code>
   142        called <code>CONF</code></li>
   143  
   144        <li>Copy the <code>HTTPD-STD.CONF</code> file to the
   145        <code>SYS:/APACHE2/CONF</code> directory and rename to
   146        <code>HTTPD.CONF</code></li>
   147  
   148        <li>Copy the <code>MIME.TYPES</code>, <code>CHARSET.CONV</code> and 
   149        <code>MAGIC</code> files to <code>SYS:/APACHE2/CONF</code> directory</li>
   150  
   151        <li>Copy all files and subdirectories in <code>\HTTPD-2.0\DOCS\ICONS</code>
   152        to <code>SYS:/APACHE2/ICONS</code></li>
   153  
   154        <li>Copy all files and subdirectories in <code>\HTTPD-2.0\DOCS\MANUAL</code>
   155        to <code>SYS:/APACHE2/MANUAL</code></li>
   156  
   157        <li>Copy all files and subdirectories in <code>\HTTPD-2.0\DOCS\ERROR</code>
   158        to <code>SYS:/APACHE2/ERROR</code></li>
   159  
   160        <li>Copy all files and subdirectories in <code>\HTTPD-2.0\DOCS\DOCROOT</code>
   161        to <code>SYS:/APACHE2/HTDOCS</code></li>
   162  
   163        <li>Create the directory <code>SYS:/APACHE2/LOGS</code>
   164        on the server</li>
   165  
   166        <li>Create the directory <code>SYS:/APACHE2/CGI-BIN</code>
   167        on the server</li>
   168  
   169        <li>Create the directory <code>SYS:/APACHE2/MODULES</code>
   170        and copy all nlm modules into the <code>modules</code> directory</li>
   171  
   172        <li>Edit the <code>HTTPD.CONF</code> file searching for all
   173        <code>@@Value@@</code> markers and replacing them with the
   174        appropriate setting</li>
   175  
   176        <li>Add <code>SYS:/APACHE2</code> to the search path, for example:
   177          <div class="example"><p><code>SEARCH ADD SYS:\APACHE2</code></p></div>
   178        </li>
   179      </ul>
   180  
   181      <p>Apache may be installed to other volumes besides the default <code>SYS</code> volume.</p>
   182  
   183      <p>During the build process, adding the keyword "install" to the makefile command line
   184      will automatically produce a complete distribution package under the subdirectory 
   185      <code>DIST</code>. Install Apache by simply copying the distribution that was produced 
   186      by the makfiles to the root of a NetWare volume (see: <a href="#comp">Compiling Apache for 
   187      NetWare</a> below).</p>
   188  
   189    </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
   190  <div class="section">
   191  <h2><a name="run" id="run">Running Apache for NetWare</a></h2>
   192  
   193      
   194  
   195      <p>To start Apache just type <code>apache</code> at the
   196      console. This will load apache in the OS address space. If you
   197      prefer to load Apache in a protected address space you may
   198      specify the address space with the load statement as follows:</p>
   199  
   200      <div class="example"><p><code>
   201        load address space = apache2 apache2
   202      </code></p></div>
   203  
   204      <p>This will load Apache into an address space called apache2.
   205      Running multiple instances of Apache concurrently on NetWare is
   206      possible by loading each instance into its own protected
   207      address space.</p>
   208  
   209      <p>After starting Apache, it will be listening to port 80
   210      (unless you changed the <code class="directive"><a href="../mod/mpm_common.html#listen">Listen</a></code>
   211      directive in the configuration files).
   212      To connect to the server and access the default page,
   213      launch a browser and enter the server's name or address. This
   214      should respond with a welcome page, and a link to the Apache
   215      manual. If nothing happens or you get an error, look in the
   216      <code>error_log</code> file in the <code>logs</code>
   217      directory.</p>
   218  
   219      <p>Once your basic installation is working, you should
   220      configure it properly by editing the files in the
   221      <code>conf</code> directory.</p>
   222  
   223      <p>To unload Apache running in the OS address space just type
   224      the following at the console:</p>
   225  
   226      <div class="example"><p><code>
   227        unload apache2
   228      </code></p></div>
   229  
   230      <p>or</p>
   231  
   232      <div class="example"><p><code>
   233        apache2 shutdown
   234      </code></p></div>
   235  
   236      <p>If apache is running in a protected address space specify the
   237      address space in the unload statement:</p>
   238  
   239      <div class="example"><p><code>
   240        unload address space = apache2 apache2
   241      </code></p></div>
   242  
   243      <p>When working with Apache it is important to know how it will
   244      find the configuration files. You can specify a configuration
   245      file on the command line in two ways:</p>
   246  
   247      <ul>
   248        <li><code>-f</code> specifies a path to a particular
   249        configuration file</li>
   250      </ul>
   251  
   252      <div class="example"><p><code>
   253        apache2 -f "vol:/my server/conf/my.conf"
   254      </code></p></div>
   255  
   256      <div class="example"><p><code>
   257        apache -f test/test.conf
   258      </code></p></div>
   259  
   260      <p>In these cases, the proper <code class="directive"><a href="../mod/core.html#serverroot">ServerRoot</a></code>
   261      should be set in the configuration file.</p>
   262  
   263      <p>If you don't specify a configuration file name with <code>-f</code>,
   264      Apache will use the file name compiled into the server, usually
   265      <code>conf/httpd.conf</code>. Invoking Apache with the <code>-V</code>
   266      switch will display this value labeled as <code>SERVER_CONFIG_FILE</code>.
   267      Apache will then determine its <code class="directive"><a href="../mod/core.html#serverroot">ServerRoot</a></code>
   268      by trying the following, in this order:</p>
   269  
   270      <ul>
   271        <li>A <code>ServerRoot</code> directive via a
   272        <code>-C</code> switch.</li>
   273  
   274        <li>The <code>-d</code> switch on the command line.</li>
   275  
   276        <li>Current working directory</li>
   277  
   278        <li>The server root compiled into the server.</li>
   279      </ul>
   280  
   281      <p>The server root compiled into the server is usually <code>sys:/apache2</code>.
   282      invoking apache with the <code>-V</code> switch will display this value labeled as
   283      <code>HTTPD_ROOT</code>.</p>
   284  
   285      <p>Apache 2.0 for NetWare includes a set of command line directives that can
   286      be used to modify or display information about the running instance of the
   287      web server. These directives are only available while Apache is running. Each 
   288      of these directives must be preceded by the keyword <code>APACHE2</code>.</p>
   289  
   290      <dl>
   291        <dt>RESTART</dt>
   292        <dd>Instructs Apache to terminate all running worker
   293        threads as they become idle, reread the configuration file and restart each
   294        worker thread based on the new configuration.</dd>
   295  
   296        <dt>VERSION</dt>
   297        <dd>Displays version information about the currently
   298        running instance of Apache.</dd>
   299  
   300        <dt>MODULES</dt>
   301        <dd>Displays a list of loaded modules both built-in
   302        and external.</dd>
   303  
   304        <dt>DIRECTIVES</dt>
   305        <dd>Displays a list of all available directives.</dd>
   306  
   307        <dt>SETTINGS</dt>
   308        <dd>Enables or disables the thread status display
   309        on the console. When enabled, the state of each running threads is displayed 
   310        on the Apache console screen.</dd>
   311  
   312        <dt>SHUTDOWN</dt>
   313        <dd>Terminates the running instance of the Apache
   314        web server.</dd>
   315  
   316        <dt>HELP</dt>
   317        <dd>Describes each of the runtime directives.</dd>
   318      </dl>
   319  
   320      <p>By default these directives are issued against the instance of Apache running
   321      in the OS address space. To issue a directive against a specific instance running
   322      in a protected address space, include the -p parameter along with the name of the
   323      address space. For more information type "apache2 Help" on the command line.</p>
   324  
   325    </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
   326  <div class="section">
   327  <h2><a name="use" id="use">Configuring Apache for NetWare</a></h2>
   328  
   329      
   330  
   331      <p>Apache is configured by reading configuration files usually stored
   332      in the <code>conf</code> directory. These are the same as files used 
   333      to configure the Unix version, but there are a few different directives for
   334      Apache on NetWare. See the <a href="../mod/">Apache module
   335      documentation</a> for all the available directives.</p>
   336  
   337      <p>The main differences in Apache for NetWare are:</p>
   338  
   339      <ul>
   340        <li>
   341          <p>Because Apache for NetWare is multithreaded, it does not
   342          use a separate process for each request, as Apache does on some Unix
   343          implementations. Instead there are only threads running: a parent
   344          thread, and multiple child or worker threads which handle the requests.</p>
   345  
   346          <p>Therefore the "process"-management directives are different:</p>
   347  
   348          <p><code class="directive"><a href="../mod/mpm_common.html#maxrequestsperchild">MaxRequestsPerChild</a></code> -
   349          Like the Unix directive, this controls how many requests
   350          a worker thread will serve before exiting. The recommended default,
   351          <code>MaxRequestsPerChild 0</code>, causes the thread to continue servicing
   352          request indefinitely. It is recommended on NetWare, unless there is some
   353          specific reason, that this directive always remain set to <code>0</code>.</p>
   354  
   355          <p><code class="directive"><a href="../mod/mpm_common.html#startthreads">StartThreads</a></code> -
   356          This directive tells the server how many threads it should start initially.
   357          The recommended default is <code>StartThreads 50</code>.</p>
   358  
   359          <p><code class="directive"><a href="../mod/mpm_common.html#minsparethreads">MinSpareThreads</a></code> -
   360          This directive instructs the server to spawn additional worker threads
   361          if the number of idle threads ever falls below this value. The recommended
   362          default is <code>MinSpareThreads 10</code>.</p>
   363  
   364          <p><code class="directive"><a href="../mod/mpm_common.html#maxsparethreads">MaxSpareThreads</a></code> -
   365          This directive instructs the server to begin terminating worker threads
   366          if the number of idle threads ever exceeds this value. The recommended
   367          default is <code>MaxSpareThreads 100</code>.</p>
   368  
   369          <p><code class="directive"><a href="../mod/mpm_netware.html#maxthreads">MaxThreads</a></code> -
   370          This directive limits the total number of work threads to a maximum
   371          value. The recommended default is <code>ThreadsPerChild 250</code>.</p>
   372  
   373          <p><code class="directive"><a href="../mod/mpm_common.html#threadstacksize">ThreadStackSize</a></code> -
   374          This directive tells the server what size of stack to use
   375          for the individual worker thread. The recommended default
   376          is <code>ThreadStackSize 65536</code>.</p>
   377        </li>
   378  
   379        <li>
   380          <p>The directives that accept filenames as arguments must use 
   381          NetWare filenames instead of Unix names. However, because Apache 
   382          uses Unix-style names internally, forward slashes must be used 
   383          rather than backslashes. It is recommended that all rooted file paths 
   384          begin with a volume name. If omitted, Apache will assume the 
   385          <code>SYS:</code> volume which may not be correct.</p>
   386        </li>
   387  
   388        <li>
   389          <p>Apache for NetWare has the ability to load modules at
   390          runtime, without recompiling the server. If Apache is
   391          compiled normally, it will install a number of optional
   392          modules in the <code>\Apache2\modules</code> directory.
   393          To activate these, or other modules, the <code class="directive"><a href="../mod/mod_so.html#loadmodule">LoadModule</a></code> directive
   394          must be used. For example, to active the status module, use
   395          the following:</p>
   396  
   397          <div class="example"><p><code>
   398            LoadModule status_module modules/status.nlm
   399          </code></p></div>
   400  
   401          <p>Information on <a href="../mod/mod_so.html#creating">creating loadable
   402          modules</a> is also available.</p>
   403        </li>
   404      </ul>
   405  
   406      <h3><a name="use-add" id="use-add">Additional NetWare specific directives:</a></h3>
   407  
   408        
   409  
   410        <ul>
   411          <li><code class="directive"><a href="../mod/core.html#cgimapextension">CGIMapExtension</a></code> -
   412          This directive maps a CGI file extension to a script interpreter.</li>
   413        </ul>
   414        <ul>
   415          <li><code class="directive"><a href="../mod/mod_nw_ssl.html#securelisten">SecureListen</a></code> -
   416          Enables SSL encryption for a specified port.</li>
   417        </ul>
   418        <ul>
   419          <li><code class="directive"><a href="../mod/mod_nw_ssl.html#nwssltrustedcerts">NWSSLTrustedCerts</a></code> -
   420          Adds trusted certificates that are used to create secure connections to proxied servers.</li>
   421        </ul>
   422        <ul>
   423          <li><code class="directive"><a href="../mod/mod_nw_ssl.html#nwsslupgradeable">NWSSLUpgradeable</a></code> -
   424          Allow a connection created on the specified address/port to be upgraded to an SSL connection.</li>
   425        </ul>
   426  
   427      
   428  
   429    </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
   430  <div class="section">
   431  <h2><a name="comp" id="comp">Compiling Apache for NetWare</a></h2>
   432  
   433      
   434  
   435      <p>Compiling Apache requires MetroWerks CodeWarrior 6.x or higher. Once 
   436      Apache has been built, it can be installed to the root of any NetWare 
   437      volume. The default is the <code>sys:/Apache2</code> directory.</p>
   438  
   439      <p>Before running the server you must fill out the <code>conf</code>
   440      directory. Copy the file <code>HTTPD-STD.CONF</code> from the distribution
   441      <code>conf</code> directory and rename it to <code>HTTPD.CONF</code>.
   442      Edit the <code>HTTPD.CONF</code> file searching for all <code>@@Value@@</code>
   443      markers and replacing them with the appropriate setting. Copy over
   444      the <code>conf/magic</code> and <code>conf/mime.types</code> files as well.
   445      Alternatively, a complete distribution can be built by including the keyword
   446      <code>install</code> when invoking the makefiles.</p>
   447  
   448      <h3><a name="comp-req" id="comp-req">Requirements:</a></h3>
   449  
   450        
   451  
   452        <p>The following development tools are required to build
   453        Apache 2.0 for NetWare:</p>
   454  
   455        <ul>
   456          <li>Metrowerks CodeWarrior 6.0 or higher with the
   457          <a href="http://developer.novell.com/ndk/cwpdk.htm">NetWare PDK 3.0</a>
   458          or higher.</li>
   459  
   460          <li><a href="http://developer.novell.com/ndk/libc.htm">NetWare Libraries
   461          for C (LibC)</a></li>
   462  
   463          <li><a href="http://developer.novell.com/ndk/cldap.htm">LDAP Libraries
   464          for C</a></li>
   465  
   466          <li><a href="http://www.gzip.org/zlib/">ZLIB Compression Library source code</a></li>
   467  
   468          <li>AWK utility (awk, gawk or similar). AWK can be downloaded from
   469          <a href="http://developer.novell.com/ndk/apache.htm">http://developer.novell.com/ndk/apache.htm</a>.
   470          The utility must be found in your windows path and must be named <code>awk.exe</code>.</li>
   471  
   472          <li>To build using the makefiles, you will need GNU make version 3.78.1 (GMake) available at
   473          <a href="http://developer.novell.com/ndk/apache.htm">http://developer.novell.com/ndk/apache.htm</a>.</li>
   474        </ul>
   475  
   476      
   477  
   478      <h3><a name="comp-make" id="comp-make">Building Apache using the NetWare makefiles:</a></h3>
   479  
   480        
   481  
   482        <ul>
   483          <li>Set the environment variable <code>NOVELLLIBC</code> to the
   484          location of the NetWare Libraries for C SDK, for example:
   485          <div class="example"><p><code>Set NOVELLLIBC=c:\novell\ndk\libc</code></p></div>
   486          </li>
   487  
   488          <li>Set the environment variable <code>METROWERKS</code> to the
   489          location where you installed the Metrowerks CodeWarrior compiler,
   490          for example:
   491          <div class="example"><p><code>Set METROWERKS=C:\Program Files\Metrowerks\CodeWarrior</code></p></div>
   492          If you installed to the default location <code>C:\Program
   493          Files\Metrowerks\CodeWarrior</code>, you don't need to set this.</li>
   494  
   495          <li>Set the environment variable <code>LDAPSDK</code> to the
   496          location where you installed the LDAP Libraries for C, for example:
   497          <div class="example"><p><code>Set LDAPSDK=c:\Novell\NDK\cldapsdk\NetWare\libc</code></p></div>
   498          </li>
   499  
   500          <li>Set the environment variable <code>ZLIBSDK</code> to the
   501          location where you installed the source code for the ZLib Library,
   502          for example:
   503          <div class="example"><p><code>Set ZLIBSDK=D:\NOVELL\zlib</code></p></div>
   504          </li>
   505          
   506          <li>Set the environment variable <code>AP_WORK</code> to the full path of
   507          the <code>httpd</code> source code directory.
   508          <div class="example"><p><code>Set AP_WORK=D:\httpd-2.0.x</code></p></div>
   509          </li>
   510  
   511          <li>Set the environment variable <code>APR_WORK</code> to the full path of
   512          the <code>apr</code> source code directory. Typically <code>\httpd\srclib\apr</code>
   513          but the APR project can be outside of the httpd directory structure.
   514          <div class="example"><p><code>Set APR_WORK=D:\apr-1.x.x</code></p></div>
   515          </li>
   516  
   517          <li>Set the environment variable <code>APU_WORK</code> to the full path of
   518          the <code>apr-util</code> source code directory. Typically <code>\httpd\srclib\apr-util</code>
   519          but the APR-UTIL project can be outside of the httpd directory structure.
   520          <div class="example"><p><code>Set APU_WORK=D:\apr-util-1.x.x</code></p></div>
   521          </li>
   522  
   523          <li>Make sure that the path to the AWK utility and the GNU make utility
   524          (<code>gmake.exe</code>) have been included in the system's
   525          <code>PATH</code> environment variable.</li>
   526  
   527          <li>Download the source code and unzip to an appropriate directory on
   528          your workstation.</li>
   529  
   530          <li>Change directory to <code>\httpd-2.0</code> and build the prebuild utilities
   531          by running "<code>gmake -f nwgnumakefile prebuild</code>". This target will create
   532          the directory <code>\httpd-2.0\nwprebuild</code> and copy each of the utilities 
   533          to this location that are necessary to complete the following build steps.
   534          </li>
   535  
   536          <li>Copy the files <code>\httpd-2.0\nwprebuild\GENCHARS.nlm</code> and 
   537          <code>\httpd-2.0\nwprebuild\DFTABLES.nlm</code> to the <code>SYS:</code> volume of a
   538          NetWare server and run them using the following commands:
   539            <div class="example"><p><code>
   540              SYS:\genchars &gt; sys:\test_char.h<br />
   541              SYS:\dftables sys:\chartables.c<br />
   542            </code></p></div>
   543          </li>
   544  
   545          <li>Copy the files <code>test_char.h</code> and <code>chartables.c</code>
   546          to the directory <code>\httpd-2.0\os\netware</code> on the build machine.</li>
   547  
   548          <li>Change directory to <code>\httpd-2.0</code> and build Apache by running
   549          "<code>gmake -f nwgnumakefile</code>". You can create a distribution directory by
   550          adding an install parameter to the command, for example:
   551          <div class="example"><p><code>gmake -f nwgnumakefile install</code></p></div>
   552          </li>
   553        </ul>
   554  
   555      
   556  
   557      <h3><a name="comp-add" id="comp-add">Additional make options</a></h3>
   558  
   559        
   560  
   561        <ul>
   562          <li><code>gmake -f nwgnumakefile</code><p>Builds release versions of all of the
   563          binaries and copies them to a <code>\release</code> destination directory.</p></li>
   564  
   565          <li><code>gmake -f nwgnumakefile DEBUG=1</code><p>Builds debug versions of all of the
   566          binaries and copies them to a <code>\debug</code> destination directory.</p></li>
   567  
   568          <li><code>gmake -f nwgnumakefile install</code><p>Creates a complete Apache
   569          distribution with binaries, docs and additional support files in a
   570          <code>\dist\Apache2</code> directory.</p></li>
   571  
   572          <li><code>gmake -f nwgnumakefile prebuild</code><p>Builds all of the prebuild utilities
   573          and copies them to the <code>\nwprebuild</code> directory.</p></li>
   574  
   575          <li><code>gmake -f nwgnumakefile installdev</code><p>Same as install but also creates a
   576          <code>\lib</code> and <code>\include</code> directory in the destination directory
   577          and copies headers and import files.</p></li>
   578  
   579          <li><code>gmake -f nwgnumakefile clean</code><p>Cleans all object files and binaries
   580          from the <code>\release.o</code> or <code>\debug.o</code> build areas depending on whether
   581          <code>DEBUG</code> has been defined.</p></li>
   582  
   583          <li><code>gmake -f nwgnumakefile clobber_all</code><p>Same as clean and also deletes
   584          the distribution directory if it exists.</p></li>
   585        </ul>
   586  
   587      
   588  
   589      <h3><a name="comp-add-env" id="comp-add-env">Additional environment variable options</a></h3>
   590  
   591        
   592  
   593        <ul>
   594          <li>To build all of the experimental modules, set the environment 
   595          variable <code>EXPERIMENTAL</code>:
   596          <div class="example"><p><code>Set EXPERIMENTAL=1</code></p></div>
   597          </li>
   598  
   599          <li>To build Apache using standard BSD style sockets rather than
   600          Winsock, set the environment variable <code>USE_STDSOCKETS</code>:
   601          <div class="example"><p><code>Set USE_STDSOCKETS=1</code></p></div>
   602          </li>
   603  
   604        </ul>
   605  
   606      
   607  
   608      <h3><a name="comp-mod_ssl" id="comp-mod_ssl">Building mod_ssl for the NetWare platform</a></h3>
   609  
   610        
   611  
   612        <p>By default Apache for NetWare uses the built-in module 
   613        <code class="module"><a href="../mod/mod_nw_ssl.html">mod_nw_ssl</a></code> to provide SSL services.  This module
   614        simply enables the native SSL services implemented in NetWare OS
   615        to handle all encryption for a given port.  Alternatively, mod_ssl
   616        can also be used in the same manner as on other platforms.</p>
   617  
   618        <p>Before mod_ssl can be built for the NetWare platform, the OpenSSL
   619        libraries must be provided.  This can be done through the following 
   620        steps:</p>
   621  
   622        <ul>
   623            <li>Download the recent OpenSSL 0.9.8 release source code from the
   624            <a href="http://www.openssl.org/source/">OpenSSL Source</a>
   625            page (older 0.9.7 versions need to be patched and are therefore not
   626            recommended).</li>
   627  
   628            <li>Edit the file <code>NetWare/set_env.bat</code> and modify any 
   629            tools and utilities paths so that they correspond to your build 
   630            environment.</li>
   631  
   632            <li>From the root of the OpenSSL source directory, run the following
   633            scripts:
   634            <div class="example"><p><code>
   635                Netware\set_env netware-libc<br />
   636                Netware\build netware-libc
   637            </code></p></div>
   638            For performance reasons you should enable to build with ASM code.
   639            Download NASM from the <a href="http://nasm.sourceforge.net/">SF site</a>.
   640            Then configure OpenSSL to use ASM code: 
   641            <div class="example"><p><code>
   642                Netware\build netware-libc nw-nasm enable-mdc2 enable-md5
   643            </code></p></div>
   644            Warning: dont use the CodeWarrior Assembler - it produces broken code!
   645            </li>
   646  
   647            <li>Before building Apache, set the environment variable
   648            <code>OSSLSDK</code> to the full path to the root of the openssl
   649            source code directory, and set WITH_MOD_SSL to 1.
   650            <div class="example"><p><code>
   651                Set OSSLSDK=d:\openssl-0.9.8x<br />
   652                Set WITH_MOD_SSL=1
   653            </code></p></div></li>
   654  
   655        </ul>
   656  
   657      
   658  
   659    </div></div>
   660  <div class="bottomlang">
   661  <p><span>Available Languages: </span><a href="../en/platform/netware.html" title="English">&nbsp;en&nbsp;</a> |
   662  <a href="../ko/platform/netware.html" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a></p>
   663  </div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Comments</a></h2><div class="warning"><strong>Notice:</strong><br />This is not a Q&amp;A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed again by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Freenode, or sent to our <a href="http://httpd.apache.org/lists.html">mailing lists</a>.</div>
   664  <script type="text/javascript"><!--//--><![CDATA[//><!--
   665  var comments_shortname = 'httpd';
   666  var comments_identifier = 'http://httpd.apache.org/docs/2.2/platform/netware.html';
   667  (function(w, d) {
   668      if (w.location.hostname.toLowerCase() == "httpd.apache.org") {
   669          d.write('<div id="comments_thread"><\/div>');
   670          var s = d.createElement('script');
   671          s.type = 'text/javascript';
   672          s.async = true;
   673          s.src = 'https://comments.apache.org/show_comments.lua?site=' + comments_shortname + '&page=' + comments_identifier;
   674          (d.getElementsByTagName('head')[0] || d.getElementsByTagName('body')[0]).appendChild(s);
   675      }
   676      else { 
   677          d.write('<div id="comments_thread">Comments are disabled for this page at the moment.<\/div>');
   678      }
   679  })(window, document);
   680  //--><!]]></script></div><div id="footer">
   681  <p class="apache">Copyright 2017 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
   682  <p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossary</a> | <a href="../sitemap.html">Sitemap</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!--
   683  if (typeof(prettyPrint) !== 'undefined') {
   684      prettyPrint();
   685  }
   686  //--><!]]></script>
   687  </body></html>