diff options
19 files changed, 3 insertions, 4522 deletions
diff --git a/usr.sbin/httpd/htdocs/manual/ebcdic.html b/usr.sbin/httpd/htdocs/manual/ebcdic.html deleted file mode 100644 index 9424bf3a316..00000000000 --- a/usr.sbin/httpd/htdocs/manual/ebcdic.html +++ /dev/null @@ -1,374 +0,0 @@ -<!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>The Apache EBCDIC Port</title> - </head> - <!-- background white, links blue (unvisited), navy (visited), red (active) --> - - <body bgcolor="#ffffff" text="#000000" link="#0000ff" - vlink="#000080" alink="#ff0000"> - <div align="CENTER"> - <img src="images/sub.gif" alt="[APACHE DOCUMENTATION]" /> - - <h3>Apache HTTP Server</h3> - </div> - - - - <h1 align="center">Overview of the Apache EBCDIC Port</h1> - - <p>As of Version 1.3, the Apache HTTP Server includes a port to - (non-ASCII) mainframe machines which use the EBCDIC character - set as their native codeset.<br /> - (Initially, that support covered only the Fujitsu-Siemens - family of mainframes running the <a - href="http://www.fujitsu-siemens.com/rl/products/software/bs2000bc.html"> - BS2000/OSD operating system</a>, a mainframe OS which features - a SVR4-derived POSIX subsystem. Later, the two IBM mainframe - operating systems TPF and OS/390 were added).</p> - <hr /> - - <h2 align="center"><a id="ebcdic" name="ebcdic">EBCDIC-related - conversion functions</a></h2> - The EBCDIC related directives <a - href="mod/core.html#ebcdicconvert">EBCDICConvert</a>, <a - href="mod/core.html#ebcdicconvertbytype">EBCDICConvertByType</a>, - and <a href="mod/core.html#ebcdickludge">EBCDICKludge</a> are - available <b>only if the platform's character set is EBCDIC</b> - (This is currently only the case on Fujitsu-Siemens' BS2000/OSD - and IBM's OS/390 and TPF operating systems). EBCDIC stands for - <em>Extended Binary-Coded-Decimal Interchange Code</em> and is - the codeset used on mainframe machines, in contrast to ASCII - which is ubiquitous on almost all micro computers today. ASCII - (or its extension <em>latin1</em>) is the basis for the HTTP - transfer protocol, therefore all EBCDIC-based platforms need a - way to configure the code set conversion rules required between - the EBCDIC based mainframe host and the HTTP socket - protocol.<br /> - - - <p>On an EBCDIC based system, HTML files and other text files - are usually saved encoded in the native EBCDIC code set, while - image files and other binary data are stored with identical - encoding as on ASCII based machines. When the Apache server - accesses documents, it must therefore make a distinction - between text files (to be converted to/from ASCII, depending on - the transfer direction) and binary files (to be delivered - unconverted). Such a distinction can be made based on the - assigned MIME type, or based on the file extension - (<em>i.e.</em>, files sharing a common file suffix).</p> - - <p>By default, the configuration is symmetric for input and - output (<em>i.e.</em>, when a PUT request is executed for a - document which was returned by a previous GET request, then the - resulting uploaded copy should be identical to the original - file). However, the conversion directives allow for specifying - different conversions for input and output.</p> - - <p>The directives <a - href="mod/core.html#ebcdicconvert">EBCDICConvert</a> and <a - href="mod/core.html#ebcdicconvertbytype">EBCDICConvertByType</a> - are used to assign the conversion setting (On or Off) based on - file extensions or MIME types. Each configuration setting can - be defined for input only (<em>e.g.</em>, PUT method), output - only (<em>e.g.</em>, GET method), or both input and output. By - default, the conversion setting is applied for input and - output.</p> - - <p>Note that after modifying the conversion settings for a - group of files, it is not sufficient to restart the server. The - reason for this is the fact that a cached copy of a document - (in a browser or proxy cache) will not get revalidated by - contents, but only by date. Since the modification time of the - document did not change, browsers will assume they can reuse - the cached copy.<br /> - To recover from this situation, you must either clear all - cached copies (browser and proxy cache!), or update the - modification time of the documents (using the - <code>touch</code> command on the server).</p> - - <p>Note also that server-parsed documents (CGI scripts, .shtml - files, and other interpreted files like PHP scripts etc.) are - not subject to any input conversion and must therefore be - stored in EBCDIC form on the server side.</p> - - <p>In absense of any <a - href="mod/core.html#ebcdicconvertbytype">EBCDICConvertByType</a> - directive, and if no matching <a - href="mod/core.html#ebcdicconvert">EBCDICConvert</a> was found, - Apache falls back to an internal heuristic which assumes that - all documents with MIME types starting with - <samp>"text/"</samp>, <samp>"message/"</samp> or - <samp>"multipart/"</samp> as well as the MIME type - <samp>"application/x-www-form-urlencoded"</samp> are text - documents stored in EBCDIC, whereas all other documents are - binary files.</p> - - <p>In order to provide backward compatibility with older - versions of apache, the <a - href="mod/core.html#ebcdickludge">EBCDICKludge</a> directive - allows for a less powerful mechanism to control the conversion - of documents to and from EBCDIC.</p> - - <p><strong>Note</strong>:</p> - - <blockquote> - The EBCDICKludge directive is deprecated, since its - functionality is superseded by the more powerful <a - href="mod/core.html#ebcdicconvert">EBCDICConvert</a> and <a - href="mod/core.html#ebcdicconvertbytype">EBCDICConvertByType</a> - directives. - </blockquote> - <br /> - <br /> - - - <p>The directives are applied in the following order:</p> - - <ol> - <li>First, the configured <a - href="mod/core.html#ebcdicconvert">EBCDICConvert</a> - directives in the current context are evaluated in - configuration file order. As soon as a matching file - extension is found, the search stops and the configured - conversion is applied.<br /> - EBCDICConvert settings inherited from parent directories are - tested after the more specific (deeper) directory - levels.</li> - - <li>If the <a - href="mod/core.html#ebcdickludge">EBCDICKludge</a> is in - effect, the next step tests for a MIME type of the format - <samp><i>type/</i><b>x-ascii-</b><i>subtype</i></samp>. If - the document has such a type, then the - <samp>"<b>x-ascii-</b>"</samp> substring is removed and the - conversion set to <samp>Off</samp>.</li> - - <li>In the next step, the configured <a - href="mod/core.html#ebcdicconvertbytype">EBCDICConvertByType</a> - directives are evaluated in configuration file order. If the - document has a matching MIME type, the search stops and the - configured conversion is applied.<br /> - EBCDICConvertByType settings inherited from parent - directories are tested after the more specific (deeper) - directory levels.<br /> - If no <a - href="mod/core.html#ebcdicconvertbytype">EBCDICConvertByType</a> - directive at all exists in the current context, the server - falls back to the simple heuristics which assume that MIME - types starting with "text/", "message/" or "multipart/" (plus - the special type "application/x-www-form-urlencoded" used in - simple POST requests) imply a conversion, while all the rest - is delivered unconverted (<em>i.e.</em>, binary).</li> - </ol> - <br /> - <br /> - - <hr /> - - <h2 align="center"><a id="tech" name="tech">Technical - Details</a></h2> - - <p>Since all Apache input and output is based upon the BUFF - data type and its methods, the easiest solution was to add the - actual conversion to the BUFF handling routines. The conversion - must be settable at any time, so BUFF flags were added which - define whether a BUFF object has currently enabled conversion - or not. Two such flags exist: one for data read from the client - (ASCII to EBCDIC conversion) and one for data returned to the - client (EBCDIC to ASCII conversion).</p> - - <p>During sending of the header, Apache determines (based on - the returned MIME type for the request) whether conversion - should be used or the document returned unconverted. It uses - this decision to initialize the BUFF flag when the response - output begins. Modules should therefore determine the MIME type - for the current request before initiating the response by - calling ap_send_http_headers().</p> - - <p>The BUFF flag is modified at several points in the HTTP - protocol:</p> - - <ul> - <li><strong>set</strong> (In and Out) before a request is - received (because the request and the request header lines - are always in ASCII format)</li> - - <li><strong>set/unset</strong> (for Input data) when the - request body is received - depending on the content type of - the request body (because the request body may contain ASCII - text or a binary file)</li> - - <li><strong>set</strong> (for returned Output) before a - response header is sent (because the response header lines - are always in ASCII format)</li> - - <li><strong>set/unset</strong> (for returned Output) when the - response body is sent - depending on the content type of the - response body (because the response body may contain text or - a binary file)</li> - </ul> - Additional transparent transitions may occur for - extracting/inserting the HTTP/1.1 chunking information - from/into the input/output body data stream, and for generating - <em>multipart</em> headers for <em>range</em> requests. (See - RFC2616 and src/main/http_protocol.c for details.) - <hr /> - - <h2 align="center"><a id="port" name="port">Porting - Notes</a></h2> - - <ol> - <li> - The relevant changes in the source are #ifdef'ed into two - categories: - - <dl> - <dt><code><strong>#ifdef - CHARSET_EBCDIC</strong></code></dt> - - <dd>Code which is needed for any EBCDIC based machine. - This includes character translations, differences in - contiguity of the two character sets, flags which - indicate which part of the HTTP protocol has to be - converted and which part doesn't <em>etc.</em></dd> - - <dt><code><strong>#ifdef _OSD_POSIX | TPF | - OS390</strong></code></dt> - - <dd>Code which is needed for the Fujitsu-Siemens - BS2000/OSD | IBM TPF | IBM OS390 mainframe platforms - only. This deals with include file differences and socket - and fork implementation topics which are only required on - the respective platform.<br /> - </dd> - </dl> - </li> - - <li>The possibility to translate between ASCII and EBCDIC at - the socket level (on BS2000 POSIX, there is a socket option - which supports this) was intentionally <em>not</em> chosen, - because the byte stream at the HTTP protocol level consists - of a mixture of protocol related strings and non-protocol - related raw file data. HTTP protocol strings are always - encoded in ASCII (the GET request, any Header: lines, the - chunking information <em>etc.</em>) whereas the file transfer - parts (<em>i.e.</em>, GIF images, CGI output <em>etc.</em>) - should usually be just "passed through" by the server. This - separation between "protocol string" and "raw data" is - reflected in the server code by functions like bgets() or - rvputs() for strings, and functions like bwrite() for binary - data. A global translation of everything would therefore be - inadequate.<br /> - (In the case of text files of course, provisions must be - made so that EBCDIC documents are always served in - ASCII)<br /> - This port therefore features a built-in protocol level - conversion for the server-internal strings (which the - compiler translated to EBCDIC strings) and thus for all - server-generated documents.<br /> - </li> - - <li>By examining the call hierarchy for the BUFF management - routines, I added an "ebcdic/ascii conversion layer" which - would be crossed on every puts/write/get/gets, and conversion - flags which allowed enabling/disabling the conversions - on-the-fly. Usually, a document crosses this layer twice from - its origin source (a file or CGI output) to its destination - (the requesting client): <samp>file -> Apache</samp>, and - <samp>Apache -> client</samp>.<br /> - The server can now read the header lines of a CGI-script - output in EBCDIC format, and then find out that the remainder - of the script's output is in ASCII (like in the case of the - output of a WWW Counter program: the document body contains a - GIF image). All header processing is done in the native - EBCDIC format; the server then determines, based on the type - of document being served, whether the document body (except - for the chunking information, of course) is in ASCII already - or must be converted from EBCDIC.<br /> - </li> - - <li> - By default, Apache assumes that documents with the MIME - types "text/*", "message/*", "multipart/*" and - "application/x-www-form-urlencoded" are text documents and - are stored as EBCDIC files, whereas all other files are - binary files (and stored in a byte-identical encoding as on - an ASCII machine).<br /> - These defaults can be overridden on a <a - href="mod/core.html#ebcdicconvertbytype">by-MIME-type</a> - and/or <a - href="mod/core.html#ebcdicconvert">by-file-extension</a> - basis, using the directives -<pre> - <a -href="mod/core.html#ebcdicconvertbytype">EBCDICConvertByType</a> {On|Off}[={In|Out|InOut}] <em>mimetype</em> [...] - <a -href="mod/core.html#ebcdicconvert">EBCDICConvert</a> {On|Off}[={In|Out|InOut}] <em>fileext</em> [...] - -</pre> - where the <em>mimetype</em> argument may contain - wildcards.<br /> - </li> - - <li>Before adding the flexible conversion, non-text documents - were always served "binary" without conversion. This seemed - to be the most sensible choice for, .<em>e.g.</em>, - GIF/ZIP/AU file types (It of course requires the user to copy - them to the mainframe host using the "rcp -b" binary switch), - but proved to be inadequate for MIME types like - <samp>model/vrml</samp>, <samp>application/postscript</samp> - and <samp>application/x-javascript</samp>.<br /> - </li> - - <li>Server parsed files are always assumed to be in native - (<em>i.e.</em>, EBCDIC) format as used on the machine - (because they do not cross the conversion layer when being - read), and are converted after processing.<br /> - </li> - - <li>For CGI output, the CGI script determines whether a - conversion is needed or not: by setting the appropriate - Content-Type, text files can be converted, or GIF output can - be passed through unmodified (depending on the conversion - configured in the script's context).<br /> - </li> - </ol> - <hr /> - - <h2 align="center"><a id="store" name="store">Document Storage - Notes</a></h2> - - <h3 align="center">Binary Files</h3> - - <p>When exchanging binary files between the mainframe host and - a Unix machine or Windows PC, be sure to use the ftp "binary" - (<samp>TYPE I</samp>) command, or use the - <samp>rcp -b</samp> command from the mainframe host (the - -b switch is not supported in unix rcp's).</p> - - <h3 align="center">Text Documents</h3> - - <p>The default assumption of the server is that Text Files - (<em>i.e.</em>, all files whose <samp>Content-Type:</samp> - starts with <samp>text/</samp>) are stored in the native - character set of the host, EBCDIC.</p> - - <h3 align="center">Server Side Included Documents</h3> - - <p>SSI documents must currently be stored in EBCDIC only. No - provision is made to convert them from ASCII before processing. - The same holds for other interpreted languages, like mod_perl - or mod_php.</p> - <hr /> - - <h3 align="CENTER">Apache HTTP Server</h3> - <a href="./"><img src="images/index.gif" alt="Index" /></a> - - </body> -</html> - diff --git a/usr.sbin/httpd/htdocs/manual/index.html.html b/usr.sbin/httpd/htdocs/manual/index.html.html index f3188c84985..85406dd286b 100644 --- a/usr.sbin/httpd/htdocs/manual/index.html.html +++ b/usr.sbin/httpd/htdocs/manual/index.html.html @@ -147,22 +147,6 @@ <strong>Platform Specific Notes</strong> </td> </tr> - <tr> - <td><a href="netware.html">Novell Netware</a> - </td> - </tr> - - <tr> - <td><a href="mpeix.html">HP MPE/iX</a> </td> - </tr> - - <tr> - <td><a href="unixware.html">UnixWare</a> </td> - </tr> - - <tr> - <td><a href="readme-tpf.html">TPF</a> </td> - </tr> </table> </td> diff --git a/usr.sbin/httpd/htdocs/manual/install-tpf.html b/usr.sbin/httpd/htdocs/manual/install-tpf.html deleted file mode 100644 index 604ca4866e4..00000000000 --- a/usr.sbin/httpd/htdocs/manual/install-tpf.html +++ /dev/null @@ -1,701 +0,0 @@ -<!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 http-equiv="Content-Type" content="text/html; charset=iso-8859-1"/> - - <title>Installing Apache on TPF</title> - </head> - - <body> - <center> - <h2><a id="top" name="top"></a>Installing the Apache 1.3 HTTP - Server on TPF</h2> - </center> - <hr /> - - <center> - [ <a href="#download">Download</a> - | <a href="#compilation">Compilation</a> - | <a href="#installation">Installation</a> - | <a href="#visualage">VisualAge</a> ] - </center> - <hr /> - - <p>This document outlines the steps needed to install Apache - onto a TPF system.</p> - - <p>You should first read <a - href="readme-tpf.html">readme-tpf.html</a> for basic - information on the port of Apache to TPF including required PUT - level and supported modules.<br /> - <br /> - <br /> - </p> - - <center> - <h2><a id="download" name="download"></a>Download</h2> - </center> - Releases of the Apache server are compressed into a "tarball" - file which must be downloaded to your PC. Additionally the - source code from the tarball will need to be copied onto an - OS/390 UNIX System Services machine (later referred to simply - as "OS/390 UNIX") for compiling. Here are all the details on - how to get Apache and how to get it where it needs to be: - - <ol> - <li>Download the compressed Apache files (the "tarball") to - your PC. The file name on the web site will be something like - <tt>apache_1.3.<i>xx</i>.tar.Z</tt>.<br /> - <font color="#cc6600"><font size="+1">TIP:</font></font> Be - sure to keep the <tt>.tar.Z</tt> extension when choosing the - name of the PC file. <br /> - </li> - - <li> - Decompress the tarball on your PC using WinZip or some - other PC decompression tool.<br /> - <font color="#cc6600"><font size="+1">TIP:</font></font> - If you are using WinZip verify that the <i>"TAR File Smart - CR/LF Conversion"</i> option (under Options, Configuration) - is NOT checked.<br /> - This is what you can expect if you use WinZip: - - <ul> - <li>open the tarball with WinZip (this can usually be - done simply by double-clicking on the downloaded - tarball) </li> - - <li>you will be told that the archive contains one file - (such as apache_1.3.<i>xx</i>.tar) - allow WinZip to - decompress it to a temporary folder </li> - - <li>extract the archived files onto your PC - you'll be - using files from the <tt>conf, htdocs,</tt> and - <tt>icons</tt> directories later in the install - phase <br /> - <br /> - </li> - </ul> - </li> - - <li>FTP the tarball to your OS/390 UNIX machine using binary - mode: - - <ul> - <li>activate FTP in an MSDOS window: - <b><tt>ftp <i>your.os390.unix.machine.com</i></tt></b> </li> - - <li>sign in </li> - - <li>set mode to binary: <b><tt>binary</tt></b> </li> - - <li>send the file to OS/390 UNIX:<br /> - <b><tt> send <i>c:\downloaded_filename</i>.tar.Z - <i>os390_unix_filename</i>.tar.Z</tt></b></li> - - <li>exit FTP: <b><tt>bye</tt></b> </li> - </ul> - - <p><font color="#cc6600"><font size="+1">TIP:</font></font> - UNIX file names are case sensitive. If you use an NFS - client to transfer files from your PC to OS/390 UNIX - (instead of using FTP as described above) verify that the - NFS drive will transfer the file names with upper/lower - case preserved. </p> - </li> - - <li>Decompress and extract the archived files necessary for compiling - Apache:<br /> - <b><tt>pax -rvzkf <i>os390_unix_filename</i>.tar.Z -o from=ISO8859-1,to=IBM-1047 "*/src"</tt></b><br /> - </li> - - <li><a id="delete-expat" name="delete-expat"></a> - Remove unnecessary subdirectories: - <ul> - <li><b><tt>cd apache_1.3.<em>xx</em>/src/lib</tt></b></li> - <li><b><tt>rm -r expat-lite sdbm</tt></b></li> - <li><b><tt>cd ../os</tt></b></li> - <li><b><tt>rm -fr bs2000 cygwin mpeix netware os2 os390 unix win32</tt></b></li> - <li><b><tt>cd ..</tt></b></li> - </ul> - - </li> - </ol> - - <center> - <h2><a id="compilation" - name="compilation"></a>Compilation</h2> - </center> - Apache supports the notion of "optional modules". However, the - server has to know which modules are compiled into it. In order - for those modules to be effective, it is necessary to generate - a short bit of code (modules.c) which simply has a list of - them. If you are using the <tt>Configure</tt> utility and - <tt>make</tt>, modules.c and other necessary files will be - created for you automatically. - - <p>The provided instructions assume a c89 compiler and have - been tested on an OS/390 UNIX machine running at version 2.6 - that contained both OS/390 UNIX and TPF C header files. If you - are using a platform other that OS/390 UNIX you may need to - modify src/os/tpf/TPFExport and src/Configure to match your - environment.<br /> - <br /> - <font color="#cc6600"><font size="+1">TIP:</font></font> - Editing files on your PC prior to moving them to OS/390 UNIX - may result in the loss/addition of unprintable characters. - Files of concern include shell scripts and src/Configuration. - The most common problems are with tab characters and CR/LF - characters. Most editors will handle the CR/LF problem - correctly but none seem to handle tab characters. If you need - to edit files prior to moving them to OS/390 UNIX, edit them in - a UNIX editor such as vi or emacs.</p> - - <p>Note that OS/390 UNIX commands in this section are shown in - <b><tt>bold</tt></b>, are case sensitive, and must be made from - the "src" directory.</p> - - <ol> - <li>Switch to the source code subdirectory: - <b><tt>cd apache_1.3.<em>xx</em>/src</tt></b><br /> - </li> - - <li>Overlay src/Configuration with src/Configuration.tmpl: - <b><tt>cp Configuration.tmpl Configuration</tt></b><br /> - </li> - - <li>Edit src/Configuration. It contains the list and settings - of various "Rules" and an additional section at the bottom - that determines which modules to compile:<br /> - - - <ul> - <li>comment out (by preceding the line with a "#") lines - corresponding to those modules you DO NOT wish to - include - </li> - - <li>uncomment (by removing the initial "#", if present) - lines corresponding to those modules you wish to include - or add new lines corresponding to any custom modules you - have written (the <a href="readme-tpf.html">readme-tpf.html</a> document lists - the modules that have been tested on TPF) </li> - - <li>if you did not delete the src/lib/expat-lite directory - as noted in the <a href="#delete-expat">download instructions</a>, - add "<tt>Rule EXPAT=no</tt>" to the src/Configuration file</li> - - <li>adjust the other rules, <tt>EXTRA_CFLAGS</tt>, <tt>EXTRA_LIBS</tt>, <tt>EXTRA_LDFLAGS</tt>, - and <tt>EXTRA_INCLUDES</tt> settings if you feel so inclined</li> - - </ul> - - <p>The modules placed in the Apache distribution are the - ones that have been tested and are used regularly by - various members of the Apache development group. Additional - modules contributed by members or third parties with - specific needs or functions are available at <a - href="http://modules.apache.org/">http://modules.apache.org/</a>. - There are instructions on that page for linking these - modules into the core Apache code. </p> - </li> - - <li> - Indicate whether the <tt>non_socket_select</tt> function is - implemented on your system. - - <p>If you are on a PUT12 or higher system, or have PJ26895 - installed, then you probably support - <tt>non_socket_select</tt>.<br /> - You can verify this by looking for the - <tt>non_socket_select</tt> prototype in your system header - files (specifically <tt>i$pwbl.h</tt>).</p> - - <p>If your TPF system supports <tt>non_socket_select</tt> - do <em>one</em> of the following:<br /> - </p> - - <ul> - <li>add "<tt>#define TPF_HAVE_NONSOCKET_SELECT</tt>" - to - <tt>src/os/tpf/os.h</tt> <em>or</em></li> - - <li>add "<tt>-DTPF_HAVE_NONSOCKET_SELECT</tt>" to the - <tt>_C89_OPTIONS</tt> export in src/os/tpf/TPFExport</li> - </ul> - <br /> - - <p>Otherwise:<br /> - </p> - - <ul> - <li>add "<tt>#define TPF_NO_NONSOCKET_SELECT</tt>" - to - <tt>src/os/tpf/os.h</tt> <em>or</em></li> - - <li>add "<tt>-DTPF_NO_NONSOCKET_SELECT</tt>" to the - <tt>_C89_OPTIONS</tt> export in src/os/tpf/TPFExport</li> - </ul> - <br /> - - <p>Without <tt>non_socket_select</tt> CGI output is - buffered and only sent to the browser when the CGI program - finishes.</p> - </li> - - <li> - Indicate whether the <tt>tpf_sawnc</tt> function is - implemented on your system. - - <p>If you are on a PUT10 or higher system, or have - PJ27387/PJ26188 installed, then you probably support - <tt>tpf_sawnc</tt>.<br /> - You can verify this by looking for the <tt>tpf_sawnc</tt> - prototype in your system header files (either - <tt>tpfapi.h</tt> or <tt>i$fsdd.h</tt>).</p> - - <p>If your TPF system supports <tt>tpf_sawnc</tt> do - <em>one</em> of the following:<br /> - </p> - - <ul> - <li>add "<tt>#define TPF_HAVE_SAWNC</tt>" to - <tt>src/os/tpf/os.h</tt> <em>or</em></li> - - <li>add "<tt>-DTPF_HAVE_SAWNC</tt>" to the - <tt>_C89_OPTIONS</tt> export in src/os/tpf/TPFExport</li> - </ul> - <br /> - - <p>Otherwise:<br /> - </p> - - <ul> - <li>add "<tt>#define TPF_NO_SAWNC</tt>" to - <tt>src/os/tpf/os.h</tt> <em>or</em></li> - - <li>add "<tt>-DTPF_NO_SAWNC</tt>" to the - <tt>_C89_OPTIONS</tt> export in src/os/tpf/TPFExport</li> - </ul> - <br /> - - <p>The use of <tt>tpf_sawnc</tt> allows for a cleaner - shutdown of Apache.</p> - </li> - - - <li><a id="syslog" name="syslog"></a> - Indicate if you have the Syslog Daemon message logging facility. - - <p>If you are on a PUT13 or higher system, or have PJ27214 installed, - you can use syslog for Apache's ErrorLog.<br /> - To have the option of using syslog you must do <em>one</em> of the following:<br /> - </p> - - <ul> - <li>add "<tt>#define HAVE_SYSLOG</tt>" to - <tt>src/os/tpf/os.h</tt> <em>or</em></li> - - <li>add "<tt>-DHAVE_SYSLOG</tt>" to the - <tt>_C89_OPTIONS</tt> export in src/os/tpf/TPFExport</li> - - </ul> - <br /> - - <p>You also need to add "<tt>INCLUDE OBJLIB(CSYLOG40)</tt>" to your link JCL.</p> - <p>See <em>TPF Transmission Control Protocol/Internet Protocol</em> for more information - about the Syslog Daemon: - <a href="http://www.ibm.com/tpf/pubs/tpfpubs.htm">http://www.ibm.com/tpf/pubs/tpfpubs.htm</a>.</p> - </li> - - <li> - Indicate if you would like to use the TCP/IP network services database. - (This only applies if you are using TCP/IP native stack.) - - <p>If you are on a PUT16 or higher system, or have PJ28195 installed, - you can use the TCP/IP network services database. - To do so, you must do <em>one</em> of the following:<br /> - </p> - - <ul> - <li>add "<tt>#define TPF_HAVE_NSD</tt>" to - <tt>src/os/tpf/os.h</tt> <em>or</em></li> - - <li>add "<tt>-DTPF_HAVE_NSD</tt>" to the - <tt>_C89_OPTIONS</tt> export in src/os/tpf/TPFExport</li> - - </ul> - <br /> - - <p>See <em>TPF Transmission Control Protocol/Internet Protocol</em> for more information - about the TCP/IP network services database: - <a href="http://www.ibm.com/tpf/pubs/tpfpubs.htm">http://www.ibm.com/tpf/pubs/tpfpubs.htm</a>.</p> - </li> - - <li><a id="export" name="export"></a> - Set the TPF environment variables: - <b><tt>. os/tpf/TPFExport</tt></b> <br /> - <br /> - <font color="#cc6600"><font size="+1">TIP:</font></font> The - initial period and blank on the command are required to - ensure the environment variables exist beyond the scope of - the shell script.<br /> - <br /> - This script will set the environment variables required to - compile the programs for TPF. Verify that the export - variables are valid for your installation, in particular, the - system include file directories. The system include files - must reside on your OS/390 UNIX system in the appropriate - file structure similar to /usr/include and /usr/include/sys. - DO NOT modify the <tt>TPF=YES</tt> export variable. If this - is changed, the "Configure" script will not recognize - TPF. <br /> - </li> - - <li><a id="run-configure" name="run-configure"></a> - Run the "Configure" script: - <b><tt>Configure</tt></b> <br /> - - - <p>This generates modules.c, include/ap_config_auto.h, and - necessary Makefiles:</p> -<pre> - Using config file: Configuration - Creating Makefile - + configured for TPF platform - + setting C compiler to c89 - + setting C pre-processor to c89 -E - + using "tr [a-z] [A-Z]" to uppercase - + checking for system header files - + adding selected modules - + checking sizeof various data types - Creating Makefile in support - Creating Makefile in regex - Creating Makefile in os/tpf - Creating Makefile in ap - Creating Makefile in main - Creating Makefile in modules/standard - $ _ - -</pre> - If you want to maintain multiple configurations, you can - say, <i>for example</i>, <br /> - <b><tt>Configure -file Configuration.2nd</tt></b> - -<pre> - Using config file: Configuration.2nd - Creating Makefile - + configured for <whatever> platform - + setting C compiler to <whatever> - et cetera -</pre> - If you receive an error such as "<tt>Configure 146: - FSUM7351 not found</tt>" the most likely explanation is - that one or more of the <tt>make</tt> related files were - edited on a non-UNIX platform, corrupting the end-of-line - marks. Verify that lines ending with "\" in the flagged - file do not have trailing spaces. Using the vi editor and - the sample error above as an example... -<pre> - pull up the flagged file: <b>vi Configure -</b> turn on punctuation: <b>:set list -</b> go to the line in question: <b>146G -</b> or find a line with a "\": <b>/\\</b> -</pre> - - The end of line should display as "<tt>\$</tt>". If it is - displayed as "<tt>\ $</tt>" (with a blank between \ - and $) then you should revert to the distributed version - of the file and make the site-specific changes again - using a UNIX compatible editor such as vi or emacs. Then - try the Configure command again. -<pre> - close the file: <b>:q</b> (or <b>:quit!</b>) -</pre> - </li> - - <li> - Edit include/ap_config.h if you want to use the <tt>sigaction()</tt> function.<br /> - - <p>The <tt>sigaction()</tt> function supersedes the <tt>signal()</tt> interface and should be used in preference. - This function was implemented with APAR PJ26188 which shipped with PUT10.</p> - - <p>To use <tt>sigaction()</tt> remove <tt>#define NO_USE_SIGACTION</tt> in the TPF section of ap_config.h.</p> - - <p>The change will only take effect after Apache is (re)compiled.</p> - - </li> - - <li> - Edit include/ap_config.h if you do <em>not</em> want the - scoreboard kept in shared memory.<br /> - - - <p>The default behavior for Apache on all platforms - <em>except</em> TPF is to use the file system for - maintaining the scoreboard (which holds current Apache - children status). The default behavior for Apache on TPF is - to use shared memory. This reduces file activity for the - parent Apache ECB and improves performance.</p> - - <p>If you are on a pre-PUT10 system, or for some reason - you do not want to use shared memory for the scoreboard, - you must remove "<tt>#define USE_SHMGET_SCOREBOARD</tt>" from the TPF - section of ap_config.h</p> - - <p>The change will only take effect after Apache is - (re)compiled.</p> - - </li> - - <li> - Now compile the programs: <b><tt>make</tt></b><br /> - - - <p>Besides compiling, <tt>make</tt> also runs - src/main/gen_test_char.c and src/main/gen_uri_delims.c in - order to create src/main/test_char.h and - src/main/uri_delims.h respectively</p> - - <ul> - <li> - The following compilation warning may or may not occur. - It should be ignored:<br /> - <br /> - main/http_main.c: - <tt>Infinite loop detected in function child_main. - Program may not stop.</tt> - <br /> - </li> - - <li>If during compilation you get a warning about a - missing 'regex.h', set <tt>WANTHSREGEX=yes</tt> in the - src/Configuration file and start back at the <a - href="#run-configure"><tt><b>Configure</b></tt></a> - step.<br /> - </li> - - <li>If you get a - '<tt>Duplicate type specifier "long" ignored</tt>' - error, add "<tt>-W 0,langlvl(extended)</tt>" to the - <tt>_C89_OPTIONS</tt> export in src/os/tpf/TPFExport and - start back at the <a - href="#export"><tt><b>export</b></tt></a> step</li> - </ul> - </li> - </ol> - <a id="installation" name="installation"></a> - - <center> - <h2>Installation</h2> - </center> - - <ol> - <li> - Link the compiled object files into a DLL. Sample link JCL - has been included as src/os/tpf/samples/linkhttp.jcl. You - will need to modify this JCL:<br /> - - <ul> - <li>Change the IDs, data set names, and libraries for - your particular site. </li> - - <li>Add/remove <tt>mod_<i>xxx</i>.o</tt> files so they - correspond to the <tt>mod_<i>xxx</i>.o</tt> lines in your - src/Configuration file. </li> - </ul> - <br /> - <font color="#cc6600"><font size="+1">TIP:</font></font> - Do NOT include gen_test_char.o or gen_uri_delims.o in the - link JCL since these files are only used during the - <tt>make</tt> step. <br /><br /> - - If you receive an "Unresolved references" error for "<tt>XML_ErrorString</tt>" - you probably need to <a href="#delete-expat">remove the expat-lite directory</a> - and start back at the "<a href="#run-configure">Run the Configure script" step</a><br /><br /> - - If you receive an "unable to open" error for <tt>lib/expat-lite/hashtable.o</tt>" - you probably need to remove all of the expat-lite .o's from your link JCL<br /> - <br /> - - <font color="#cc6600"><font size="+1">TIP:</font></font> - Apache uses cinet6, which is part of the Internet Daemon (ZINET). - Ensure that you link Apache with the proper version of cinet6 for your system. - If you apply changes to cinet6 you should re-link Apache to prevent the - <code>inetd_getServer</code> and/or <code>inetd_getServerStatus</code> functions - from failing.<br /><br /> - - </li> - - <li>Create a loadset. Sample loadset JCL has been included as - src/os/tpf/samples/loadset.jcl. You will need to modify this - JCL for your particular site.<br /> - <br /> - A JCL condition code of 4 is expected since the C load - module will contain no link map data.<br /> - - If you require a link map refer to the - <a href="#visualage">instructions below</a> on - creating one with VisualAge TPF.<br /> - </li> - - <li>Load (<tt>ZOLDR LOAD</tt>) and activate (<tt>ZOLDR - ACT</tt>) the loadset on your test system.<br /> - </li> - - <li>Ensure that the program name you are using for Apache has - <tt>RESTRICT</tt> and <tt>KEY0</tt> authorization. - <b><tt>zdpat <i>chta</i> </tt> (</b>c-c) will - display allocation information. You can use - <b><tt>zapat <i>chta</i> restrict key0 </tt></b> - <tt>(<b>c-c</b>)</tt> to alter the authorization. Note - that if the program name is unallocated, you must have the - loadset for it activated or you will receive <tt>INVALID - PROGRAM NAME</tt> from the <tt>zdpat/zapat</tt> - entries.<br /> - </li> - - <li> - Create the Apache run-time configuration file. The server - requires a configuration file to initialize itself during - activation. (Previously three configuration files were - used.) Copy the distribution version, - /conf/httpd.conf-dist, to /conf/httpd.conf and then edit - the /conf/httpd.conf copy with your site specific - information. - - <p>At a minimum you must change every occurrence of - "<tt>@@ServerRoot@@</tt>" to your document server root (for - example "<tt>/usr/local/apache</tt>")</p> - </li> - - <li> - <p>General documentation for Apache is located at <a - href="http://httpd.apache.org/docs/">http://httpd.apache.org/docs/</a> - and in the HTML pages included with the distribution - (tarball) under the <tt>/htdocs/manual</tt> directory. - </p> - </li> - - <li> - On TPF activate your TCP/IP Offload (ZCLAW) or Native Stack communications device. - - <p>Refer to the <em>TPF TCP/IP</em> publication for more information: <a - href="http://www.ibm.com/tpf/pubs/tpfpubs.htm">http://www.ibm.com/tpf/pubs/tpfpubs.htm</a>.</p> - - </li> - - <li> - Using either TFTP or FTP, transfer the configuration file, - icons, and web pages to your TPF system. A typical - directory structure for Apache is as follows: -<pre><tt> /usr/local/apache/conf - /usr/local/apache/logs - /usr/local/apache/icons - /usr/local/apache/htdocs -</tt></pre> - All gif, jpg, and zip files should be transferred as - binary; the configuration file and html pages should be - transferred as text. <br /> - <br /> - The logs directory must exist in order to avoid an - <tt>fopen</tt> error while running Apache:<br /> - <br /> - - If you're running a PUT10 or higher version of TPF make - the directory using the <b><tt>zfile - mkdir /usr/local/apache/logs</tt></b> command.<br /> - <br /> - If you're running TPF version PUT09 TFTP an empty file - into the logs subdirectory to create it. <br /> - <br /> - - Make sure Apache can write into the logs subdirectory by - doing a <tt>zfile chmod</tt> on it with the - appropriate permission settings. - - <p>Refer to the TFTP and FTP sections of the <em>TPF - TCP/IP</em> publication for more information: <a - href="http://www.ibm.com/tpf/pubs/tpfpubs.htm">http://www.ibm.com/tpf/pubs/tpfpubs.htm</a>.</p> - </li> - - <li> - On TPF add Apache to the Internet Daemon's tables using - ZINET entries, the common case:<br /> - <br /> - - - <ul> - <li>For PUT11 and later use the DAEMON model for - Apache: <tt><b>ZINET ADD S-APACHE PGM-<em>chta</em> MODEL-DAEMON USER-root</b></tt></li> - - <li>On pre-PUT11 systems use the NOLISTEN model - instead: <tt><b>ZINET ADD S-APACHE PGM-<em>chta</em> MODEL-NOLISTEN</b></tt></li> - </ul> - <br /> - <font color="#cc6600" size="4">TIP:</font> Logic changes - implemented with PUT11 cause ZINET to <i>not</i> restart - NOLISTEN servers after <tt>ZOLDR ACT</tt> and - <tt>ZOLDR DEACT</tt> entries. This means that Apache - running as NOLISTEN on a PUT11 or later system will exit - whenever any <tt>ZOLDR ACT</tt> or - <tt>ZOLDR DEACT</tt> entry is made. Therefore at PUT11 - you should switch to the DAEMON model and ensure that you - have APARs PJ25761 and PJ27363 applied.<br /> - <br /> - Refer to the Internet Daemon section of the <em>TPF - TCP/IP</em> publication for more information: <a - href="http://www.ibm.com/tpf/pubs/tpfpubs.htm">http://www.ibm.com/tpf/pubs/tpfpubs.htm</a>.<br /> - <br /> - </li> - - <li>Start the server using the - <b><tt>ZINET START S-APACHE</tt></b> command.<br /> - <br /> - </li> - - <li>Request a page from your browser: - <tt><b>http://<i>xx.xx.xx.xx</i></b></tt> - (where <i>xx.xx.xx.xx</i> is your IP - address)</li> - </ol> - <a id="visualage" name="visualage"></a> - - <center> - <h2>Using VisualAge TPF</h2> - </center> - VisualAge TPF can be used to generate link maps for Apache: - <ol> - <li>Copy the sample <tt>linkhttp.dlm</tt> file from the <tt>src/os/tpf/samples</tt> - directory to your Apache <tt>src</tt> directory on OS/390 UNIX. - </li> - <li>This sample file contains the components for the default - configuration of Apache. Add and delete components (such as modules) - as necessary so it matches your configuration of Apache. - Basically, it should match your link JCL with the "<tt>.../apache/src</tt>" - portion of the filenames removed. - </li> - <li>Change items in angle brackets (< >) to also match your JCL. - Be sure to remove the angle brackets as well. - </li> - <li>In VisualAge TPF create a container with your modified dlm file as its sole contents. - </li> - <li>Right click on the dlm file in your new container and choose "Build DLM". - </li> - </ol> - - <hr /> - <center> - [ <a href="#top">top</a> - | <a href="#download">Download</a> - | <a href="#compilation">Compilation</a> - | <a href="#installation">Installation</a> - | <a href="#visualage">VisualAge</a> ] - </center> - </body> -</html> - diff --git a/usr.sbin/httpd/htdocs/manual/install.html.html b/usr.sbin/httpd/htdocs/manual/install.html.html index 256b94a71ad..514d5d3c0d8 100644 --- a/usr.sbin/httpd/htdocs/manual/install.html.html +++ b/usr.sbin/httpd/htdocs/manual/install.html.html @@ -43,18 +43,6 @@ <li><a href="#time">Set your system time correctly</a></li> </ul> - <p>This document covers compilation and installation of Apache on Unix - systems. For compiling and installation on other platforms, see</p> - - <ul> - <li><a href="windows.html">Using Apache with Microsoft Windows</a></li> - <li><a href="cygwin.html">Using Apache with Cygwin</a></li> - <li><a href="netware.html">Using Apache with Novell Netware</a></li> - <li><a href="mpeix.html">Using Apache with HP MPE/iX</a></li> - <li><a href="unixware.html">Compiling Apache under UnixWare</a></li> - <li><a href="readme-tpf.html">Overview of the Apache TPF Port</a></li> - </ul> - <h2><a id="download" name="download">Downloading Apache</a></h2> <p>You may download the latest version of Apache either directly from the diff --git a/usr.sbin/httpd/htdocs/manual/install_1_1.html b/usr.sbin/httpd/htdocs/manual/install_1_1.html deleted file mode 100644 index f5f0f4d376c..00000000000 --- a/usr.sbin/httpd/htdocs/manual/install_1_1.html +++ /dev/null @@ -1,124 +0,0 @@ -<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN"> -<HTML> -<HEAD> -<TITLE>Compiling and Installing Apache</TITLE> -</HEAD> - -<!-- Background white, links blue (unvisited), navy (visited), red (active) --> -<BODY - BGCOLOR="#FFFFFF" - TEXT="#000000" - LINK="#0000FF" - VLINK="#000080" - ALINK="#FF0000" -> -<DIV ALIGN="CENTER"> - <IMG SRC="images/sub.gif" ALT="[APACHE DOCUMENTATION]"> - <H3> - Apache HTTP Server Version 1.2 - </H3> -</DIV> - -<h1 ALIGN="CENTER">Compiling and Installing Apache</h1> -<h2>Downloading Apache</h2> -<p>Information on the latest version of Apache can be found on the Apache -web server at http://www.apache.org/. This will list the current release, -any more recent beta-test release, together with details of mirror -web and anonymous ftp sites.</p> - -UnixWare users will want to consult <A HREF="unixware.html">build notes</A> -for various UnixWare versions before compiling. - -<h2>Compiling Apache</h2> -This release of Apache supports the notion of `optional modules'. -However, the server has to know which modules are compiled into it, in -order for those modules to be effective; this requires generation of a -short bit of code (`<code>modules.c</code>') which simply has a list of them. -<p> -If you are satisfied with our standard module set, and expect to -continue to be satisfied with it, then you can just edit the stock -<code>Makefile</code> and compile as you have been doing previously. If you -would -like to select optional modules, however, you need to run the -configuration script. -<p> -To do this: -<ol> -<li>Edit the file `<code>Configuration</code>'. This contains the per-machine -config settings of the Makefile, and also an additional section at -the bottom which lists the modules which have been compiled in, and -also names the files containing them. You will need to: -<ol> -<li> Select a compiler and compilation options as appropriate to -your machine. -<li> Uncomment lines corresponding to those optional modules you wish -to include (among the Module lines at the bottom of the file) -or add new lines corresponding to custom modules you have written. -<p> -Note that DBM auth has to be explicitly configured in, if you want -it; just uncomment the corresponding line. -</ol> -<li> Run the `Configure' script: -<blockquote><code> -% Configure<br> -Using 'Configuration' as config file<br> -%</code></blockquote> - -This generates new versions of the Makefile and of modules.c. If -you want to maintain multiple configurations, you can say, e.g., -<blockquote><code> -% Configure -file Configuration.ai<br> -Using alternate config file Configuration.ai<br> -%</code></blockquote> - -<li>Type `make'. -<p> -The modules we place in the Apache distribution are the ones we have -tested and are used regularly by various members of the Apache -development group. Additional modules contributed by members or third -parties with specific needs or functions are available at -<A HREF="http://www.apache.org/dist/contrib/modules/"><URL:http://www.apache.org/dist/contrib/modules/></A>. There are instructions on that page for -linking these modules into the core Apache code. -</ol> - -<h2>Installing Apache</h2> -After compilation, you will have a binary called `httpd' in the -<code>src/</code> directory. A binary distribution of Apache will supply this -file. -<p> -The next step is to edit the configuration files for the server. In -the subdirectory called `conf' you should find distribution versions -of the three configuration files: <code>srm.conf-dist</code>, -<code>access.conf-dist</code> and <code>httpd.conf-dist</code>. Copy them to -<code>srm.conf</code>, <code>access.conf</code> and <code>httpd.conf</code> -respectively. -<p> -First edit <code>httpd.conf</code>. This sets up general attributes about the -server; the port number, the user it runs as, etc. Next edit the -<code>srm.conf</code> file; this sets up the root of the document tree, -special functions like server-parsed HTML or internal imagemap parsing, etc. -Finally, edit the <code>access.conf</code> file to at least set the base cases -of access. -<p> -Finally, make a call to httpd, with a -f to the full path to the -httpd.conf file. I.e., the common case: -<blockquote><code> - /usr/local/etc/apache/src/httpd -f /usr/local/etc/apache/conf/httpd.conf -</code></blockquote> -The server should be now running. -<p> -By default the <code>srm.conf</code> and <code>access.conf</code> files are -located by name; to specifically call them by other names, use the -<A HREF="mod/core.html#accessconfig">AccessConfig</A> and -<A HREF="mod/core.html#resourceconfig">ResourceConfig</A> directives in -<code>httpd.conf</code>. - -<HR> -<H3 ALIGN="CENTER"> - Apache HTTP Server Version 1.2 -</H3> - -<A HREF="./"><IMG SRC="images/index.gif" ALT="Index"></A> - -</BODY> -</HTML> diff --git a/usr.sbin/httpd/htdocs/manual/invoking.html.html b/usr.sbin/httpd/htdocs/manual/invoking.html.html index 3102e09eac1..a8967264149 100644 --- a/usr.sbin/httpd/htdocs/manual/invoking.html.html +++ b/usr.sbin/httpd/htdocs/manual/invoking.html.html @@ -24,8 +24,6 @@ <h1 align="CENTER">Starting Apache</h1> <ul> - <li><a href="#windows">Starting Apache on Windows</a></li> - <li> <a href="#unix">Starting Apache on Unix</a> @@ -40,15 +38,6 @@ </ul> <hr /> - <h2><a id="windows" name="windows">Starting Apache On - Windows</a></h2> - - <p>On Windows, Apache is normally run as a service on Windows - NT, or as a console application on Windows 95. This does not - apply in its full extend for the Cygwin platform. For details, - see <a href="windows.html#run">running Apache for - Windows</a>.</p> - <h2><a id="unix" name="unix">Starting Apache on Unix</a></h2> <p>On Unix, the <a href="programs/httpd.html">httpd</a> program diff --git a/usr.sbin/httpd/htdocs/manual/misc/index.html b/usr.sbin/httpd/htdocs/manual/misc/index.html index a97f7cb7b99..50faa72182c 100644 --- a/usr.sbin/httpd/htdocs/manual/misc/index.html +++ b/usr.sbin/httpd/htdocs/manual/misc/index.html @@ -96,17 +96,6 @@ <dd>Some notes about ways to improve/optimize Apache performance on BSD 4.4 systems.</dd> - <dt><a href="perf-dec.html">Performance Notes (Digital - UNIX)</a></dt> - - <dd>Extracts of USENET postings describing how to optimize - Apache performance on Digital UNIX systems.</dd> - - <dt><a href="perf-hp.html">Performance Notes (HPUX)</a></dt> - - <dd>Email from an HP engineer on how to optimize HP-UX - 10.20.</dd> - <dt><a href="perf.html">Performance Notes (General)</a></dt> <dd>Some generic notes about how to improve the performance diff --git a/usr.sbin/httpd/htdocs/manual/misc/perf-dec.html b/usr.sbin/httpd/htdocs/manual/misc/perf-dec.html deleted file mode 100644 index b11b6e680ee..00000000000 --- a/usr.sbin/httpd/htdocs/manual/misc/perf-dec.html +++ /dev/null @@ -1,297 +0,0 @@ -<!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>Performance Tuning Tips for Digital Unix</title> - </head> - <!-- Background white, links blue (unvisited), navy (visited), red (active) --> - - <body bgcolor="#FFFFFF" text="#000000" link="#0000FF" - vlink="#000080" alink="#FF0000"> - <div align="CENTER"> - <img src="../images/sub.gif" alt="[APACHE DOCUMENTATION]" /> - - <h3>Apache HTTP Server Version 1.3</h3> - </div> - - - <h1 align="CENTER">Performance Tuning Tips for Digital - Unix</h1> - Below is a set of newsgroup posts made by an engineer from DEC - in response to queries about how to modify DEC's Digital Unix - OS for more heavily loaded web sites. Copied with permission. - <hr /> - - <h2>Update</h2> - From: Jeffrey Mogul <mogul@pa.dec.com><br /> - Date: Fri, 28 Jun 96 16:07:56 MDT<br /> - - - <ol> - <li>The advice given in the README file regarding the - "tcbhashsize" variable is incorrect. The largest value this - should be set to is 1024. Setting it any higher will have the - perverse result of disabling the hashing mechanism.</li> - - <li> - Patch ID OSF350-146 has been superseded by - - <blockquote> - Patch ID OSF350-195 for V3.2C<br /> - Patch ID OSF360-350195 for V3.2D - </blockquote> - Patch IDs for V3.2E and V3.2F should be available soon. - There is no known reason why the Patch ID OSF360-350195 - won't work on these releases, but such use is not - officially supported by Digital. This patch kit will not be - needed for V3.2G when it is released. - </li> - </ol> - <hr /> -<pre> -From mogul@pa.dec.com (Jeffrey Mogul) -Organization DEC Western Research -Date 30 May 1996 00:50:25 GMT -Newsgroups <a -href="news:comp.unix.osf.osf1">comp.unix.osf.osf1</a> -Message-ID <4oirch$bc8@usenet.pa.dec.com> -Subject Re: Web Site Performance -References 1 - - - -In article <skoogDs54BH.9pF@netcom.com> skoog@netcom.com (Jim Skoog) writes: ->Where are the performance bottlenecks for Alpha AXP running the ->Netscape Commerce Server 1.12 with high volume internet traffic? ->We are evaluating network performance for a variety of Alpha AXP ->runing DEC UNIX 3.2C, which run DEC's seal firewall and behind ->that Alpha 1000 and 2100 webservers. - -Our experience (running such Web servers as <a -href="http://altavista.digital.com">altavista.digital.com</a> -and <a -href="http://www.digital.com">www.digital.com</a>) is that there is one important kernel tuning -knob to adjust in order to get good performance on V3.2C. You -need to patch the kernel global variable "somaxconn" (use dbx -k -to do this) from its default value of 8 to something much larger. - -How much larger? Well, no larger than 32767 (decimal). And -probably no less than about 2048, if you have a really high volume -(millions of hits per day), like AltaVista does. - -This change allows the system to maintain more than 8 TCP -connections in the SYN_RCVD state for the HTTP server. (You -can use "netstat -An |grep SYN_RCVD" to see how many such -connections exist at any given instant). - -If you don't make this change, you might find that as the load gets -high, some connection attempts take a very long time. And if a lot -of your clients disconnect from the Internet during the process of -TCP connection establishment (this happens a lot with dialup -users), these "embryonic" connections might tie up your somaxconn -quota of SYN_RCVD-state connections. Until the kernel times out -these embryonic connections, no other connections will be accepted, -and it will appear as if the server has died. - -The default value for somaxconn in Digital UNIX V4.0 will be quite -a bit larger than it has been in previous versions (we inherited -this default from 4.3BSD). - -Digital UNIX V4.0 includes some other performance-related changes -that significantly improve its maximum HTTP connection rate. However, -we've been using V3.2C systems to front-end for altavista.digital.com -with no obvious performance bottlenecks at the millions-of-hits-per-day -level. - -We have some Webstone performance results available at - http://www.digital.com/info/alphaserver/news/webff.html - -<em>[The document referenced above is no longer at that URL -- Ed.]</em> - -I'm not sure if these were done using V4.0 or an earlier version -of Digital UNIX, although I suspect they were done using a test -version of V4.0. - --Jeff - ----------------------------------------------------------------------------- - -From mogul@pa.dec.com (Jeffrey Mogul) -Organization DEC Western Research -Date 31 May 1996 21:01:01 GMT -Newsgroups <a -href="news:comp.unix.osf.osf1">comp.unix.osf.osf1</a> -Message-ID <4onmmd$mmd@usenet.pa.dec.com> -Subject Digital UNIX V3.2C Internet tuning patch info - ----------------------------------------------------------------------------- - -Something that probably few people are aware of is that Digital -has a patch kit available for Digital UNIX V3.2C that may improve -Internet performance, especially for busy web servers. - -This patch kit is one way to increase the value of somaxconn, -which I discussed in a message here a day or two ago. - -I've included in this message the revised README file for this -patch kit below. Note that the original README file in the patch -kit itself may be an earlier version; I'm told that the version -below is the right one. - -Sorry, this patch kit is NOT available for other versions of Digital -UNIX. Most (but not quite all) of these changes also made it into V4.0, -so the description of the various tuning parameters in this README -file might be useful to people running V4.0 systems. - -This patch kit does not appear to be available (yet?) from - <a -href="http://www.service.digital.com/html/patch_service.html">http://www.service.digital.com/html/patch_service.html</a> -so I guess you'll have to call Digital's Customer Support to get it. - --Jeff - -DESCRIPTION: Digital UNIX Network tuning patch - - Patch ID: OSF350-146 - - SUPERSEDED PATCHES: OSF350-151, OSF350-158 - - This set of files improves the performance of the network - subsystem on a system being used as a web server. There are - additional tunable parameters included here, to be used - cautiously by an informed system administrator. - -TUNING - - To tune the web server, the number of simultaneous socket - connection requests are limited by: - - somaxconn Sets the maximum number of pending requests - allowed to wait on a listening socket. The - default value in Digital UNIX V3.2 is 8. - This patch kit increases the default to 1024, - which matches the value in Digital UNIX V4.0. - - sominconn Sets the minimum number of pending connections - allowed on a listening socket. When a user - process calls listen with a backlog less - than sominconn, the backlog will be set to - sominconn. sominconn overrides somaxconn. - The default value is 1. - - The effectiveness of tuning these parameters can be monitored by - the sobacklog variables available in the kernel: - - sobacklog_hiwat Tracks the maximum pending requests to any - socket. The initial value is 0. - - sobacklog_drops Tracks the number of drops exceeding the - socket set backlog limit. The initial - value is 0. - - somaxconn_drops Tracks the number of drops exceeding the - somaxconn limit. When sominconn is larger - than somaxconn, tracks the number of drops - exceeding sominconn. The initial value is 0. - - TCP timer parameters also affect performance. Tuning the following - require some knowledge of the characteristics of the network. - - tcp_msl Sets the tcp maximum segment lifetime. - This is the maximum lifetime in half - seconds that a packet can be in transit - on the network. This value, when doubled, - is the length of time a connection remains - in the TIME_WAIT state after a incoming - close request is processed. The unit is - specified in 1/2 seconds, the initial - value is 60. - - tcp_rexmit_interval_min - Sets the minimum TCP retransmit interval. - For some WAN networks the default value may - be too short, causing unnecessary duplicate - packets to be sent. The unit is specified - in 1/2 seconds, the initial value is 1. - - tcp_keepinit This is the amount of time a partially - established connection will sit on the listen - queue before timing out (<em>e.g.</em>, if a client - sends a SYN but never answers our SYN/ACK). - Partially established connections tie up slots - on the listen queue. If the queue starts to - fill with connections in SYN_RCVD state, - tcp_keepinit can be decreased to make those - partial connects time out sooner. This should - be used with caution, since there might be - legitimate clients that are taking a while - to respond to SYN/ACK. The unit is specified - in 1/2 seconds, the default value is 150 - (ie. 75 seconds). - - The hashlist size for the TCP inpcb lookup table is regulated by: - - tcbhashsize The number of hash buckets used for the - TCP connection table used in the kernel. - The initial value is 32. For best results, - should be specified as a power of 2. For - busy Web servers, set this to 2048 or more. - - The hashlist size for the interface alias table is regulated by: - - inifaddr_hsize The number of hash buckets used for the - interface alias table used in the kernel. - The initial value is 32. For best results, - should be specified as a power of 2. - - ipport_userreserved The maximum number of concurrent non-reserved, - dynamically allocated ports. Default range - is 1025-5000. The maximum value is 65535. - This limits the numer of times you can - simultaneously telnet or ftp out to connect - to other systems. - - tcpnodelack Don't delay acknowledging TCP data; this - can sometimes improve performance of locally - run CAD packages. Default is value is 0, - the enabled value is 1. - - Digital UNIX version: - - V3.2C -Feature V3.2C patch V4.0 -======= ===== ===== ==== -somaxconn X X X -sominconn - X X -sobacklog_hiwat - X - -sobacklog_drops - X - -somaxconn_drops - X - -tcpnodelack X X X -tcp_keepidle X X X -tcp_keepintvl X X X -tcp_keepcnt - X X -tcp_keepinit - X X -TCP keepalive per-socket - - X -tcp_msl - X - -tcp_rexmit_interval_min - X - -TCP inpcb hashing - X X -tcbhashsize - X X -interface alias hashing - X X -inifaddr_hsize - X X -ipport_userreserved - X - -sysconfig -q inet - - X -sysconfig -q socket - - X - -</pre> - <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> - diff --git a/usr.sbin/httpd/htdocs/manual/misc/perf-hp.html b/usr.sbin/httpd/htdocs/manual/misc/perf-hp.html deleted file mode 100644 index 8a2fb5cebec..00000000000 --- a/usr.sbin/httpd/htdocs/manual/misc/perf-hp.html +++ /dev/null @@ -1,107 +0,0 @@ -<!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> - <div align="CENTER"> - <img src="../images/sub.gif" alt="[APACHE DOCUMENTATION]" /> - - <h3>Apache HTTP Server Version 1.3</h3> - </div> - - - - <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> - <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> - - </p> - </body> -</html> - diff --git a/usr.sbin/httpd/htdocs/manual/mod/core.html.html b/usr.sbin/httpd/htdocs/manual/mod/core.html.html index 894d7beb07b..4bede88ffaf 100644 --- a/usr.sbin/httpd/htdocs/manual/mod/core.html.html +++ b/usr.sbin/httpd/htdocs/manual/mod/core.html.html @@ -705,8 +705,6 @@ which started the server, usually <samp>SYSROOT</samp>.<br /> Only one <code>BS2000Account</code> directive can be used.</p> - <p><strong>See Also:</strong> <a href="../ebcdic.html">Apache - EBCDIC port</a></p> <hr /> <h2><a id="cgicommandargs" name="cgicommandargs">CGICommandArgs @@ -1157,9 +1155,7 @@ <p><strong>See also</strong>: <a - href="#ebcdicconvertbytype">EBCDICConvertByType</a> and <a - href="../ebcdic.html#ebcdic">Overview of the EBCDIC Conversion - Functions</a></p> + href="#ebcdicconvertbytype">EBCDICConvertByType</a></p> <hr /> <h2><a id="ebcdicconvertbytype" @@ -1215,9 +1211,7 @@ </pre> <p><strong>See also</strong>: <a - href="#ebcdicconvert">EBCDICConvert</a> and <a - href="../ebcdic.html#ebcdic">Overview of the EBCDIC Conversion - Functions</a></p> + href="#ebcdicconvert">EBCDICConvert</a></p> <hr /> <h2><a id="ebcdickludge" @@ -1280,9 +1274,7 @@ <p><strong>See also</strong>: <a href="#ebcdicconvert">EBCDICConvert</a>, <a - href="#ebcdicconvertbytype">EBCDICConvertByType</a> and <a - href="../ebcdic.html#ebcdic">Overview of the EBCDIC Conversion - Functions</a></p> + href="#ebcdicconvertbytype">EBCDICConvertByType</a></p> <hr /> <h2><a id="errordocument" name="errordocument">ErrorDocument diff --git a/usr.sbin/httpd/htdocs/manual/mpeix.html b/usr.sbin/httpd/htdocs/manual/mpeix.html deleted file mode 100644 index bcca2e0654e..00000000000 --- a/usr.sbin/httpd/htdocs/manual/mpeix.html +++ /dev/null @@ -1,430 +0,0 @@ -<!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" /> - <meta http-equiv="Content-Type" - content="text/html; charset=iso-8859-1" /> - <meta name="GENERATOR" - content="Mozilla/4.75 [en] (Win98; U) [Netscape]" /> - <meta name="Author" content="Mark Bixby - mark@bixby.org" /> - - <title>Using Apache with HP MPE/iX</title> - <!-- Background white, links blue (unvisited), navy (visited), red (active) --> - </head> - - <body text="#000000" bgcolor="#FFFFFF" link="#0000FF" - vlink="#000080" alink="#FF0000"> - <div align="CENTER"> - <img src="images/sub.gif" alt="[APACHE DOCUMENTATION]" /> - - <h3>Apache HTTP Server</h3> - </div> - - - - <center> - <h1>Using Apache With HP MPE/iX</h1> - </center> - This document explains how to compile, install, configure and - run Apache 1.3 under HP MPE/iX. - - <p>The bug reporting page and new-httpd mailing list are NOT - provided to answer questions about configuration or running - Apache. Before you submit a bug report or request, first - consult this document, the <a href="misc/FAQ.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:comp.sys.hp.mpe">comp.sys.hp.mpe</a> newsgroup or - the associated <a - href="http://jazz.external.hp.com/papers/hp3000-info.html">HP3000-L - mailing list</a>, where many Apache users and several - contributors are more than willing to answer new and obscure - questions about using Apache on MPE/iX.</p> - - <p><a - href="http://groups.google.com/groups?hl=en&lr=&safe=off&group=comp.sys.hp.mpe"> - groups.google.com's newsgroup archive</a> offers easy browsing - of previous questions. Searching the newsgroup archives, you - will usually find your question was already asked and answered - by other users!</p> - <hr /> - - <ul> - <li><a href="#req">Requirements</a></li> - - <li><a href="#implement">Implementation - Considerations</a></li> - - <li><a href="#binaries">Binary Distributions</a></li> - - <li><a href="#accounting">Create the Accounting - Structure</a></li> - - <li><a href="#down">Downloading Apache</a></li> - - <li><a href="#compile">Compiling Apache</a></li> - - <li><a href="#inst">Installing Apache</a></li> - - <li><a href="#config">Configuring Apache</a></li> - - <li><a href="#run">Running Apache</a></li> - - <li><a href="#control">Controlling Apache</a></li> - </ul> - <hr /> - - <h2><a id="req" name="req"></a>Requirements</h2> - Apache 1.3 requires MPE/iX 6.0 or greater. It will NOT - run on earlier releases of MPE/iX. The following MPE/iX - patches (or their superseding descendants) are relevant to - Apache: - - <ul> - <li>MPE/iX 6.0:</li> - - <li style="list-style: none"> - <ul> - <li>MPEKXT3B - fixes an MPE bug that results in transient - "permission denied" errors being returned by the server - to the browser.</li> - - <li>MPELX36A - enhances the kill() function so that MPE - users with SM capability can send signals to Apache for - shutdown, restart, etc.</li> - - <li>MPELX44C - fixes an MPE bug that prevents DSO modules - from being dynamically loaded.</li> - - <li>MPELX51C - enhances the kill() function so that - Apache can use it when the Apache parent UID is different - from the Apache children UID (strongly recommended).</li> - - <li>NSTxxxxx - the latest network transport patch should - always be installed when using TCP/IP applications such - as Apache.</li> - </ul> - </li> - - <li>MPE/iX 6.5:</li> - - <li style="list-style: none"> - <ul> - <li>MPELX44D - fixes an MPE bug that prevents DSO modules - from being dynamically loaded.</li> - - <li>MPELX51D - enhances the kill() function so that - Apache can use it when the Apache parent UID is different - from the Apache children UID (strongly recommended).</li> - - <li>NSTxxxxx - the latest network transport patch should - always be installed when using TCP/IP applications such - as Apache.</li> - </ul> - </li> - </ul> - <hr width="100%" /> - - <h2><a id="implement" name="implement"></a>Implementation - Considerations</h2> - While MPE has a very good POSIX implementation that enables - fairly simple porting of Unix applications such as Apache, - there are some Unix concepts which just don't exist or aren't - fully implemented in MPE, and so this may force some - functionality changes in the package being ported. - - <h3>Significant MPE vs. Unix OS differences</h3> - - <ul> - <li>MPE lacks the concept of a Unix UID=0 root user with - special privileges. Where Unix functions require a user - to be executing as root, MPE requires the user to be - executing in priv mode, so the program file must be linked - with PM (Priv Mode) capability, and the Unix function calls - must be bracketed by GETPRIVMODE() and GETUSERMODE() - calls. The following Unix functions used by Apache are - affected:</li> - - <li style="list-style: none"> - <ul> - <li>bind() for ports less than 1024</li> - - <li>setgid()</li> - - <li>setuid()</li> - </ul> - </li> - - <li>MPE's support for UIDs and GIDs is more limited than - Unix. Every MPE account maps to a unique GID. - Each MPE account can contain multiple MPE users, and every - MPE user maps to a unique UID (UID 0 is not supported). - The current UID for a process must correspond to an MPE user - within the MPE account that corresponds to the current GID of - the process.</li> - - <li>MPE child processes cannot survive the death of their - parent. When the parent terminates, any remaining - children will be killed.</li> - - <li>MPE doesn't initialize the envp parameter when invoking - the main() of a new process. Use the global variable - environ instead of envp.</li> - - <li>MPE link() exists, but always returns EIMPL. Use - rename() or symlinks instead of hard links.</li> - - <li>MPE doesn't allow the @ character in filenames.</li> - - <li>MPE lacks support for TCP_NODELAY, but that's the default - anyway.</li> - - <li>MPE lacks support for SO_KEEPALIVE.</li> - - <li>MPE lacks support for process groups.</li> - - <li>MPE inetd only passes stdin (and NOT stdout) to the - invoked service. But you can write to stdin just - fine.</li> - </ul> - - <h3>Major Apache functionality issues</h3> - - <ul> - <li>Beginning with HP-supported Apache 1.3.9 and HP WebWise - MPE/iX Secure Web Server A.01.00 (based on Apache 1.3.9), the - User and Group directives in httpd.conf are now - unconditionally executed as corresponding setuid()/setgid() - calls. Previously this was only done if HTTPD was being - run as MANAGER.SYS. This functionality change was - submitted back to the 1.3.13-dev source tree at - www.apache.org. The Apache for Unix behavior is to only - honor User and Group if running as root.</li> - - <li>Beginning with HP-supported Apache 1.3.9 and HP WebWise - MPE/iX Secure Web Server A.01.00 (based on Apache 1.3.9), the - SVIPC shared memory macros SHM_R and SHM_W have been modified - from their traditional owner-only-read and owner-only-write - values to be owner-and-group-read and owner-and-group-write - on MPE/iX in order to allow increased parent/child - flexibility in spite of MPE's limited POSIX UID/GID - support. This functionality change was submitted back - to the 1.3.13-dev source tree at www.apache.org. The - Apache for Unix behavior uses the traditional owner-only - values of SHM_R and SHM_W.</li> - </ul> - - <h3>Minor Apache functionality issues</h3> - - <ul> - <li>Apache for Unix must be run as root to bind to TCP ports - 1-1023. Apache for MPE must call GETPRIVMODE() to bind to TCP - ports 1-1023; PM is not used for ports greater than 1023. The - standard web server HTTP port is 80.</li> - - <li>Apache for Unix in standalone mode will detach itself and - run in the background as a system-type process. Apache for - MPE in standalone mode cannot detach itself and run in the - background because MPE POSIX doesn't allow this (the detached - child would be killed when the parent terminated). - Therefore you must use an MPE batch job to run Apache in - standalone mode.</li> - - <li>Apache for Unix uses process groups to manage child - processes. Apache for MPE cannot use process groups because - MPE POSIX doesn't support this. The implications of this are - unknown.</li> - - <li>Apache for Unix uses the setsockopt() option TCP_NODELAY. - Apache for MPE does not, because MPE doesn't support it. But - TCP_NODELAY is the default MPE behavior anyway.</li> - - <li>Apache for Unix uses the setsockopt() option - SO_KEEPALIVE. Apache for MPE does not, because MPE - doesn't support it.</li> - - <li>Apache for Unix under inetd reads from the socket via - stdin and writes via stdout. Apache for MPE under inetd reads - *AND* writes the socket via stdin. I consider MPE 5.5 inetd - to be broken and poorly documented, so I submitted SR - 5003355016 to address this. If HP ever alters the MPE inetd - to pass the socket the way HPUX inetd does (not likely in the - grand scheme of things), the existing Apache for MPE code - will break.</li> - - <li>Apache for Unix will use the @ character in proxy cache - filenames, but since @ is illegal in MPE filenames, Apache - for MPE uses the % character instead.</li> - </ul> - <hr width="100%" /> - - <h2><a id="binaries" name="binaries"></a>Binary - Distributions</h2> - HP ships a fully supported Apache binary distribution with the - Fundamental Operating System (FOS) in MPE/iX 6.5 and - later. This distribution can be found in the APACHE - account. - - <p>HP supplies fully supported Apache binary distributions for - MPE/iX 6.0 or later available for downloading from <a - href="http://jazz.external.hp.com/src/apache/">http://jazz.external.hp.com/src/apache/</a>.</p> - - <p>Mark Bixby supplies Apache binary distributions for MPE/iX - available for downloading from <a - href="http://www.bixby.org/mark/apacheix.html">http://www.bixby.org/mark/apacheix.html</a>. - Binaries from bixby.org are NOT supported by HP. HP only - supports binaries distributed by HP.</p> - - <p>All of the binary distributions mentioned above may possibly - include functionality that hasn't yet been submitted back to - the Apache Software Foundation (though submitting back is the - intended goal). Please read the documentation that comes - with these binaries in order to determine functionality - differences (if any) compared to the latest sources available - from the ASF.</p> - - <p>If you will be using one of these binary distributions, - please stop reading this document and start reading the - specific distribution documentation for installation - details.</p> - <hr width="100%" /> - - <h2><a id="accounting" name="accounting"></a>Create the - Accounting Structure</h2> - Apache can be installed under the account of your choice. - For the purposes of this document, the APACHE account will be - used: - - <ol> - <li><tt><font size="+1">:HELLO MANAGER.SYS</font></tt></li> - - <li><tt><font size="+1">:NEWACCT APACHE,MGR</font></tt></li> - - <li><tt><font size="+1">:ALTACCT - APACHE;PASS=xxxxxxxx;CAP=AM,AL,ND,SF,BA,IA,PM,PH</font></tt></li> - - <li><tt><font size="+1">:ALTGROUP - PUB.APACHE;CAP=BA,IA,PM,PH;ACCESS=(R,L,X:AC;W,A,S:AL)</font></tt></li> - - <li><tt><font size="+1">:ALTUSER - MGR.APACHE;CAP=AM,AL,ND,SF,BA,IA,PM,PH;HOME=PUB</font></tt></li> - - <li><tt><font size="+1">:NEWUSER - SERVER.APACHE</font></tt></li> - - <li><tt><font size="+1">:ALTUSER - SERVER.APACHE;CAP=ND,SF,BA,IA,PH;HOME=PUB</font></tt></li> - </ol> - - <h2><a id="down" name="down"></a>Downloading Apache</h2> - Use your web browser to download the Apache source tarball from - <a - href="http://www.apache.org/dist/httpd/">http://www.apache.org/dist/httpd/</a>. - Then ftp upload the tarball to your e3000 as show below: -<pre> -C:\Temp>ftp 3000.host.name -Connected to 3000.host.name. -220 HP ARPA FTP Server [A0009H09] (C) Hewlett-Packard Co. 1990 -User (3000.host.name:(none)): MGR.APACHE -331 Password required for MGR.APACHE. Syntax: acctpass -Password:xxxxxxxx -230 User logged on -ftp> quote type L 8 -200 Type set to L (byte size 8). -ftp> put apache_v.u.ff.tar.Z /tmp/apache.tar.Z -200 PORT command ok. -150 File: /tmp/apache.tar.Z opened; data connection will be opened -226 Transfer complete. -ftp: 2685572 bytes sent in 2.75Seconds 976.57Kbytes/sec. -ftp> quit -221 Server is closing command connection -</pre> - Unpack the tarball: - - <ol> - <li><tt>:HELLO MGR.APACHE</tt></li> - - <li><tt>:XEQ SH.HPBIN.SYS -L</tt></li> - - <li><tt>$ mkdir src</tt></li> - - <li><tt>$ chmod 700 src</tt></li> - - <li><tt>$ cd src</tt></li> - - <li><tt>$ tar xvfopz /tmp/apache.tar.Z</tt></li> - </ol> - - <h2><a id="compile" name="compile"></a>Compiling Apache</h2> - It is STRONGLY recommended to use gcc instead of the HP C/iX - compiler. You can obtain gcc from <a - href="http://jazz.external.hp.com/src/gnu/gnuframe.html">http://jazz.external.hp.com/src/gnu/gnuframe.html</a>. - - - <ol> - <li><tt>$ cd apache_v.uu.ff</tt></li> - - <li><tt>$ ./configure --prefix=/APACHE/PUB - --enable-module=xxx --enable-module=yyy ...etc...</tt></li> - - <li><tt>$ make</tt></li> - </ol> - - <h2><a id="inst" name="inst"></a>Installing Apache</h2> - - <ol> - <li><tt>$ make install</tt></li> - - <li><tt>$ cd /APACHE/PUB</tt></li> - - <li><tt>$ mv bin/httpd HTTPD</tt></li> - - <li><tt>$ ln -s HTTPD bin/httpd</tt></li> - - <li><tt>$ callci "xeq linkedit.pub.sys 'altprog - HTTPD;cap=ia,ba,ph,pm'"</tt></li> - </ol> - - <h2><a id="config" name="config"></a>Configuring Apache</h2> - Edit /APACHE/PUB/conf/httpd.conf and customize as needed for - your environment. Be sure to make the following mandatory - changes: - - <ul> - <li>User SERVER.APACHE</li> - - <li>Group APACHE</li> - </ul> - - <h2><a id="run" name="run"></a>Running Apache</h2> - Simply create and :STREAM the following standalone server job - in order to start Apache: -<pre> -!JOB JHTTPD,MGR.APACHE;OUTCLASS=,2 -!XEQ SH.HPBIN.SYS "-c 'umask 007; ./HTTPD -f /APACHE/PUB/conf/httpd.conf'" -!eoj -</pre> - - <h2><a id="control" name="control"></a>Controlling Apache</h2> - Log on as MGR.APACHE (or MANAGER.SYS or any other SM user if - you've installed MPELX36A on 6.0) in order to shutdown or - restart Apache via the use of signals. - - <p>To shut down Apache from the POSIX shell:</p> -<pre> -$ kill `cat /APACHE/PUB/logs/httpd.pid` -</pre> - To shut down Apache from the CI: -<pre> -:XEQ SH.HPBIN.SYS '-c "kill `cat /APACHE/PUB/logs/httpd.pid`"' -</pre> - <hr /> - - <h3 align="CENTER">Apache HTTP Server</h3> - <a href="./"><img src="images/index.gif" alt="Index" /></a> - - </body> -</html> - diff --git a/usr.sbin/httpd/htdocs/manual/netware.html b/usr.sbin/httpd/htdocs/manual/netware.html deleted file mode 100644 index ac53dda4ba4..00000000000 --- a/usr.sbin/httpd/htdocs/manual/netware.html +++ /dev/null @@ -1,338 +0,0 @@ -<!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>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"> - <div align="CENTER"> - <img src="images/sub.gif" alt="[APACHE DOCUMENTATION]" /> - - <h3>Apache HTTP Server Version 1.3</h3> - </div> - - <h1 align="CENTER">Using Apache With Novell NetWare</h1> - - <p>This document explains how to install, configure and run - Apache 1.3 under Novell NetWare 5.x 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 new-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="misc/FAQ.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://devforums.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 1.3 is designed to run on NetWare 5.x and above and is - installed by default on all NetWare 6 servers. - - <p><strong>If running on NetWare 5.0 you must install Service - Pack 5 or above.</strong></p> - - <p><strong>If running on NetWare 5.1 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. If you are running NetWare 6, Apache for NetWare has been - installed by default. - - <p>Follow these steps to install Apache on NetWare from the - binary download (assuming you will install to sys:/apache):</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:/APACHE to the search path. EXAMPLE: SEARCH ADD - SYS:\APACHE</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>Apache</code> on a - NetWare volume</li> - - <li>Copy Apache.nlm, Apachec.nlm, htdigest.nlm, htpasswd.nlm, - xmlparse.nlm, and xmltok.nlm to sys:/apache</li> - - <li>Create a directory under SYS:/APACHE called CONF</li> - - <li>Copy all the *.CONF-DIST-NW files to the SYS:/APACHE/CONF - directory and rename them all as *.CONF files</li> - - <li>Copy the MIME.TYPES and magic files to SYS:/APACHE/CONF - directory</li> - - <li>Copy all files and subdirectories in \apache-1.3\icons to - SYS:/APACHE/ICONS</li> - - <li>Create the directory SYS:/APACHE/LOGS on the server</li> - - <li>Create the directory SYS:/APACHE/CGI-BIN on the - server</li> - - <li>Create the directory SYS:/APACHE/MODULES and copy all nlm - modules built into the modules directory</li> - - <li>Edit the HTTPD.CONF file setting ServerRoot and - ServerName to reflect your correct server settings</li> - - <li>Add SYS:/APACHE to the search path. EXAMPLE: SEARCH ADD - SYS:\APACHE</li> - </ul> - - <p>Apache may be installed to other volumes besides the default - <code>sys</code> 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 = 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> - - <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> - - <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 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:</p> - - <ul> - <li>-f specifies a path to a particular configuration - file</li> - </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:</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:/apache". invoking apache with the -V switch will display - this value labeled as HTTPD_ROOT.</p> - - <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="./">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 - 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> - - <p>So the "process"-management directives are - different:</p> - - <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> - - <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>LogRotateDaily - This directive allows all custom logs to be rotated - on a daily basis. The file name of each log will contain the date - and time that the log was created. The default for this directive - is "Off".</p> - <p>LogRotateInterval - This directive allows all custom logs to be - rotated on a specified interval. The file name of each log will - contain the date and time that the log was created. The interval - is specified as N minutes. The default is no interval or - "0".</p> - <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. Volumes can be used; - if omitted, the drive with the Apache executable will be - assumed.</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>\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> - </li> - </ul> - - <h2><a id="comp" name="comp">Compiling Apache for - NetWare</a></h2> - - <p>Compiling Apache requires MetroWerks CodeWarrior 4.04 or - higher to be properly installed.</p> - - <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.</p> - - <p>Once Apache has been built, 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.</p> - <hr /> - - <h3 align="CENTER">Apache HTTP Server Version 1.3</h3> - <a href="./"><img src="images/index.gif" alt="Index" /></a> - </body> -</html> - diff --git a/usr.sbin/httpd/htdocs/manual/readme-tpf.html b/usr.sbin/httpd/htdocs/manual/readme-tpf.html deleted file mode 100644 index fffdc5582e2..00000000000 --- a/usr.sbin/httpd/htdocs/manual/readme-tpf.html +++ /dev/null @@ -1,634 +0,0 @@ -<!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 http-equiv="Content-Type" content="text/html; charset=iso-8859-1"/> - - <title>The Apache TPF Port</title> - </head> - - <body> - <a id="top" name="top"></a> - - <center> - <h2>Overview of the Apache TPF Port</h2> - </center> - <hr /> - - <center> - [ <a href="#configuration_files">Configuration Files</a> - | <a href="#whats_available">What's Available</a> - | <a href="#cgi">CGI Scripts</a> - | <a href="#options">Options</a> - | <a href="#syslog">Syslog</a> - | <a href="#porting_notes">Porting Notes</a> ] - </center> - <hr /> - - <p>This version of Apache includes changes allowing it to run - on IBM's EBCDIC-based <a - href="http://www.ibm.com/software/ts/tpf/index.html">TPF</a> - (Transaction Processing Facility) operating system.<br /> - Unless otherwise noted TPF version 4.1 PUT09 is - required. </p> - - <p>Refer to <a href="install-tpf.html">install-tpf.html</a> for - step-by-step installation instructions. </p> - - <p>This port builds upon the <a - href="http://httpd.apache.org/docs/ebcdic.html">EBCDIC - changes</a> previously made to Apache. <br /> - <a id="configuration_files" - name="configuration_files"></a></p> - - <center> - <h2>Apache Configuration Files</h2> - </center> - The distributed configuration files (httpd.conf-dist and - mime.types, both located in the conf subdirectory) work on TPF. - Performance considerations may dictate setting KeepAlive to - "Off" (the default is "On") or lowering the Timeout value from - the default 300 seconds (5 minutes) in order to reduce the - number of active ECBs on your system.<br /> - - <p>Apache on TPF does not support listening on multiple ports.</p> - - <a id="whats_available" name="whats_available"></a> - - <center> - <h2>What's Available in this Version</h2> - </center> - The Apache organization provides <a - href="http://httpd.apache.org/docs/">online documentation</a> - describing the various modules and components of the - server. - - <h3>Components/modules tested on TPF:</h3> - - <ul> - <li>alloc.c </li> - - <li>ap_base64.c </li> - - <li>ap_checkpass.c </li> - - <li>ap_cpystrn.c </li> - - <li>ap_ebcdic.c </li> - - <li>ap_fnmatch.c </li> - - <li>ap_md5c.c </li> - - <li>ap_sha1.c </li> - - <li>ap_signal.c </li> - - <li>ap_slack.c </li> - - <li>ap_snprintf.c </li> - - <li>buff.c </li> - - <li>buildmark.c </li> - - <li>gen_test.char.c </li> - - <li>gen_uri_delims.c </li> - - <li>htpasswd.c <em>(requires PUT10) </em></li> - - <li>http_config.c </li> - - <li>http_core.c </li> - - <li>http_log.c </li> - - <li>http_main.c </li> - - <li>http_protocol.c </li> - - <li>http_request.c </li> - - <li>http_vhost.c </li> - - <li>logresolve.c <em>(requires PUT10) </em></li> - - <li>mod_access.c <em>(Use of mod_access directives - "<tt>allow from</tt>" & "<tt>deny from</tt>" - with host <u>names</u> (versus ip addresses) requires - PUT10) </em></li> - - <li>mod_actions.c </li> - - <li>mod_alias.c </li> - - <li>mod_asis.c </li> - - <li>mod_auth.c </li> - - <li>mod_auth_anon.c </li> - - <li>mod_autoindex.c </li> - - <li>mod_cern_meta.c </li> - - <li>mod_cgi.c <em>(requires PUT10)</em> </li> - - <li>mod_digest.c </li> - - <li>mod_dir.c </li> - - <li>mod_env.c </li> - - <li>mod_example.c </li> - - <li>mod_expires.c </li> - - <li>mod_headers.c </li> - - <li>mod_imap.c </li> - - <li>mod_include.c <em>(CGI execution requires TPF version 4.1 - PUT10) </em></li> - - <li>mod_info.c </li> - - <li>mod_log_agent.c </li> - - <li>mod_log_config.c </li> - - <li>mod_log_referer.c </li> - - <li>mod_mime.c </li> - - <li>mod_mime_magic.c </li> - - <li>mod_negotiation.c </li> - - <li><a - href="http://hpwww.ec-lyon.fr/~vincent/apache/mod_put.html">mod_put.c</a> - <em>(third party module) </em></li> - - <li>mod_proxy.c </li> - - <li>mod_setenvif.c </li> - - <li>mod_speling.c </li> - - <li>mod_status.c </li> - - <li>mod_tpf_shm_static.c <em>(third party module, requires - PUT10) </em></li> - - <li>mod_unique_id.c <em>(requires PUT10)</em> </li> - - <li>mod_userdir.c </li> - - <li>mod_usertrack.c </li> - - <li>os.c </li> - - <li>os-inline.c </li> - - <li>proxy_cache.c </li> - - <li>proxy_connect.c </li> - - <li>proxy_ftp.c </li> - - <li>proxy_http.c </li> - - <li>proxy_util.c </li> - - <li>regular expression parser </li> - - <li>regular expression test tool <em>(requires - PUT10) </em></li> - - <li>rfc1413.c </li> - - <li>rotatelogs.c <em>(requires PUT10; if PJ27214 implemented be sure to apply PJ28367) </em></li> - - <li>syslog <em>(requires PUT13; see <a href="install-tpf.html#syslog">install</a> - and <a href="#syslog">usage</a> instructions) </em></li> - - <li>util.c </li> - - <li>util_date.c </li> - - <li>util_md5.c </li> - - <li>util_script.c </li> - - <li>util_uri.c </li> - </ul> - - <h3>Components/modules not yet supported on TPF:</h3> - - <ul> - <li>htdigest.c </li> - - <li>lib/expat-lite </li> - - <li>lib/sdbm </li> - - <li>mod_auth_digest.c </li> - - <li>mod_rewrite.c </li> - - <li>mod_vhost_alias.c </li> - </ul> - - <h3>Components/modules that don't apply or that probably won't - ever be available on TPF:</h3> - - <ul> - <li>ab.c </li> - - <li>ap_getpass.c </li> - - <li>mod_auth_db.c </li> - - <li>mod_auth_dbm.c </li> - - <li>mod_auth_db.module </li> - - <li>mod_mmap_static.c </li> - - <li>mod_so.c </li> - - <li>suexec.c </li> - </ul> - <a id="cgi" name="cgi"></a> - - <center> - <h2>How to Use CGI Scripts</h2> - </center> - - <p>The following is a very simple example of a CGI script - ("Hello World") and the necessary steps to run it.<br /> - Refer to the <a - href="http://httpd.apache.org/docs/mod/mod_cgi.html">mod_cgi - module</a> for additional information.</p> - - <h3>Add necessary directives to httpd.conf:</h3> - - <div style="margin-left: 2em"> - Example: <tt><br /> - </tt> - - <div style="margin-left: 2em"> - <tt>ScriptLog logs/script_log<br /> - ScriptAlias /cgi-bin/ /usr/local/apache/cgi-bin/</tt> - </div> - <br /> - A request for <tt>http://myserver/cgi-bin/filename.cgi</tt> - would cause the server to run the script - <tt>/usr/local/apache/cgi-bin/filename.cgi</tt> - </div> - - <h3>Create the CGI script:</h3> - - <div style="margin-left: 2em"> - <p>For this example <tt>QZZ1</tt> is the name of the TPF - program that will be executed by the CGI script.<br /> - The directory path must match what is in the httpd.conf file - for <tt>ScriptAlias</tt> directive.</p> - - <div style="margin-left: 2em"> - <tt>zfile echo "#!QZZ1" > - /usr/local/apache/cgi-bin/filename.cgi<br /> - zfile cat - /usr/local/apache/cgi-bin/filename.cgi </tt> - (this should display <tt>#!QZZ1</tt>)<br /> - <br /> - </div> - </div> - - <h3>Mark the script as executable:</h3> - - <div style="margin-left: 2em"> - <tt>zfile chmod 755 - /usr/local/apache/cgi-bin/filename.cgi<br /> - <br /> - </tt> - </div> - - <h3>Create, load, and activate a loadset containing the CGI - program (QZZ1xx):</h3> - - <div style="margin-left: 2em"> - <code>/** QZZ1-- simple "Hello world" program to demonstrate - basic CGI output **/<br /> - <br /> - #include <stdio.h><br /> - <br /> - void main() {<br /> - <br /> - </code> - - <div style="margin-left: 2em"> - <code>/** Print the CGI response header, required for all - HTML output. **/<br /> - /** Note the extra \n, to send the blank line. **/<br /> - <br /> - printf("Content-type: text/html\n\n");<br /> - <br /> - /** Print the HTML response page to stdout. **/<br /> - printf("<html>\n");<br /> - printf("<head><title> CGI Output - </title></head>\n");<br /> - printf("<body>\n");<br /> - printf("<h1> Hello world </h1> \n");<br /> - printf("</body>\n");<br /> - printf("</html>\n");<br /> - <br /> - </code> - </div> - <code>}<br /> - </code> - </div> - - <h3>Request the CGI script from a browser:</h3> - - <div style="margin-left: 2em"> - <tt>http://myserver/cgi-bin/filename.cgi</tt><br /> - </div> - <a id="options" name="options"></a> - - <center> - <h2>How to Use Apache's "Dash" Options</h2> - </center> - - <h3>Overview of Apache's "dash" options:</h3> - - <p>Apache can be invoked with various options, such as "-f". - Some of these options display information about the server or perform syntax checks - but they don't actually start the server. - These "information only" options are useful with TPF's ZFILE command line feature: - -h, -l, -L, -S, -t, -T, -v, and -V. - </p> - - <p>Another option, -X, is used when actually running the server. - It is passed to Apache through the ZINET XPARM field since ZINET is the only way to start the server on TPF.</p> - - <p>A third group of options apply to both the informational displays (ZFILE) and - running the server (ZINET XPARM): -d, -D and -f.</p> - - <p>The rest of Apache's options are either not applicable or are not supported on TPF.</p> - - <p>Using dash options requires PJ27277 which shipped on PUT13.</p> - - <h3>Table of supported Apache options</h3> - - <div style="margin-left: 2em"> - <table border="1" cellpadding="5"> - <tr><td><b>Option </b> - </td><td><b>ZFILE</b></td> - <td><b>ZINET</b> - </td><td><b>Description</b></td></tr> - - <tr><td valign="top"><b>-d</b> <i>path</i></td> - <td valign="top">ZFILE</td> - <td valign="top">ZINET</td> - <td valign="top">Set the initial value for the ServerRoot directive.</td></tr> - - <tr><td valign="top"><b>-D</b> <i>define</i></td> - <td valign="top">ZFILE</td> - <td valign="top">ZINET</td> - <td valign="top">Set a configuration parameter which can be used with <IfDefine>...</IfDefine> sections in the configuration file to conditionally skip or process commands.</td></tr> - - <tr><td valign="top"><b>-f</b> <i>filename</i></td> - <td valign="top">ZFILE</td> - <td valign="top">ZINET</td> - <td valign="top">Use an alternate configuration file instead of the default conf/httpd.conf file.</td></tr> - - <tr><td valign="top"><b>-h</b></td> - <td valign="top">ZFILE</td> - <td valign="top"> </td> - <td valign="top">List a short summary of available command line options then exit. - Note that this outputs all options, not just those supported on TPF.</td></tr> - - <tr><td valign="top"><b>-l</b></td> - <td valign="top">ZFILE</td> - <td valign="top"> </td> - <td valign="top">List modules compiled into the server then exit.</td></tr> - - <tr><td valign="top"><b>-L</b></td> - <td valign="top">ZFILE</td> - <td valign="top"> </td> - <td valign="top">List available configuration directives then exit. Note that this outputs all configuration directives, not just those supported on TPF.</td></tr> - - <tr><td valign="top"><b>-S</b></td> - <td valign="top">ZFILE</td> - <td valign="top"> </td> - <td valign="top">Show the settings as parsed from the configuration file then exit. Currently Apache only shows the virtual host settings.</td></tr> - - <tr><td valign="top"><b>-t</b></td> - <td valign="top">ZFILE</td> - <td valign="top"> </td> - <td valign="top">Run syntax tests for configuration files with document root checks then exit.</td></tr> - - <tr><td valign="top"><b>-T</b></td> - <td valign="top">ZFILE</td> - <td valign="top"> </td> - <td valign="top">Run syntax tests for configuration files <i>without</i> document root checks then exit.</td></tr> - - <tr><td valign="top"><b>-v</b></td> - <td valign="top">ZFILE</td> - <td valign="top"> </td> - <td valign="top">Show the version number then exit.</td></tr> - - <tr><td valign="top"><b>-V</b></td> - <td valign="top">ZFILE</td> - <td valign="top"> </td> - <td valign="top">Show the version number and various compile settings then exit.</td></tr> - - <tr><td valign="top"><b>-X</b></td> - <td valign="top"> </td> - <td valign="top">ZINET</td> - <td valign="top">Run in single-process mode for internal debugging purposes only. - The parent process does not fork any children.</td></tr> - - </table> - - <p>See <a href="http://httpd.apache.org/docs/programs/httpd.html">http://httpd.apache.org/docs/programs/httpd.html</a> - for more information about these command line options.</p> - </div> - - <h3>Setup for ZFILE examples</h3> - - <div style="margin-left: 2em"> - <p>Ensure Apache (CHTA) is loaded</p> - - <p>Create the httpd script:</p> - - <div style="margin-left: 2em"> - <tt>zfile echo "#!CHTA" > /bin/httpd<br /> - zfile cat /bin/httpd </tt> (this should display - <tt>#!CHTA</tt>) - </div> - <br /> - <br /> - - - <p>Mark the script as executable:<br /> - </p> - - <div style="margin-left: 2em"> - <tt>zfile chmod 755 /bin/httpd</tt> - </div> - <br /> - - - <p>(See "<em>ZFILE-Activate a TPF Segment or Script</em>" in - the <em>Operations</em> guide for more information: <a - href="http://www.ibm.com/tpf/pubs/tpfpubs.htm">http://www.ibm.com/tpf/pubs/tpfpubs.htm</a>.)</p> - </div> - - <h3>ZFILE example 1</h3> - - <div style="margin-left: 2em"> - <p><tt>zfile httpd -v</tt></p> - - <p><tt>FILE0001I 11.43.09 START OF DISPLAY FROM httpd - -v<br /> - Server version: Apache/1.3.20 (TPF)<br /> - Server built: May 23 2001 09:39:22<br /> - END OF DISPLAY</tt></p> - </div> - - <h3>ZFILE example 2</h3> - - <div style="margin-left: 2em"> - <p><tt>zfile httpd -t -f - /usr/local/apache/conf/alt.conf</tt></p> - - <p><tt>FILE0002I 11.47.26 START OF ERROR DISPLAY FROM httpd - -t ...<br /> - Syntax OK<br /> - END OF DISPLAY</tt></p> - </div> - - <h3>ZINET XPARM example</h3> - <div style="margin-left: 2em"> - - This example uses an alternate configuration file called /usr/local/apache/conf/alt.conf.<br /> - Transfer the alternate configuration file to your TPF test system.<br /> - <tt>zinet add s-apache pgm-chta model-daemon user-root xparm--f conf/alt.conf</tt><br /> - <tt>zinet start s-apache</tt> - - <p>(See "<em>ZINET ADD-Add an Internet Server Application Entry</em>" and - "<em>ZINET ALTER-Change an Internet Server Application Entry</em>" in - the <em>Operations</em> guide for more information about using the XPARM field: - <a href="http://www.ibm.com/tpf/pubs/tpfpubs.htm">http://www.ibm.com/tpf/pubs/tpfpubs.htm</a>.)</p> - </div> - - - <a id="syslog" name="syslog"></a> - - <center> - <h2>Syslog Daemon</h2> - </center> - - <h3>Syslog overview:</h3> - - <p>The syslog daemon is a server process that provides a message logging facility for application and system processes. - It can be used to write messages to log files or to tapes. - See <em>TPF Transmission Control Protocol/Internet Protocol</em> for detailed information about using the syslog daemon on TPF: - <a href="http://www.ibm.com/tpf/pubs/tpfpubs.htm">http://www.ibm.com/tpf/pubs/tpfpubs.htm</a>. - And see the Apache <a href="http://httpd.apache.org/docs/mod/core.html#errorlog">ErrorLog directive documentation</a> - for details on how to use syslog with Apache.</p> - - <p>Syslog capabilities were added with PJ27214 which shipped with PUT13. - You must follow the <a href="install-tpf.html#syslog">syslog specific installation instructions</a> - in order to have the option of using syslog with Apache.</p> - - - <h3>Tips on using syslog with your Apache error log:</h3> - - <p>This section provides some tips on using syslog with Apache. - It is not meant to replace the syslog documentation in the TPF TCP/IP publication.</p> - - <ul> -<li>The syslog daemon will not create files. If you are logging to a file (as specified in the <tt>syslog.conf</tt> configuration file) that file must already exist and - have permissions that allow the syslog daemon to write to it.</li> -<li>You must restart the syslog daemon for it to recognize changes to its <tt>syslog.conf</tt> configuration file.</li> -<li>The syslog daemon must be active prior to starting Apache.</li> -<li>To indicate you want to use syslog with your Apache error log add the following directive to your <tt>httpd.conf</tt> file: - "<tt>ErrorLog syslog:</tt><i>facility</i>" where <i>facility</i> is "local0" through "local7".</li> -<li>Apache will default the facility to "local7" if you omit the facility name from the ErrorLog directive (that is "<tt>ErrorLog syslog</tt>").</li> -<li>The syslog facility name must be one that is recognized by both Apache and the syslog.h header file. - The facility names "local0" through "local7" are explicitly set aside for your use.</li> -<li>Although "local0" through "local7" are recommended user facility names, here is the complete list of names recognized - by both Apache and TPF's syslog.h: auth, cron, daemon, kern, local0, local1, local2, local3, local4, local5, local6, local7, - lpr, mail, news, syslog, user, and uucp.</li> -<li>You won't see the normal Apache startup/shutdown messages when you use syslog with your Apache error log.</li> -<li>Syslog does not support TCP/IP Offload devices (ZCLAW)</li> -</ul> - - <a id="porting_notes" name="porting_notes"></a> - - <center> - <h2>Porting Notes</h2> - </center> - - <h3>Changes made due to differences between UNIX and TPF's - process models:</h3> - - <ul> - <li><b>Signals</b>: On TPF a signal that is sent to a process - remains unhandled until the process explicitly requests that - signals be handled using the <tt>tpf_process_signals()</tt> - function. Additionally, the default action for an alarm on - TPF is to take an OPR-7777 dump and exit. (On UNIX the - default is the equivalent of <tt>exit()</tt> with no dump - taken.) These differences necessitated a few - modifications: </li> - - <li style="list-style: none"> - <br /> - - - <ul> - <li>bypass the use of <tt>ap_block_alarms()</tt> & - <tt>ap_unblock_alarms()</tt> </li> - - <li>add <tt>tpf_process_signals()</tt> calls </li> - - <li>add <tt>select()</tt> calls to prevent - blocking. </li> - </ul> - </li> - </ul> - - <h3>Find that function...</h3> - Some simple functions & definitions initially needed to be - added on TPF, such as <tt>FD_SET()</tt>. We've put these in - src/os/tpf/os.h for now. - - <h3>EBCDIC changes:</h3> - TPF-specific conversion tables between US-ASCII and EBCDIC - (character set IBM-1047 to be exact) were created. - - <h3>Miscellaneous, minor changes:</h3> - Various minor changes (such as casting) were made due to - differences in how some functions are implemented on - TPF. <br /> - - <hr /> - - <center> - [ <a href="#top">top</a> - | <a href="#configuration_files">Configuration Files</a> - | <a href="#whats_available">What's Available</a> - | <a href="#cgi">CGI Scripts</a> - | <a href="#options">Options</a> - | <a href="#syslog">Syslog</a> - | <a href="#porting_notes">Porting Notes</a> ] - </center> - </body> -</html> - diff --git a/usr.sbin/httpd/htdocs/manual/sitemap.html b/usr.sbin/httpd/htdocs/manual/sitemap.html index f7bdb6aaea4..248c9265295 100644 --- a/usr.sbin/httpd/htdocs/manual/sitemap.html +++ b/usr.sbin/httpd/htdocs/manual/sitemap.html @@ -24,12 +24,6 @@ <li><a href="index.html">Apache HTTP Server Version 1.3 Documentation</a> <ul> -<li>Release Notes -<ul> -<li><a href="upgrading_to_1_3.html">Upgrading to 1.3 from 1.2</a></li> -<li><a href="new_features_1_3.html">New features with Apache 1.3</a></li> -</ul></li> - <li>Using the Apache HTTP Server <ul> <li><a href="install.html">Compiling and Installing Apache</a></li> @@ -77,18 +71,7 @@ Side Includes</a></li> <li>Platform-specific Notes <ul> -<li><a href="windows.html">Using Apache with Microsoft Windows</a></li> -<li><a href="win_compiling.html">Compiling Apache for Microsoft Windows</a></li> -<li><a href="win_service.html">Running Apache for Windows as a Service</a></li> -<li><a href="ebcdic.html">The Apache EBCDIC Port</a></li> -<li><a href="readme-tpf.html">The Apache TPF Port</a></li> -<li><a href="install-tpf.html">Installing Apache on TPF</a></li> -<li><a href="mpeix.html">Using Apache with HP MPE/iX</a></li> -<li><a href="netware.html">Using Apache with Novell NetWare</a></li> -<li><a href="unixware.html">Compiling Apache under UnixWare</a></li> <li><a href="misc/perf-bsd44.html">Running a High-Performance Web Server for BSD</a></li> -<li><a href="misc/perf-dec.html">Performance Tuning Tips for Digital Unix</a></li> -<li><a href="misc/perf-hp.html">Running a High-Performance Web Server on HPUX</a></li> <li><a href="misc/perf.html">Hints on Running a High-Performance Web Server</a></li> </ul></li> diff --git a/usr.sbin/httpd/htdocs/manual/stopping.html.html b/usr.sbin/httpd/htdocs/manual/stopping.html.html index 10a619c0e48..8b840ced617 100644 --- a/usr.sbin/httpd/htdocs/manual/stopping.html.html +++ b/usr.sbin/httpd/htdocs/manual/stopping.html.html @@ -23,11 +23,6 @@ <h1 align="CENTER">Stopping and Restarting Apache</h1> - <p>This document covers stopping and restarting Apache on Unix - and Cygwin only. Windows users should see <a - href="windows.html#signal">Signalling Apache when - running</a>.</p> - <p>You will notice many <code>httpd</code> executables running on your system, but you should not send signals to any of them except the parent, whose pid is in the <a diff --git a/usr.sbin/httpd/htdocs/manual/unixware.html b/usr.sbin/httpd/htdocs/manual/unixware.html deleted file mode 100644 index ebfeee4c7de..00000000000 --- a/usr.sbin/httpd/htdocs/manual/unixware.html +++ /dev/null @@ -1,73 +0,0 @@ -<!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>Compiling Apache under UnixWare</title> - </head> - <!-- Background white, links blue (unvisited), navy (visited), red (active) --> - - <body bgcolor="#FFFFFF" text="#000000" link="#0000FF" - vlink="#000080" alink="#FF0000"> - <div align="CENTER"> - <img src="images/sub.gif" alt="[APACHE DOCUMENTATION]" /> - - <h3>Apache HTTP Server</h3> - </div> - - - - <h1 align="CENTER">Compiling Apache under UnixWare</h1> - To compile a working copy of Apache under UnixWare, there are - several other steps you may need to take. These prevent such - problems as zombie processes, bind errors, and accept errors, - to name a few. - - <h2>UnixWare 1.x</h2> - Make sure that USE_FCNTL_SERIALIZE_ACCEPT is defined (if not - defined by Apache autoconfiguration). If using the UnixWare - <em>cc</em> compiler, and you still see accept() errors, don't - use compiler optimization, or get <em>gcc</em>. - - <h2>UnixWare 2.0.x</h2> - SCO patch <a - href="ftp://ftp.sco.com/UW20/tf2163.txt">tf2163</a> is required - in order for Apache to work correctly on UnixWare 2.0.x. See <a - href="http://www.sco.com">http://www.sco.com</a> for UnixWare - patch information. - - <p>In addition, make sure that USE_FCNTL_SERIALIZE_ACCEPT is - defined (if not defined by Apache autoconfiguration). To reduce - instances of connections in FIN_WAIT_2 state, you may also want - to define NO_LINGCLOSE (Apache 1.2 only).</p> - - <h2>UnixWare 2.1.x</h2> - SCO patch <a - href="ftp://ftp.sco.com/UW21/ptf3123b.txt">ptf3123</a> is - required in order for Apache to work correctly on UnixWare - 2.1.x. See <a href="http://www.sco.com">http://www.sco.com</a> - for UnixWare patch information. - - <p><strong>NOTE:</strong> Unixware 2.1.2 and later already have - patch ptf3123 included</p> - - <p>In addition, make sure that USE_FCNTL_SERIALIZE_ACCEPT is - defined (if not defined by Apache autoconfiguration). To reduce - instances of connections in FIN_WAIT_2 state, you may also want - to define NO_LINGCLOSE (Apache 1.2 only).</p> - - <p>Thanks to Joe Doupnik <JRD@cc.usu.edu> and Rich Vaughn - <rvaughn@aad.com> for additional info for UnixWare - builds.</p> - - <p> <hr /> - - <h3 align="CENTER">Apache HTTP Server</h3> - <a href="./"><img src="images/index.gif" alt="Index" /></a> - - </p> - </body> -</html> - diff --git a/usr.sbin/httpd/htdocs/manual/win_compiling.html.html b/usr.sbin/httpd/htdocs/manual/win_compiling.html.html deleted file mode 100644 index a91f3f48407..00000000000 --- a/usr.sbin/httpd/htdocs/manual/win_compiling.html.html +++ /dev/null @@ -1,277 +0,0 @@ -<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" - "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> -<!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>Compiling Apache for Microsoft Windows</title> - </head> - <!-- Background white, links blue (unvisited), navy (visited), red (active) --> - - <body bgcolor="#FFFFFF" text="#000000" link="#0000FF" - vlink="#000080" alink="#FF0000"> - <div align="CENTER"> - <img src="images/sub.gif" alt="[APACHE DOCUMENTATION]" /> - - <h3>Apache HTTP Server</h3> - </div> - - - - <h1 align="CENTER">Compiling Apache for Microsoft Windows</h1> - - <p>There are many important points before you begin compiling - Apache. See <a href="windows.html">Using Apache with Microsoft - Windows</a> before you begin.</p> - - <p>Compiling Apache requires Microsoft Visual C++ 5.0 or 6.0 to - be properly installed. It can be built with command-line tools, - or within the Visual Studio environment. Consult the VC++ - manual to determine how to install them. Be especially aware - that the vcvars32.bat file from the Program - Files/DevStudio/VC/bin folder, and the setenv.bat file from the - Platform SDK, may be required to prepare the command-line tools - for command-line builds (e.g. using nmake). To install apache - with the Makefile.win or the InstallBin project in the Visual - Studio IDE, the awk utility is also required. If you use Visual - Studio 7.0 (.net), loading Apache.dsw converts it to .msproj - format. When changes are made to the project (.dsp) files, you - must reconvert Apache.dsw all over again.</p> - - <p>First, you should install awk.exe where it can be found in - the path and the DevStudio environment, if you plan to use the - IDE. There are many versions of awk available for Windows; the - easiest to install is available from Brian Kernighan's <a - href="http://cm.bell-labs.com/cm/cs/who/bwk/">http://cm.bell-labs.com/cm/cs/who/bwk/</a> - site. When downloading <a - href="http://cm.bell-labs.com/cm/cs/who/bwk/awk95.exe">http://cm.bell-labs.com/cm/cs/who/bwk/awk95.exe</a> - from this site, you must save it with the name awk.exe rather - than awk95.exe.</p> - - <p>Note that Developer Studio IDE will only find awk.exe from - the <u>T</u>ools menu <u>O</u>ptions... Directories tab - (the Projects - VC++ Directories pane in Developer Studio 7.0) - listing Executable file paths. Add the path for awk.exe to this - list, and your system PATH environment variable, as needed.</p> - - <p>Then unpack the Apache distribution into an appropriate - directory. Open a command-line prompt, and change to the - <code>src</code> subdirectory of the Apache distribution.</p> - - <p>The master Apache makefile instructions are contained in the - <code>Makefile.win</code> file. To compile Apache on Windows - NT, simply use one of the following commands:</p> - - <ul> - <li><code>nmake /f Makefile.win _apacher</code> (release - build)</li> - - <li><code>nmake /f Makefile.win _apached</code> (debug - build)</li> - </ul> - - <p>These will both compile Apache. The latter will include - debugging information in the resulting files, making it easier - to find bugs and track down problems.</p> - - <p>If you get an error such as "the name specified is not - recognized..." then you need to run vcvars32.bat first. Enter - the following command;</p> -<pre> - "c:\Program Files\DevStudio\VC\Bin\VCVARS32.BAT" -</pre> - - <p>(you will need to adjust this command so it matches the - directory where your VC was installed.)</p> - - <p>If you are a Visual C++ 5.0 user, and have installed a - recent Platform SDK, you may also need to enter the following - command (adjusted for the install directory of the Platform SDK - update);</p> -<pre> - "c:\Program Files\Platform SDK\SETENV.BAT" -</pre> - - <p>Then try the nmake command again.</p> - - <p><strong>Note</strong> that the Windows Platform SDK update - is required to enable all supported mod_isapi features. The SDK - files distributed with Microsoft Visual C++ 5.0 are out of - date. Without a recent update, Apache will issue warnings under - MSVC++ 5.0 that some mod_isapi features will be disabled. Look - for the update at <a - href="http://msdn.microsoft.com/platformsdk/"> - http://msdn.microsoft.com/platformsdk/</a>.</p> - - <p>Apache can also be compiled using VC++'s Visual Studio - development environment. To simplify this process, a Visual - Studio workspace, Apache.dsw, is provided in the - <code>src</code> folder. This workspace exposes the entire list - of working .dsp projects that are required for the complete - Apache binary release. It includes dependencies between the - projects to assure that they are built in the appropriate - order. InstallBin is the top-level project that will build all - other projects, and install the compiled files into their - proper locations.</p> - - <p>These .dsp project files are distributed in Visual C++ 6.0 - format. Visual C++ 5.0 (97) will recognize them with the single - exception of the /ZI flag, which corresponds to the VC 5.0 /Zi - flag for debugging symbols. To quickly prepare the .dsp files - for the Visual Studio 5.0 (97), you can use the perl scripts - distributed in the <code>src\helpers</code> folder:</p> -<pre> - cd src\helpers - cvstodsp5.pl -</pre> - - <p>This command assumes you have a Perl interpreter installed - and registered for files of type .pl. The list of converted - .dsp project files will be displayed as they are converted. If - you contribute back a patch that offers revised project files, - please convert them back with the script dsp5tocvs.pl, which - puts the projects back to Visual Studio 6.0 format.</p> - - <p>The core .dsp projects built by Apache.dsw and makefile.win - are:</p> - - <ul> - <li><code>os\win32\ApacheOS.dsp</code></li> - <li><code>os\win32\Win9xConHook.dsp</code></li> - <li><code>regex\regex.dsp</code></li> - <li><code>ap\ap.dsp</code></li> - <li><code>lib\expat-lite\xmltok.dsp</code></li> - <li><code>lib\expat-lite\xmlparse.dsp <em>requires - xmltok</em></code></li> - <li><code>lib\sdbm.dsp</code></li> - <li><code>main\gen_uri_delims.dsp</code></li> - <li><code>main\gen_test_char.dsp</code></li> - <li><code>ApacheCore.dsp <em>requires all of the - above</em></code></li> - <li><code>Apache.dsp <em>requires ApacheCore</em></code></li> - </ul> - - <p>In addition, the <code>os\win32</code> subdirectory contains - project files for the optional modules, all of which require - ApacheCore.</p> - - <ul> - <li><code>os\win32\mod_auth_anon.dsp</code></li> - <li><code>os\win32\mod_auth_dbm.dsp <em>also requires - sdbm</em></code></li> - <li><code>os\win32\mod_auth_digest.dsp</code></li> - <li><code>os\win32\mod_cern_meta.dsp</code></li> - <li><code>os\win32\mod_digest.dsp</code></li> - <li><code>os\win32\mod_expires.dsp</code></li> - <li><code>os\win32\mod_headers.dsp</code></li> - <li><code>os\win32\mod_info.dsp</code></li> - <li><code>os\win32\mod_mime_magic.dsp</code></li> - <li><code>os\win32\mod_proxy.dsp</code></li> - <li><code>os\win32\mod_rewrite.dsp</code></li> - <li><code>os\win32\mod_speling.dsp</code></li> - <li><code>os\win32\mod_status.dsp</code></li> - <li><code>os\win32\mod_unique_id.dsp</code></li> - <li><code>os\win32\mod_usertrack.dsp</code></li> - <li><code>os\win32\mod_vhost_alias.dsp</code></li> - </ul> - - <p>The <code>support\</code> folder contains project files for - additional programs that are not part of the Apache runtime, - but are used by the administrator to maintain password and log - files.</p> - - <ul> - <li><code>support\htdigest.dsp</code></li> - <li><code>support\htpasswd.dsp</code></li> - <li><code>support\logresolve.dsp</code></li> - <li><code>support\rotatelogs.dsp</code></li> - </ul> - - <p>Once Apache has been compiled, it needs to be installed in - its server root directory. The default is the - <code>\Apache</code> directory, on the current hard drive.</p> - - <p>To install the files into the <code>c:\ServerRoot</code> - directory automatically, use one of the following nmake commands - (see above):</p> - - <ul> - <li><code>nmake /f Makefile.win installr - INSTDIR=<em>c:\ServerRoot</em></code> (for release - build)</li> - <li><code>nmake /f Makefile.win installd - INSTDIR=<em>c:\ServerRoot</em></code> (for debug build)</li> - </ul> - - <p>The <em>c:\ServerRoot</em> argument to INSTDIR gives the - installation directory (it can be omitted if Apache is to be - installed into <samp>\Apache</samp>).</p> - - <p>This will install the following:</p> - - <ul> - <li><code><em>c:\ServerRoot</em>\Apache.exe</code> - Apache - program</li> - <li><code><em>c:\ServerRoot</em>\ApacheCore.dll</code> - - Apache runtime [shared library]</li> - <li><code><em>c:\ServerRoot</em>\Win9xConHook.dll</code> - - Win9x console fixups [shared library]</li> - <li><code><em>c:\ServerRoot</em>\xmlparse.dll</code> - XML - parser [shared library]</li> - <li><code><em>c:\ServerRoot</em>\xmltok.dll</code> - XML - token engine [shared library]</li> - <li><code><em>c:\ServerRoot</em>\bin\*.exe</code> - - Administration programs</li> - <li><code><em>c:\ServerRoot</em>\cgi-bin</code> - Example CGI - scripts</li> - <li><code><em>c:\ServerRoot</em>\conf</code> - Configuration - files directory</li> - <li><code><em>c:\ServerRoot</em>\icons</code> - Icons for - FancyIndexing</li> - <li><code><em>c:\ServerRoot</em>\include\*.h</code> - Apache - header files</li> - <li><code><em>c:\ServerRoot</em>\htdocs</code> - Welcome - index.html pages</li> - <li><code><em>c:\ServerRoot</em>\htdocs\manual</code> - - Apache documentation</li> - <li><code><em>c:\ServerRoot</em>\lib</code> - Static library - files</li> - <li><code><em>c:\ServerRoot</em>\libexec</code> - Dynamic - link libraries</li> - <li><code><em>c:\ServerRoot</em>\logs</code> - Empty logging - directory</li> - <li><code><em>c:\ServerRoot</em>\modules\mod_*.dll</code> - - Loadable Apache modules</li> - </ul> - - <p>If you do not have nmake, or wish to install in a different - directory, be sure to use a similar naming scheme.</p> - - <p>To simplify the process, dependencies between all projects - are defined in the Microsoft Visual Studio workspace file:</p> -<pre> - src/Apache.dsw -</pre> - - <p>This assures that lower-level sources are rebuilt from - within Visual Studio. The top level project is InstallBin, - which invokes Makefile.win to move the compiled executables and - dlls. You may personalize the INSTDIR= setting by changing the - Settings for InstallBin, Build command line entry under the - General tab. The default from within the InstallBin.dsp project - is one level up (..) from the src tree. Modify the InstallBin - settings and edit the INSTDIR=.. entry to the desired target - directory.</p> - <hr /> - - <h3 align="CENTER">Apache HTTP Server</h3> - <a href="./"><img src="images/index.gif" alt="Index" /></a> - - </body> -</html> - - - diff --git a/usr.sbin/httpd/htdocs/manual/win_service.html.html b/usr.sbin/httpd/htdocs/manual/win_service.html.html deleted file mode 100644 index 6923201e67a..00000000000 --- a/usr.sbin/httpd/htdocs/manual/win_service.html.html +++ /dev/null @@ -1,449 +0,0 @@ -<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" - "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> -<!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 Apache for Windows as a Service</title> - </head> - <!-- Background white, links blue (unvisited), navy (visited), red (active) --> - - <body bgcolor="#FFFFFF" text="#000000" link="#0000FF" - vlink="#000080" alink="#FF0000"> - <div align="CENTER"> - <img src="images/sub.gif" alt="[APACHE DOCUMENTATION]" /> - - <h3>Apache HTTP Server</h3> - </div> - - - - <h1 align="CENTER">Running Apache for Windows as a Service</h1> - - <p>Apache can be run as a service on Windows NT/2000. (There is - also some experimental support for similar behavior on - <a href="#win95svc">Windows 95/98</a>, introduced with Apache - 1.3.13).</p> - - <p>Installing Apache as a service should only be done once you - can successfully run it in a console window. See <a - href="windows.html">Using Apache with Microsoft Windows</a> - before you attempt to install or run Apache as a service. - Changes to the httpd.conf file should always be followed by - starting Apache as a console window. If this succeeds, the - service should succeed.</p> - - <p><strong>NOTE: Prior to version 1.3.13, the configuration was - <em>not tested</em> prior to performing the - installation</strong>, and a lack of service dependencies often - caused the console window to succeed, but the service would - still fail. See <a href="#service">below</a> if you are having - problems running a version of Apache prior to 1.3.13 to resolve - the issue. If you have this problem with version 1.3.13 or - greater, first try uninstalling (-u) and re-installing (-i) the - Apache service. Better yet, upgrade to the most recent version.</p> - <hr /> - - <p>To start Apache as a service, you first need to install it - as a service. Multiple Apache services can be installed, each - with a different name and configuration. To install the default - Apache service named "Apache", choose the "Install as Service for - All Users" option when launching the Apache installation package. - Once this is done you can start the "Apache" service by opening - the Services window (in the Control Panel, hidden in "Administrative - Tools" on Windows 2000), selecting Apache, then clicking - on Start. Apache will now be running, hidden in the background. - You can later stop Apache by clicking on Stop. As an - alternative to using the Services window, you can start and - stop the "Apache" service from the command line with</p> -<pre> - NET START APACHE - NET STOP APACHE -</pre> - - <p>See <a href="#signal">Controlling Apache as a Service</a> - for more information on installing and controlling Apache - services.</p> - - <p><strong>Apache, unlike many other Windows NT/2000 services, - logs most errors to its own error.log file, in the logs folder - within the Apache server root folder. You will find few Apache - error details in the Windows NT Event Log. Only errors as - Apache attempts to start are captured in the Application Event - Log.</strong></p> - - <p>After starting Apache as a service (or if you have trouble - starting it) you can test it using the same <a - href="windows.html#test">procedure</a> as for running in a - console window. Remember to use the command:</p> -<pre> - apache -n "service name" -</pre> - - <p>to assure you are using the service's default - configuration.</p> - - <h2><a id="service" name="service">Running Apache for Windows - as a Service</a></h2> - - <p><strong>Note: The -n option to specify a service name is - only available with Apache 1.3.7 and later.</strong> Earlier - versions of Apache only support the default service name - 'Apache'. Only version 1.3.21 supports Windows 2000 ability - to 'rename' the display name of a service.</p> - - <p>You can install Apache as a Windows NT service as - follows:</p> -<pre> - apache -i -n "service name" -</pre> - - <p>To install a service to use a particular configuration, - specify the configuration file when the service is - installed:</p> -<pre> - apache -i -n "service name" -f "\my server\conf\my.conf" -</pre> - - <p>You can pass any other arguments, such as -d to change the - default server root directory, -D, -C or -c to change config - file processing, etc. Since these are stored in the registry - and are difficult to modify, use this command to clear the - options and replace them with a new list of options;</p> -<pre> - apache -k config -n "service name" -f "\my server\conf\my.conf" -</pre> - - <p>To remove an Apache service, use:</p> -<pre> - apache -u -n "service name" -</pre> - - <p>The default "service name", if one is not specified, is - "Apache".</p> - - <p>Once a service is installed, you can use the <samp>-n</samp> - option, in conjunction with other options, to refer to a - service's configuration file. For example:</p> - - <p>To test a service's configuration file and report the - default options for the service (configured with -i, -k install - or -k config) use:</p> -<pre> - apache -n "service name" -t -</pre> - - <p>To start a console Apache using a service's configuration - file and its default options, use:</p> -<pre> - apache -n "service name" -</pre> - - <p>Effective with Apache release 1.3.15, the -k install option - was added as an alias to -i, and the -k uninstall option was - added as an alias to -u. The original -i and -u options are - deprecated in Apache 2.0. These aliases were added to ease the - transition for administrators running both versions.</p> - - <h2><a id="depends" name="depends">Important Note on service - dependencies:</a></h2> - - <p>Prior to Apache release 1.3.13, the dependencies required to - successfully start an installed service were not configured. - After installing a service using earlier versions of Apache, - you must follow these steps:</p> -<pre> - Run regedt32 - Select <u>W</u>indow - "HKEY_LOCAL_MACHINE on Local Machine" from the menu - Double-click to open the SYSTEM, then the CurrentControlSet keys - Scroll down and click on the Apache servicename - Select <u>E</u>dit - Add <u>V</u>alue... from the menu - Fill in the Add Value dialog with - <u>V</u>alue Name: DependOnGroup - <u>D</u>ata Type: REG_MULTI_SZ - and click OK - Leave the Multi-String Editor dialog empty and click OK - Select <u>E</u>dit - Add <u>V</u>alue... from the menu - Fill in the Add Value dialog with - <u>V</u>alue Name: DependOnService - <u>D</u>ata Type: REG_MULTI_SZ - and click OK - Type the following list (one per line) in the Multi-String Editor dialog - Tcpip - Afd - and click OK -</pre> - - <p>If you are using COM or DCOM components from a third party - module, ISAPI, or other add-in scripting technologies such as - ActiveState Perl, you may also need to add the entry Rpcss to - the DependOnService list. To avoid exposing the TCP port 135 - when it is unnecessary, Apache does not create that entry upon - installation. Follow the directions above to find or create the - DependOnService value, double click that value if it already - exists, and add the Rpcss entry to the list.</p> - - <p>Other installations may require additional dependencies. - If any files required at startup reside on a network drive, you - may need to first configure the service to depend on the network - redirector (usually lanmanworkstation) and follow the directions - below under the "User Account for Apache Service to Run As" section.</p> - - <p>Attempting to use both IIS and Apache, on the same port but on - two different IP addresses may require the W3SVC (IIS) to start prior - to Apache, because IIS tries to glom onto all IP addresses (0.0.0.0) - as it starts, and will fail if Apache has already started on a - specific IP address.</p> - - <p>Apache 1.3.21 introduces a MUCH simpler way to add a dependency. - The -W "servicename" argument modifies the -k install or -k config - commands to configure a dependency for Apache. Multiple -W arguments - may be given, but they should all occur after the -k option. - For example, to add the LanmanWorkstation dependency to an installed - "Apache" service, use this command:</p> -<pre> - apache -k config -n Apache -W LanmanWorkstation -</pre> - - <h2>User Account for Apache Service to Run As (NT/2000)</h2> - - <p>When Apache is first installed as a service (e.g. with the - -i option) it will run as user "System" (the LocalSystem - account). There should be few issues if all resources for the - web server reside on the local system, but it has broad - security privileges to affect the local machine!</p> - - <blockquote> - LocalSystem is a very privileged account locally, so you - shouldn't run any shareware applications there. However, it - has no network privileges and cannot leave the machine via - any NT-secured mechanism, including file system, named pipes, - DCOM, or secure RPC. - </blockquote> - - <p><strong>NEVER grant network privileges to the SYSTEM - account!</strong> Create a new user account instead, grant the - appropriate privileges to that user, and use the 'Log On As:' - option. Select the Start Menu -> Settings -> Control - Panel -> Services -> apache service ... and click the - "Startup" button to access this setting.</p> - - <blockquote> - A service that runs in the context of the LocalSystem account - inherits the security context of the SCM. It is not - associated with any logged-on user account and does not have - credentials (domain name, user name, and password) to be used - for verification. - </blockquote> - - <p>The SYSTEM account has no privileges to the network, so - shared pages or a shared installation of Apache is invisible to - the service. If you intend to use <em>any</em> network - resources, the following steps should help:</p> - - <ul> - <li>Select Apache from the Control Panel's Service dialog and - click Startup.</li> - - <li>Verify that the service account is correct. You may wish - to create an account for your Apache services.</li> - - <li>Retype the password and password confirmation.</li> - - <li>Go to User Manager for Domains.</li> - - <li>Click on Policies from the title bar menu, and select - User Rights.</li> - - <li>Select the option for Advanced User Rights.</li> - - <li> - In the drop-down list, verify that the following rights - have been granted to the selected account: - - <ul> - <li>Act as part of the operating system</li> - - <li>Back up files and directories</li> - - <li>Log on as a service</li> - - <li>Restore files and directories</li> - </ul> - </li> - - <li>Confirm that the selected account is a member of the - Users group.</li> - - <li>Confirm the selected account has access to all document - and script directories (minimally read and browse - access).</li> - - <li>Confirm the selected account has read/write/delete access - to the Apache logs directory!</li> - </ul> - - <p>If you allow the account to log in as a user, then you can - log in yourself and test that the account has the privileges to - execute the scripts, read the web pages, and that you can start - Apache in a console window. If this works, and you have - followed the steps above, Apache should execute as a service - with no problems.</p> - - <p><strong>Note: error code 2186</strong> is a good indication - that you need to review the 'Log On As' configuration, since - the server can't access a required network resource.</p> - - <h2><a id="trouble" name="trouble">Troubleshooting Apache for - Windows as a Service</a></h2> - - <p>When starting Apache as a service you may encounter an error - message from Windows service manager. For example if you try to - start Apache using the Services applet in Windows Control Panel - you may get the following message;</p> -<pre> - Could not start the apache service on \\COMPUTER - Error 1067; The process terminated unexpectedly. -</pre> - - <p>You will get this error if there is any problem starting - Apache. In order to see what is causing the problem you should - follow the instructions for <a href="windows.html#test">Testing - Apache at the Command Prompt</a>.</p> - - <p>Also, Apache 1.3.13 now records startup errors in the - Application Event Log under Windows NT/2000, if Apache is run - as a service. Run the Event Viewer and select <u>L</u>og ... - <u>A</u>pplication to see these events.</p> - - <p><strong>Check the Application Event Log with the Event - Viewer in case of any problems, even if no error message pops - up to warn you that an error occurred.</strong></p> - - <h2><a id="cmdline" name="cmdline">Running Apache for Windows - from the Command Line</a></h2> - For details on controlling Apache service from the command - line, please refer to <a href="windows.html#cmdline">console - command line</a> section. - - <h2><a id="signal" name="signal">Controlling Apache as a - Service</a></h2> - - <p>Multiple instances of Apache can be installed and run as - services. Signal an installed Apache service to start, restart, - or shutdown/stop as follows:</p> -<pre> - apache -n "service name" -k start - apache -n "service name" -k restart - apache -n "service name" -k shutdown - apache -n "service name" -k stop -</pre> - - <p>For the default "Apache" service, the -n Apache option is - still required, since the -k commands without the -n option are - directed at Apache running in a console window. The quotes are - only required if the service name contains spaces.</p> - - <p><strong>Note: the -k stop alias for the -k shutdown command - was introduced in Apache version 1.3.13.</strong> Earlier - versions of Apache will only recognize the -k shutdown option. - Prior to 1.3.3, Apache did not recognize <em>any</em> -k - options at all!</p> - - <p>Note that you may specify startup options on the apache -k - start command line, including the -D, -C and -c options. These - affect the processing of the service configuration, and may be - used with an <IfDefine> block to conditionally process - directives. You may also override the server root path or - configuration file with the -d or -f options. The options - should also be passed to the -k restart command, but they are - ignored if the service is running, and only processed if the - service is started.</p> - - <p>The service also appears in the Service Control applet on - Windows NT/2000. For NT, this is found in the Settings -> - Control Panel -> Services entry, and on 2000 it is found in - the Settings -> Control Panel -> Administrative Tools - -> Services entry. Here you can select the desired Apache - service to start or stop it. Pass additional options such as - -D, -C and -c, or override the default -d or -f options in the - Start Parameters box before clicking the Start button. These - options behave identically to the apache -k start command.</p> - - <p>In addition, you can use the native Windows NT/2000 command - NET to start and stop Apache services:</p> -<pre> - NET START "service name" - NET STOP "service name" -</pre> - - <p>Again, quotes are only required if the service name contains - spaces. There is no way using the NET START command to pass - additional options such as -D, -c or -C using the NET START - command. If options are required, use one of the other two - methods instead.</p> - - <h2><a id="win95svc" name="win95svc">Experimental - Windows 95/98 Service</a></h2> - - <p><strong>Note: The service options for Windows 95 and 98 are - only available with Apache 1.3.13 and later.</strong> Earlier - versions of Apache only supported Apache in a console window - for Windows 95/98.</p> - - <p>There is some support for Apache on Windows 95/98 to behave - in a similar manner as a service on Windows NT/2000. It is - <em>experimental</em>, if it works (at all) the Apache - Software Foundation will not attest to its reliability or - future support. Proceed at your own risk!</p> - - <p>Once you have confirmed that Apache runs correctly at the <a - href="windows.html#test">Command Prompt</a> you can install, - control and uninstall it with the same commands as the Windows - NT/2000 version.</p> - - <p>There are, however, significant differences that you should - note:</p> - - <p>Apache will attempt to start and if successful it will run - in the background. If you run the command</p> -<pre> - Apache -n "service name" -k start -</pre> - - <p>via a shortcut on your desktop, for example, then if the - service starts successfully a console window will flash up but - immediately disappears. If Apache detects any errors on startup - such as a incorrect entries in the httpd.conf file, then the - console window will remain visible. This may display an error - message which will be useful in tracking down the cause of the - problem, and you should also review the error.log file in the - Apache logs directory.</p> - - <p>Windows 95/98 does not support NET START or NET STOP - commands so you must use Apache's Service Control options at a - command prompt. You may wish to set up a shortcut for each of - these commands so that you can just choose it from the start - menu or desktop to perform the required action.</p> - - <p>Apache and Windows 95/98 offer no support for running the - Apache service as a specific user with network privileges. In - fact, Windows 95/98 offers no security on the local machine, - either. This is the simple reason that the Apache Software - Foundation never endorses the use of Windows 95/98 as a public - httpd server. These facilities exist only to assist the user in - developing web content and learning the Apache server, and - perhaps as a intranet server on a secured, private network.</p> - <hr /> - - <h3 align="CENTER">Apache HTTP Server</h3> - <a href="./"><img src="images/index.gif" alt="Index" /></a> - - </body> -</html> - - - diff --git a/usr.sbin/httpd/htdocs/manual/windows.html.en b/usr.sbin/httpd/htdocs/manual/windows.html.en deleted file mode 100644 index 55c41352c4f..00000000000 --- a/usr.sbin/httpd/htdocs/manual/windows.html.en +++ /dev/null @@ -1,635 +0,0 @@ -<!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>Using Apache with Microsoft Windows</title> - </head> - <!-- Background white, links blue (unvisited), navy (visited), red (active) --> - - <body bgcolor="#FFFFFF" text="#000000" link="#0000FF" - vlink="#000080" alink="#FF0000"> - <div align="CENTER"> - <img src="images/sub.gif" alt="[APACHE DOCUMENTATION]" /> - - <h3>Apache HTTP Server</h3> - </div> - - - - <h1 align="CENTER"><a id="help" name="help">Using Apache With - Microsoft Windows</a></h1> - - <p>This document explains how to install, configure and run - Apache 1.3 under Microsoft Windows. Most of this document - assumes that you are installing Windows from a binary - distribution. If you want to compile Apache yourself (possibly - to help with development, or to track down bugs), see <a - href="win_compiling.html">Compiling Apache for Microsoft - Windows</a>.</p> - - <p>If you find any bugs, please document them on our <a - href="http://httpd.apache.org/bug_report.html">bug reporting - page.</a> Contributions are welcomed, please submit your code - or suggestions to the bug report page, or join the new-httpd - mailing list.</p> - - <p>The bug reporting page and new-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="misc/FAQ.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:comp.infosystems.www.servers.ms-windows">comp.infosystems.www.servers.ms-windows</a> - newsgroup, where many Apache users and several contributions - are more than willing to answer new and obscure questions about - using Apache on Windows.</p> - - <p><a - href="http://groups.google.com/groups?hl=en&lr=&safe=off&group=comp.infosystems.www.servers.ms-windows"> - groups.google.com's newsgroup archive</a> offers easy browsing - of previous questions. Searching the newsgroup archives, you - will usually find your question was already asked and answered - by other users!</p> - - <p><strong>Warning: Apache on NT has not yet been optimized for - performance.</strong> Apache still performs best, and is most - reliable on Unix platforms. Over time NT performance has - improved, and great progress is being made in the upcoming - version 2.0 of Apache for the Windows platforms. Folks doing - comparative reviews of webserver performance are still asked to - compare against Apache on a Unix platform such as Solaris, - FreeBSD, or Linux.</p> - <hr /> - - <ul> - <li><a href="#req">Requirements</a></li> - - <li><a href="#down">Downloading Apache for Windows</a></li> - - <li><a href="#inst">Installing Apache for Windows (binary - install)</a></li> - - <li><a href="#run">Running Apache for Windows</a></li> - - <li><a href="#test">Testing Apache for Windows</a></li> - - <li><a href="#use">Configuring Apache for Windows</a></li> - - <li><a href="#cmdline">Running Apache in a Console - Window</a></li> - - <li><a href="#signal">Controlling Apache in a Console - Window</a></li> - - <li><a href="win_service.html">Running Apache for Windows as - a Service</a></li> - - <li><a href="win_service.html#signal">Controlling Apache as a - Service</a></li> - - <li><a href="win_compiling.html">Compiling Apache for - Microsoft Windows</a></li> - </ul> - <hr /> - - <h2><a id="req" name="req">Requirements</a></h2> - - <p>Apache 1.3 is designed to run on Windows NT 4.0 and Windows - 2000. The binary installer will only work with the x86 family - of processors, such as Intel's. Apache may also run on Windows - 95 and 98, but these have not been tested. In all cases TCP/IP - networking must be installed.</p> - - <p>If running on NT 4.0, installing Service Pack 3 or 6 is - recommended, as Service Pack 4 created known issues with - TCP/IP and WinSock integrity that were resolved in Service - Pack 5 and later.</p> - - <p><strong>Note: "Winsock2" is required for Apache 1.3.7 and - later.</strong></p> - - <p>If running on Windows 95, the "Winsock2" upgrade must be - installed before Apache will run. "Winsock2" for Windows 95 is - available <a - href="http://www.microsoft.com/windows95/downloads/contents/WUAdminTools/S_WUNetworkingTools/W95Sockets2/Default.asp"> - here</a> or via <a - href="http://www.microsoft.com/windows95/downloads/">here</a>. - Be warned that the Dialup Networking 1.2 (MS DUN) updates - include a Winsock2 that is entirely insufficient, and the - Winsock2 update must be reinstalled after installing Windows 95 - dialup networking. Windows 98, NT (Service Pack 3 or later) and - 2000 users need to take no special action, those versions provide - Winsock2 as distributed.</p> - - <h2><a id="down" name="down">Downloading Apache for - Windows</a></h2> - - <p>Information on the latest version of Apache can be found on - the Apache web server at <a - href="http://httpd.apache.org/">http://httpd.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>You should download the binary build of Apache for Windows - named as <code>apache_1_3_#-win32-src.msi</code> if you are - interested in the source code, or simply - <code>apache_1_3_#-win32-no_src.msi</code> if you don't plan to - do anything with the source code and appreciate a faster - download. Each of these files contains the complete Apache - runtime. You must have the Microsoft Installer version 1.10 - installed on your PC before you can install the Apache runtime - distributions. Windows 2000 and Windows ME are both delivered - with the Microsoft Installer support, others will need to - download it. For more information, visit the main download - page at <a - href="http://httpd.apache.org/download.cgi">http://httpd.apache.org/download.cgi</a>. - Instructions on locating the Microsoft Installer, - as well as the binary distributions of Apache, are found at - <a href="http://www.apache.org/dyn/closer.cgi/httpd/binaries/win32/" - >the win32 download directory on the mirrors.</a></p> - - <p>The source code is available in the <code>-src.msi</code> - distribution, or from the - <a href="http://www.apache.org/dyn/closer.cgi/httpd/" - >distribution directory</a> as a <code>.zip</code> file. If you plan - on compiling Apache yourself, there is no need to install - either <code>.msi</code> package. The <code>.zip</code> file - contains only source code, with MS-DOS line endings (that is - cr/lf line endings, instead of the single lf used for Unix - files distributed in .tar.gz or .tar.Z archives.)</p> - - <p>While the source is also available as a <samp>.tar.gz</samp> - <samp>.tar.Z</samp> archive, these contain unix lf line endings - that cause grief for Windows users. To use those archives, you - must convert at least the <samp>.mak</samp> and - <samp>.dsp</samp> files to have DOS line endings before MSVC - can understand them. Please stick with the <samp>.zip</samp> - file to spare yourself the headache.</p> - - <p>Note: prior to 1.3.17 Apache was distributed as an - InstallShield 2.0 <samp>.exe</samp> file. With an increasing - number of users unable to run the InstallShield package [on - Windows ME or Windows 2000] the binaries were repackaged into - the readily available Microsoft Installer <samp>.msi</samp> - format.</p> - - <h2><a id="inst" name="inst">Installing Apache for - Windows</a></h2> - - <p>Run the Apache <samp>.msi</samp> file you downloaded above. - This will prompt you for:</p> - - <ul> - <li>whether or not you want to run Apache for all users - (installing Apache as a Service), or if you want it installed - to run in a console window when you choose the Start Apache - shortcut.</li> - - <li>your Server name, Domain name and administrative email - account.</li> - - <li>the directory to install Apache into (the default is - <code>C:\Program Files\Apache Group\Apache</code> although - you can change this to any other directory you wish)</li> - - <li>the installation type. The "Complete" option installs - everything, including the source code if you downloaded the - <samp>-src.msi</samp> package. Choose the "Custom" install if - you choose not to install the documentation, or the source - code from that package.</li> - </ul> - - <p>During the installation, Apache will configure the files in - the <samp>conf</samp> directory for your chosen installation - directory. However if any of the files in this directory - already exist they will <strong>not</strong> be overwritten. - Instead the new copy of the corresponding file will be left - with the extension <samp>.default.conf</samp>. So, for example, - if <samp>conf\httpd.conf</samp> already exists it will not be - altered, but the version which would have been installed will - be left in <samp>conf\httpd.default.conf</samp>. After the - installation has finished you should manually check to see what - in new in the <samp>.default.conf</samp> file, and if necessary - update your existing configuration files.</p> - - <p>Also, if you already have a file called - <samp>htdocs\index.html</samp> then it will not be overwritten - (no <samp>index.html.default</samp> file will be installed - either). This should mean it is safe to install Apache over an - existing installation (but you will have to stop the existing - server running before doing the installation, then start the - new one after the installation is finished).</p> - - <p>After installing Apache, you should edit the configuration - files in the <samp>conf</samp> directory as required. These - files will be configured during the install ready for Apache to - be run from the directory where it was installed, with the - documents served from the subdirectory <samp>htdocs</samp>. - There are lots of other options which should be set before you - start really using Apache. However to get started quickly the - files should work as installed.</p> - - <p>If you eventually uninstall Apache, your configuration and log - files will not be removed. You will need to delete the installation - directory tree ("C:\Program Files\Apache Group" by default) - yourself if you do not care to keep your configuration and - other web files. Since the httpd.conf file is your - accumulated effort in using Apache, you need to take the effort - to remove it. The same happens for all other files you may have - created, as well as any log files Apache created.</p> - - <h2><a id="run" name="run">Running Apache for Windows</a></h2> - - <p>There are two ways you can run Apache:</p> - - <ul> - <li>As a <a href="win_service.html">"service"</a>. This is - the best option if you want Apache to automatically start - when your machine boots, and to keep Apache running when you - log-off.</li> - - <li>From a <a href="#cmdline">console window</a>. Closing - this console window will terminate the Apache server.</li> - </ul> - - <p><strong>Complete the steps below before you attempt to start - Apache as a Windows "<a - href="win_service.html">service</a>"!</strong></p> - - <p>To run Apache from a console window, select the "Start - Apache as console app" option from the Start menu (in Apache - 1.3.4 and earlier, this option was called "Apache Server"). - This will open a console window and start Apache running inside - it. The window will remain active until you stop Apache. To - stop Apache running, either press select the "Shutdown Apache - console app" icon option from the Start menu (this is not - available in Apache 1.3.4 or earlier), or see <a - href="#signal">Controlling Apache in a Console Window</a> for - commands to control Apache in a console window.</p> - - <p>In Apache 1.3.13 and above it is now quite safe to press - Ctrl+C or Ctrl+Break to stop the Apache in the console window. - And on Windows NT/2000 with version 1.3.13, Apache will stop if - you select 'Close' from the system menu (clicking the icon on - the top-left corner of the console window) or click the close - (X) button on the top-right corner. The Close menu item and - close (X) button also work on Windows 95/98 as of Apache - version 1.3.15. But do <em>not</em> try any of these approaches - on earlier versions of the Apache server, since Apache would - not clean up.</p> - - <h2><a id="test" name="test">Testing Apache for - Windows</a></h2> - - <p>If you have trouble starting Apache please use the following - steps to isolate the problem. This applies if you started - Apache using the "Start Apache as a console app" shortcut from - the Start menu and the Apache console window closes immediately - (or unexpectedly) or if you have trouble starting Apache as a - service.</p> - - <p>Run the "Command Prompt" from the Start Menu - Programs - list. Change to the folder to which you installed Apache, type - the command apache, and read the error message. Then review the - error.log file for configuration mistakes. If you accepted the - defaults when you installed Apache, the commands would be:</p> -<pre> - c: - cd "\program files\apache group\apache" - apache - <em>Wait for Apache to exit, or press</em> Ctrl+C - more <logs\error.log -</pre> - - <p>After looking at the error.log you will probably have a good - chance of working out what went wrong and be able to fix the - problem and try again. If you are unable to work it out then - please follow the <a href="#help">guidelines for assistance</a> - at the top of this document or in the <a - href="misc/FAQ.html#what2do">FAQ</a>. Many users discover that - the nature of the httpd.conf file is easier to manage and audit - than page after page of configuration dialog boxes.</p> - - <p>After starting Apache running (either in a console window or - as a service) 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 this URL:</p> -<pre> - http://localhost/ -</pre> - - <p>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. If your host isn't connected to the net, you may - have to use this URL:</p> -<pre> - http://127.0.0.1/ -</pre> - - <p>Once your basic installation is working, you should - configure it properly by editing the files in the - <samp>conf</samp> directory.</p> - - <p>Because Apache <em>CANNOT</em> share the same port with - another TCP/IP application, you may need to stop or uninstall - certain services first. These include (but are not limited to) - other web servers, and firewall products such as BlackIce. If - you can only start Apache with these services disabled, - reconfigure either Apache or the other product so that they do - not listen on the same TCP/IP ports. You may find the Windows - "netstat -an" command useful in finding out what ports are in - use.</p> - - <h2><a id="use" name="use">Configuring Apache for - Windows</a></h2> - - <p>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 Windows. See the <a href="./">Apache - documentation</a> for all the available directives.</p> - - <p>Begin configuring the Apache server by reviewing - <code>httpd.conf</code> and its directives. Although the files - <code>access.conf</code> and <code>srm.conf</code> both exist, - these are old files which are no longer used by most - administrators, and you will find no directives there.</p> - - <p><code>httpd.conf</code> contains a great deal of - documentation itself, followed by the default configuration - directives recommended when starting with the Apache server. - Begin by reading these comments to understand the configuration - file, and make small changes, starting Apache in a console - window with each change. If you make a mistake, it will be - easier to back up to configuration that last worked. You will - have a better idea of which change caused the server to - fail.</p> - - <p>The main differences in Apache for Windows are:</p> - - <ul> - <li> - Because Apache for Windows is multithreaded, it does not - use a separate process for each request, as Apache does - with Unix. Instead there are usually only two Apache - processes running: a parent process, and a child which - handles the requests. Within the child each request is - handled by a separate thread. So, "process"-management - directives are different: - - <ul> - <li><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.</li> - - <li><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>.</li> - </ul> - </li> - - <li>The directives that accept filenames as arguments now - must use Windows filenames instead of Unix ones. However, - because Apache uses Unix-style names internally, you must use - forward slashes, not backslashes. Drive letters can be used; - if omitted, the drive with the Apache executable will be - assumed.</li> - - <li> - Apache for Windows 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>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 activate the status module, use - the following (in addition to the status-activating - directives in <code>httpd.conf</code> - see <a - href="mod/mod_status.html">the mod_status docs</a> for more - details.): -<pre> - LoadModule status_module modules/mod_status.so -</pre> - - <p>Information on <a - href="mod/mod_so.html#creating">creating loadable - modules</a> is also available. Note that some 3rd party - modules may be distributed in the old style names, - ApacheModuleFoo.dll. Always set the LoadModule command as - directed by the 3rd party module's own documentation.</p> - </li> - - <li>Apache for Windows version 1.3 series is implemented in - synchronous calls. This poses an enormous problem for CGI - authors, who won't see unbuffered results sent immediately to - the browser. This is not the behavior described for CGI in - Apache, but it is a side-effect of the Windows port. Apache - 2.0 is making progress to implement the expected asynchronous - behavior, and we hope to discover that the NT/2000 - implementation allows CGI's to behave as documented.</li> - - <li> - <p>Apache can also load ISAPI Extensions (<em>i.e.</em>, - Internet Server Applications), such as those used by - Microsoft's IIS, and other Windows servers. <a - href="mod/mod_isapi.html">More information is - available.</a> Note that Apache <em>CANNOT</em> load ISAPI - Filters.</p> - </li> - - <li>When running CGI scripts, the method Apache uses to find - the interpreter for the script is configurable using the <a - href="mod/core.html#scriptinterpretersource">ScriptInterpreterSource</a> - directive.</li> - - <li>Since it is often difficult to manage files with names - like <code>.htaccess</code> under windows, you may find it - useful to change the name of this configuration file using - the <a href="mod/core.html#accessfilename">AccessFilename</a> - directive.</li> - </ul> - - <h2><a id="cmdline" name="cmdline">Running Apache in a Console - Window</a></h2> - - <p>The Start menu icons and the NT Service manager can provide - a simple interface for administering Apache. But in some cases - it is easier to work from the command line.</p> - - <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> - apache -f "c:\my server\conf\my.conf" -</pre> -<pre> - apache -f test\test.conf -</pre> - - <ul> - <li>-n specifies the configuration file of an installed - Apache service (Apache 1.3.7 and later):</li> - </ul> -<pre> - apache -n "service name" -</pre> - - <p>In these cases, the proper ServerRoot should be set in the - configuration file.</p> - - <p>If you don't specify a configuration file name with -f or - -n, 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>The current working directory</li> - - <li>A registry entry, created if you did a binary - install.</li> - - <li>The server root compiled into the server.</li> - </ul> - - <p>The server root compiled into the server is usually - "/apache". invoking apache with the -V switch will display this - value labeled as HTTPD_ROOT.</p> - - <p>When invoked from the start menu, Apache is usually passed - no arguments, so using the registry entry is the preferred - technique for console Apache.</p> - - <p>During a binary installation, a registry key will have been - installed, for example:</p> -<pre> - HKEY_LOCAL_MACHINE\Software\Apache Group\Apache\1.3.13\ServerRoot -</pre> - - <p>This key is compiled into the server and can enable you to - test new versions without affecting the current version. Of - course you must take care not to install the new version on top - of the old version in the file system.</p> - - <p>If you did not do a binary install then Apache will in some - scenarios complain about the missing registry key. This warning - can be ignored if it otherwise was able to find its - configuration files.</p> - - <p>The value of this key is the "ServerRoot" directory, - containing the <samp>conf</samp> directory. When Apache starts - it will read the <samp>httpd.conf</samp> file from this - directory. If this file contains a <samp>ServerRoot</samp> - directive which is different from the directory obtained from - the registry key above, Apache will forget the registry key and - use the directory from the configuration file. If you copy the - Apache directory or configuration files to a new location it is - vital that you update the <samp>ServerRoot</samp> directory in - the <samp>httpd.conf</samp> file to the new location.</p> - - <p>To run Apache from the command line as a console - application, use the following command:</p> -<pre> - apache -</pre> - - <p>Apache will execute, and will remain running until it is - stopped by pressing control-C.</p> - - <h2><a id="signal" name="signal">Controlling Apache in a - Console Window</a></h2> - - <p>You can tell a running Apache to stop by opening another - console window and running:</p> -<pre> - apache -k shutdown -</pre> - - <p><strong>Note: This option is only available with Apache - 1.3.3 and later.</strong></p> - - <p>For earlier versions, you must use Control-C in the Apache - console window to shut down the server.</p> - - <p>From version 1.3.3 through 1.3.12, this should be used - instead of pressing Control-C in a running Apache console - window, because it allowed Apache to end any current - transactions and cleanup gracefully.</p> - - <p>As of version 1.3.13 pressing Control-C in the running - window will cleanup Apache quite gracefully, and you may use -k - stop as an alias for -k shutdown. Earlier versions do not - understand -k stop.</p> - - <p>You can also tell Apache to restart. This makes it re-read - the configuration files. Any transactions in progress are - allowed to complete without interruption. To restart Apache, - run:</p> -<pre> - apache -k restart -</pre> - - <p><strong>Note: This option is only available with Apache - 1.3.3 and later. For earlier versions, you need to use - Control-C in the Apache console window to shut down the server, - and then restart the server with the Apache - command.</strong></p> - - <p>Another <em>very useful</em> feature is the configuration - files test option. To test the Apache configuration files, - run:</p> -<pre> - apache -t -</pre> - - <p>This is especially useful following alterations to the - configuration files while Apache is still running. You can make - the changes, confirm that the syntax is good by issuing the - "apache -t" command, then restart Apache with "apache -k - restart". Apache will re-read the configuration files, allowing - any transactions in progress to complete without interruption. - Any new request will then be served using the new - configuration.</p> - - <p>Note: for people familiar with the Unix version of Apache, - these commands provide a Windows equivalent to <code>kill -TERM - <em>pid</em></code> and <code>kill -USR1 <em>pid</em></code>. - The command line option used, <code>-k</code>, was chosen as a - reminder of the "kill" command used on Unix.</p> - <hr /> - - <h3 align="CENTER">Apache HTTP Server</h3> - <a href="./"><img src="images/index.gif" alt="Index" /></a> - - </body> -</html> - |