summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJason McIntyre <jmc@cvs.openbsd.org>2005-07-27 20:24:50 +0000
committerJason McIntyre <jmc@cvs.openbsd.org>2005-07-27 20:24:50 +0000
commit77c6a09cbd49af3a28373fa90768560b070f47cf (patch)
treec67a9b43410856a0dff3da46935f4720979c5e88
parent0bc652a8e7f54c1ed180ab8f8a1c67bd31d6682e (diff)
from tamas tevesz:
==> remove some unneeded history, and a little bit of rewording; ==> remove cygwin stuff
-rw-r--r--usr.sbin/httpd/htdocs/manual/FAQ.html5
-rw-r--r--usr.sbin/httpd/htdocs/manual/cygwin.html577
-rw-r--r--usr.sbin/httpd/htdocs/manual/index.html.html17
-rw-r--r--usr.sbin/httpd/htdocs/manual/new_features_1_0.html144
-rw-r--r--usr.sbin/httpd/htdocs/manual/new_features_1_1.html253
-rw-r--r--usr.sbin/httpd/htdocs/manual/new_features_1_3.html.html904
-rw-r--r--usr.sbin/httpd/htdocs/manual/new_features_2_0.html72
-rw-r--r--usr.sbin/httpd/htdocs/manual/sitemap.html1
-rw-r--r--usr.sbin/httpd/htdocs/manual/upgrading_to_1_3.html352
9 files changed, 1 insertions, 2324 deletions
diff --git a/usr.sbin/httpd/htdocs/manual/FAQ.html b/usr.sbin/httpd/htdocs/manual/FAQ.html
index e25fe07b58d..cabbb8c9784 100644
--- a/usr.sbin/httpd/htdocs/manual/FAQ.html
+++ b/usr.sbin/httpd/htdocs/manual/FAQ.html
@@ -1139,11 +1139,6 @@
2000. But modern operating systems shouldn't cause any
trouble at all.</p>
- <p>Users of Apache 1.2.x should upgrade to a current
- version of Apache 1.3 (see <a
- href="../new_features_1_3.html#misc">year-2000 improvements
- in Apache 1.3</a> for details).</p>
-
<p>The Apache HTTP Server project is an open-source
software product of the Apache Software Foundation. The
project and the Foundation <b>cannot</b> offer legal
diff --git a/usr.sbin/httpd/htdocs/manual/cygwin.html b/usr.sbin/httpd/htdocs/manual/cygwin.html
deleted file mode 100644
index 8bc9ac08415..00000000000
--- a/usr.sbin/httpd/htdocs/manual/cygwin.html
+++ /dev/null
@@ -1,577 +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 Cygwin</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
- Cygwin</a></h1>
-
- <p>This document explains how to install, configure and run
- Apache 1.3 under the <a href="http://www.cygwin.com">Cygwin</a>
- layer for Microsoft Windows. Cygwin is a POSIX.1 emulation
- layer for 32-bit Microsoft Windows operating systems.</p>
-
- <p>The Apache Group does not guarantee that this software will
- work as documented, or even at all. If you find any bugs,
- please document them on our <a
- href="http://httpd.apache.org/bug_report.html">bug reporting
- page.</a></p>
-
- <p>Latest development news, pre-compiled distribution binaries,
- and third-party modules as DLLs, may be found at <a
- href="http://apache.dev.wapme.net/">http://apache.dev.wapme.net/</a>.
- Contributions are highly welcome (please see <a
- href="http://apache.dev.wapme.net/TODO.cygwin">TODO</a> list);
- please submit your code or suggestions to the bug report page,
- or join the dev@httpd.apache.org mailing list.</p>
-
- <p>The <a href="windows.html">Win32 port</a> of Apache is built
- on its own, custom code within Apache to assure
- interoperability with Windows operating systems. While it is
- considered release quality, it is slower and less thoroughly
- tested than the Unix ports. The Cygwin alternative uses the
- well tested Unix code by using the Cygwin portability layer for
- POSIX.1 emulation. The Cygwin port may suffer from gaps in
- security or reliability due to the interaction of the Cygwin
- compatibility layer with the native Windows API.</p>
-
- <p>The <a href="windows.html">Win32 port</a> will be more
- familiar to most Windows users. The Cygwin port (including the
- build environment) will be more familiar to Unix admins and
- developers. Due to these two different code bases, the security
- and reliability of the two ports are unrelated to each other.
- The Win32 port should be considered the more secure of the two
- at this time. The Win32 port is recommended for most Windows
- users, however the Cygwin port offers an extra layer of
- compatibility for Unix developers.</p>
-
- <p>Apache still performs best, and is most reliable, on Unix
- platforms. First benchmarks have shown that the same Apache
- setup on Cygwin performs about 30% slower than the
- corresponding native Windows version.</p>
-
- <p>Most of this document assumes that you have a working Cygwin
- installation and want to compile Apache yourself from the
- original distribution sources.</p>
- <hr />
-
- <ul>
- <li><a href="#hist">History of Apache for Cygwin</a></li>
-
- <li><a href="#diff">Differences from Apache for Windows
- (native)</a></li>
-
- <li><a href="#req">Requirements</a></li>
-
- <li><a href="#down">Downloading Apache for Cygwin</a></li>
-
- <li><a href="#inst">Configuring and Installing Apache for
- Cygwin</a></li>
-
- <li><a href="#winsock">Using Win32 native socket implementation
- instead</a></li>
-
- <li><a href="#run">Running Apache for Cygwin</a></li>
-
- <li><a href="#serv">Running Apache for Cygwin as a
- Service</a></li>
- </ul>
- <hr />
-
- <h2><a id="hist" name="hist">History of Apache for
- Cygwin</a></h2>
-
- <p>Cygwin support for Apache began with Apache 1.2.6 and Cygwin
- b18.</p>
-
- <p>Due to licensing issues there has not been an official
- binary distribution until Red Hat Inc. (who merged with Cygnus
- Solutions Inc.) changed their Cygwin license to ensure compiled
- executables do not fall under GPL license if the distributed
- software is considered as open source.</p>
-
- <p>Cygwin is supported in the official source distributions
- from Apache 1.3.20 and later. Pre-compiled binaries for the
- Cygwin platform (without the <code>cygwin1.dll</code>) will be
- supplied at <a
- href="http://httpd.apache.org/">http://httpd.apache.org/</a>
- for each released version.</p>
-
- <h2><a id="diff" name="diff">Differences from Apache for
- Windows (native)</a></h2>
-
- <p>Both versions, Apache for Windows and Apache for Cygwin, are
- designed to run on the same operating systems, the Windows NT
- and Windows 2000 family. But there are considerable differences
- between the two flavors.</p>
-
- <p>While Apache for Windows is a native Windows port, Apache
- for Cygwin relies on the Cygwin POSIX.1 emulation layer
- provided by the <code>cygwin1.dll</code> dynamic library to
- create a Unix compatible environment. Therefore we consider
- Apache for Cygwin closer to the Unix side then to the Windows
- side, even while it runs on Windows.</p>
-
- <p>Most significant differences are the amount of changes to
- the source code needed to compile and run Apache on the Cygwin
- platform. While the native Windows port needs major changes and
- platform specific additions, the Cygwin based port changes are
- very small and most of the Unix source code can be used without
- major changes on the Cygwin platform.</p>
-
- <p><strong>When to use Apache for Cygwin and/or Apache versus
- Windows?</strong><br />
- Apache for Cygwin is intended to be most useful if you want a
- seamless transition from Unix systems to Windows systems for
- your HTTP services.</p>
-
- <p>If you are using Windows NT or Windows 2000 for development
- and office purposes, but your productive HTTP server
- environments are Unix based systems, you may use Apache for
- Cygwin to develop on Windows and simply copy whole Apache
- configurations (<em>i.e.,</em> <code>httpd.conf</code>) and
- Perl (<code>mod_perl</code>), PHP (<code>mod_php</code>) or
- Python (<code>mod_snake</code>) applications to your productive
- Unix systems.</p>
-
- <p><strong>What about modules (<code>mod_foo</code>) for Apache
- for Cygwin?</strong><br />
- Apache for Cygwin can be built with most of the available
- Apache modules with no or minimal changes. Many popular modules
- have been compiled and tested with Apache for Cygwin, including
- <code>mod_dav</code>, <code>mod_ssl</code>,
- <code>mod_php</code>, <code>mod_perl</code>,
- <code>mod_gzip</code>, and <code>mod_jserv</code>.</p>
-
- <p>While there are developers who directly support the Windows
- native port of Apache, very few module developers do. That is
- why it is can be difficult to make a Unix-based Apache
- installation with third-party modules work the same way on the
- Windows side using the native port. Apache for Cygwin makes
- this much easier.</p>
-
- <p><strong>What are the differences in the configuration
- files?</strong><br />
- While the Apache for Windows port uses Windows native path
- names to refer files and directories, like</p>
-<pre>
- # httpd.conf (for Windows)
- DocumentRoot "c:/apache/htdocs"
-</pre>
- Apache for Cygwin can use unmodified POSIX style path names
- like
-<pre>
- # httpd.conf (for Cygwin)
- DocumentRoot "/usr/local/apache/htdocs"
-</pre>
-
- <p><strong>What about performance?</strong><br />
- Apache for Cygwin is not as high-performance as Apache for
- Windows on the same hardware.</p>
-
- <p>This is to be expected, because Cygwin emulates a Unix
- environment on a "foreign" operating system, while Apache for
- Windows uses Windows code in its own native environment. First
- benchmark results have shown that Apache for Cygwin is about
- 30% slower than native Apache for Windows counterpart.</p>
-
- <h2><a id="req" name="req">Requirements</a></h2>
-
- <p>This Apache 1.3 port for Cygwin is designed to run on
- Windows NT 4.0 and Windows 2000, <strong>NOT</strong> on
- Windows 95 or 98. Windows NT 4.0 and Windows 2000 have both
- been successfully tested and approved. In all cases TCP/IP
- networking must be installed.</p>
-
- <p>Cygwin 1.x is required to compile and run this version.
- Cygwin 1.3.9 and 1.3.10 have been tested and approved on both
- supported OSes. We suggest using Cygwin 1.3.9-2 and higher.</p>
-
- <p><strong>Note:</strong>If you want to compile shared DLL
- modules using <a
- href="programs/apxs.html"><code>apxs</code></a> you will need
- Cygwin 1.3.9-2 or higher version, which includes a version of
- <code>ld.exe</code> with <code>--auto-import</code> support.
- </p>
-
-
- <h2><a id="down" name="down">Downloading Apache for
- Cygwin</a></h2>
-
- <p>The Cygwin platform is supported out of the box by Apache
- 1.3.20 and later. This means there is no extra download
- required for the Cygwin platform. The latest version of Apache
- can be found on the Apache httpd web site at <a
- href="http://httpd.apache.org/">http://httpd.apache.org/</a>.
- The site lists the current release, any more recent development
- versions, and information on any mirror sites.</p>
-
- <p><strong>What about Cygwin Net Distribution binaries?</strong><br />
- Apache for Cygwin is also available as pre-compiled binary
- package for the Cygwin Net Distribution available at
- <a href="http://www.cygwin.com/">http://www.cygwin.com/</a> and it's
- <a href="http://www.cygwin.com/setup.exe"><code>setup.exe</code></a>
- installation process.</p>
-
-
- <h2><a id="inst" name="inst">Configuring and Installing Apache
- for Cygwin</a></h2>
-
- <p>Apache on Cygwin is configured and compiled the same way as
- on most Unix systems. Refer to the general <a
- href="configuring.html">configuration</a> and <a
- href="install.html">installation</a> documents for details.</p>
-
- <p>There are three ways to configure and build Apache for
- Cygwin, depending on how additional Apache modules should be
- used:</p>
-
- <ul>
- <li>
- <strong>Static linked version</strong>
-
- <p>To build a static linked version of <code>httpd</code>
- including additional modules, use the following commands in
- the shell:</p>
-<pre>
- $ cd apache_1.3.x
- $ ./configure [--enable-module=<i>module</i>|--add-module=<i>/path/to/module</i>]
- $ make
-</pre>
-
- <p>This will produce the required extra libraries or object
- files for <i>module</i> and link everything to
- <code>src/httpd.exe</code>.</p>
- </li>
-
- <li>
- <strong>Shared core, DLL linked version ('one-for-all'
- version)</strong>
-
- <p>To build a DLL version of <code>httpd</code> including
- additional modules, use the following commands:</p>
-<pre>
- $ cd apache_1.3.x
- $ ./configure --enable-rule=SHARED_CORE \
- [--enable-module=<i>module</i>|--add-module=<i>/path/to/module</i>]
- $ make
- $ make install
-</pre>
-
- <p>This will produce the required extra libraries or object
- files that hold all static linked code. Then
- <code>dllwrap</code> and <code>dlltool</code> will export
- all of those (including any additional module code) to the
- shared <code>cyghttpd.dll</code> and create the
- <code>libhttpd.a</code> import library which is required
- for linking <code>httpd.exe</code>.</p>
-
- <p><strong>Note:</strong> After <code>make install</code>
- is performed you will find the resulting core DLL module
- <code>cyghttpd.dll</code> within
- <code>/usr/local/apache/libexec</code>. This is due to the
- installation process. Please move the file to Apache's
- <code>bin</code> directory, i.e.</p>
-<pre>
- $ mv /usr/local/apache/libexec/cyghttpd.dll /usr/local/apache/bin
-</pre>
- <p>or to an other place inside your <code>$PATH</code>, i.e.
- <code>/usr/bin</code> is used in the Cygwin Net Distribution
- layout. The core DLL module <code>cyghttpd.dll</code> is the
- <i>only</i> file that should reside in
- <code>/usr/local/apache/bin</code> directory. All other
- shared DLL modules <code>mod_foo.dll</code> should be
- located in <code>/usr/local/apache/libexec</code>.</p>
- </li>
-
- <li>
- <strong>Shared DLL modules linked version</strong>
-
- <p>This method is <strong>ONLY</strong> supported using a
- version of <code>ld.exe</code> which supports the
- <code>--auto-import</code> option. Please see the
- <a href="#req">requirements</a> section for more
- information.</p>
-
- <p>To build a dynamic loadable DLL version of
- <code>httpd</code> which can load DLL modules on the fly
- (at runtime), proceed as follows:</p>
-
- <ul>
- <li>
- <p>First build Apache's shared core as follows:</p>
-<pre>
- $ cd apache_1.3.x
- $ ./configure --enable-rule=SHARED_CORE --enable-module=so \
- [--enable-module=<i>module</i>|--add-module=<i>/path/to/module</i>] \
- [--enable-shared=<i>module</i>]
- $ make
-</pre>
-
- <p>You will notice that there is a warning message
- shown which lets you know that the shared core DLL
- library <code>src/cyghttpd.dll</code> is missing while
- trying to link the shared DLL modules
- <code>mod_foo.dll</code>.</p>
-
- <p>Unfortunately, during Apache's build process, the shared
- modules are linked before the shared core import
- library <code>src/cyghttpd.dll</code> has been made.
- The shared modules depend on this import library, so
- they cannot link for the first time you run
- <code>make</code>.</p>
- </li>
-
- <li>
- Re-run <code>make</code> to build the shared module
- DLLs and install the whole package to the installation
- directory:
-<pre>
- $ make
- $ make install
-</pre>
-
- <p>All shared modules are placed into
- <code>libexec</code>, including the shared core DLL
- <code>cyghttpd.dll</code>. When Apache's
- <code>/bin/httpd</code> is started, it has to dynamically
- link <code>cyghttpd.dll</code> during runtime; that is
- why you have to place the shared core DLL
- <code>cyghttpd.dll</code> to the same directory where
- <code>httpd.exe</code> resides, i.e.
- <code>/usr/local/apache/bin</code> or an other place
- in your <code>$PATH</code>.</p>
- </li>
-
- <li>
- Add configuration directives to
- <code>conf/httpd.conf</code> to load and activate
- shared DLL modules at runtime:
-<pre>
- # httpd.conf
- [...]
- LoadModule foo_module libexec/mod_foo.dll
- AddModule mod_foo.c
- [...]
-</pre>
- </li>
- </ul>
- </li>
-
- <li>
- <strong>Using <code>apxs</code> to create shared DLL modules</strong>
-
- <p>To make the extending <code>httpd</code> with shared DLL
- modules easier, you can use <a
- href="programs/apxs.html"><code>apxs</code></a>.</p>
-
- <p>Make sure you have configured
- <code>$CFG_LDFLAGS_SHLIB</code> within <code>apxs</code> to
- include the <code>--shared</code> directive and the path to
- the shared code DLL <code>cyghttpd.dll</code>.</p>
-
- <p>After performing <code>make install</code> you will
- probably have the following lines within your
- <code>apxs</code>:</p>
-<pre>
- # apxs
- [...]
- my $CFG_LD_SHLIB = q(dllwrap --export-all --output-def libhttpd.def --implib libhttpd.a --driver-name gcc); # substituted via Makefile.tmpl
- my $CFG_LDFLAGS_SHLIB = q(-g); # substituted via Makefile.tmpl
- my $CFG_LIBS_SHLIB = q(); # substituted via Makefile.tmpl
- [...]
-</pre>
- Change these to reflect the new compile options needed for
- shared DLL modules as follows:
-<pre>
- # apxs
- [...]
- my $CFG_LD_SHLIB = q(gcc); # substituted via Makefile.tmpl
- my $CFG_LDFLAGS_SHLIB = q(-g --shared); # substituted via Makefile.tmpl
- my $CFG_LIBS_SHLIB = q(<i>/path/to/cyghttpd.dll</i>); # substituted via Makefile.tmpl
- [...]
-</pre>
-
- <p>Now you should be able to create a shared DLL module
- from a <code>mod_foo.c</code> source file with:</p>
-<pre>
- $ apxs -c mod_foo.c -o mod_foo.dll
-</pre>
- Place the resulting DLL in Apache's <code>libexec</code>
- directory, so the <code>dlopen()</code> function within the
- compiled in <code>mod_so.c</code> module can find and load
- it at runtime.
- </li>
- </ul>
-
-
- <h2><a id="winsock" name="winsock">Using Win32 native socket
- implementation instead</a></h2>
-
- <p>Apache for Cygwin supports an option to use the Win32 native
- socket calls instead of Cygwin's POSIX wrappers internally. To
- use the Win32 native socket calls configure Apache for Cygwin
- with the <code>CYGWIN_WINSOCK</code> configuration rule flag
- as follows:</p>
-<pre>
- $ cd apache_1.3.x
- $ ./configure --enable-rule=CYGWIN_WINSOCK [...]
- $ make
-</pre>
- <p>Using Win32 native socket calls is intended for performance
- reasons and as a hybrid way to interact with the underlying
- native socket implementation.</p>
-
-
-
- <h2><a id="run" name="run">Running Apache for Cygwin</a></h2>
-
- <p>Apache on Cygwin can be started and stopped in the same
- manner as on Unix systems. You may also use the <a
- href="programs/apachectl.html"><code>apachectl</code></a> tool
- for starting and stopping Apache.</p>
-
- <ul>
- <li>
- <strong>Starting Apache</strong>
-
- <p>If installed with the default Apache directory layout,
- you can start <code>httpd</code> as follows:</p>
-<pre>
- $ /usr/local/apache/bin/httpd
-</pre>
-
- <p>An explicit background indicator (<code>&amp;</code>) is
- not required. The parent process is automatically detached
- from the current terminal. Check the global
- <code>error_log</code> to see if Apache started cleanly
- without any major problems.</p>
- </li>
-
- <li>
- <strong>Stopping Apache</strong>
-
- <p>To stop Apache send at least a <code>SIGTERM</code>
- signal to the parent <code>httpd</code> process:</p>
-<pre>
- $ kill -TERM `cat /usr/local/apache/logs/httpd.pid`
-</pre>
- </li>
-
- <li>
- <strong>Gracefully Restarting Apache</strong>
-
- <p>In order to update configuration directives and reload
- the <code>httpd.conf</code> configuration file, send a
- <code>SIGHUP</code> to the parent <code>httpd</code>
- process:</p>
-<pre>
- $ kill -HUP `cat /usr/local/apache/logs/httpd.pid`
-</pre>
- </li>
- </ul>
-
- <h2><a id="serv" name="serv">Running Apache for Cygwin as a
- Service</a></h2>
-
- <p>Apache on Cygwin can be invoked as a Windows NT or Windows
- 2000 service. Cygwin has its own <code>cygrunsrv.exe</code>
- facility to define, remove, start, and stop services as
- follows:</p>
-
- <ul>
- <li>
- <strong>Installing Apache as a new Service</strong>
-
- <p>Use the following statement to install
- <code>httpd.exe</code> as a new service:</p>
-<pre>
- $ cygrunsrv -I <i>service_name</i>-p /usr/local/apache/bin/httpd.exe [-a <i>arguments</i>] \
- [-e <i>VAR=VALUE</i>] [-t auto|manual] [-u <i>user</i>] [-w <i>passwd</i>]
-</pre>
-
- <p>Where <code>-a</code> is used to pass command line
- arguments (such as <code>-DFOO</code> defines) to
- <code>httpd.exe</code>, and <code>-e</code> is used to pass
- environment variables. If necessary you may use the
- <code>-t</code> options to set the autostart configuration
- for the service. If you want the new service to run under a
- different userid, you will have to supply the
- <code>-u</code> and <code>-w</code> options.</p>
- </li>
-
- <li>
- <strong>Starting Apache as a Service</strong>
-
- <p>After the new service is installed it can be started
- using the following command:</p>
-<pre>
- $ cygrunsrv -S <i>service_name</i>
-</pre>
-
- <p>Check your process table and global
- <code>error_log</code> file to ensure Apache has started
- without any major problems.</p>
- </li>
-
- <li>
- <strong>Stopping an Apache Service</strong>
-
- <p>A running Apache service may be stopped using the
- following command:</p>
-<pre>
- $ cygrunsrv -E <i>service_name</i>
-</pre>
-
- <p>This will stop all running <code>httpd.exe</code>
- processes and shutdown the HTTP service for the
- machine.</p>
- </li>
-
- <li>
- <strong>Removing an Apache Service</strong>
-
- <p>An installed Apache service may be removed from Windows
- NT or Windows 2000 using the following command:</p>
-<pre>
- $ cygrunsrv -R <i>service_name</i>
-</pre>
-
- <p>This will remove your previously defined and installed
- service from the machine.</p>
- </li>
- </ul>
-
- <p>Please refer to the <code>man</code> page for
- <code>cygrunsrv</code> and the Cygwin mailing list for further
- details of how services are invoked.</p>
-
- <p>Any additional contributions to this document and the Cygwin
- support for Apache are highly welcome. Please send them to
- Stipe Tolj <a
- href="mailto:tolj&#64;wapme-systems.de">&lt;tolj&#64;wapme-systems.de&gt;</a>.</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 d65b283862f..f3188c84985 100644
--- a/usr.sbin/httpd/htdocs/manual/index.html.html
+++ b/usr.sbin/httpd/htdocs/manual/index.html.html
@@ -84,17 +84,7 @@
bgcolor="#ffffff" width="280">
<tr>
<td align="center" bgcolor="#e9e9e9">
- <strong>Release Notes</strong> </td>
- </tr>
-
- <tr>
- <td><a href="new_features_1_3.html">New Features in
- Version 1.3</a> </td>
- </tr>
-
- <tr>
- <td><a href="upgrading_to_1_3.html">Upgrading to
- Version 1.3</a> </td>
+ <strong>Miscellaneous information</strong> </td>
</tr>
<tr>
@@ -158,11 +148,6 @@
</tr>
<tr>
- <td><a href="windows.html">Microsoft Windows</a> |
- <a href="cygwin.html">Cygwin</a> </td>
- </tr>
-
- <tr>
<td><a href="netware.html">Novell Netware</a>
</td>
</tr>
diff --git a/usr.sbin/httpd/htdocs/manual/new_features_1_0.html b/usr.sbin/httpd/htdocs/manual/new_features_1_0.html
deleted file mode 100644
index e3c6c8b06c2..00000000000
--- a/usr.sbin/httpd/htdocs/manual/new_features_1_0.html
+++ /dev/null
@@ -1,144 +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>Apache extra features</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 new features</h1>
-
- <h2>New Features with Apache 1.0</h2>
-
- <p>New features with this release, as extensions of the Apache
- functionality (see also more detailed <code>CHANGES</code>
- file) in the source directory. Because the core code has
- changed so significantly, there are certain liberties that
- earlier versions of Apache (and the NCSA daemon) took that
- Apache 1.0 is pickier about - please check the <a
- href="misc/compat_notes.html">compatibility notes</a> if you
- have any problems.</p>
-
- <ul>
- <li>
- API for server extensions --- see below for a brief sermon
- on philosophy, or see <a
- href="misc/API.html">src/API.html</a> for an actual
- overview. Most server functionality (including includes,
- CGI, and most forms of access control) are actually
- implemented as API-conformant modules; you can also do
- other neat stuff (we've included a sample module, for
- instance, which one of us is using to track click-trails
- using the <a
- href="http://home.netscape.com/newsref/std/cookie_spec.html">
- Netscape cookie mechanism</a>, for visitors who come in
- through Netscape clients). <a
- href="mod/mod_dld.html">Modules</a> can also be loaded
- dynamically using GNU DLD.
-
- <p>The API is not yet quite stable (see src/TODO for some
- possible changes), but anything done now will be easily
- adapted for future versions --- after all, we have more
- modules to adapt than you do.</p>
- </li>
-
- <li><a href="process-model.html">New Process Model - much
- less forking, no fixed number of children.</a> We found that
- many people were using values for "MaxServers" either too
- high or too low, and were hanging themselves on it. The model
- we adopted is still based on long-lived minimal-forking
- processes, but instead of specifying one number of persistent
- processes, the web-master specifies a maximum and minimum
- number of processes to be "spare" - every couple of seconds
- the parent checks the actual number of spare servers and
- adjusts accordingly. This should keep the number of servers
- concurrently running relatively low while still ensuring
- minimal forking.</li>
-
- <li><a href="vhosts/">&lt;VirtualHost&gt; (the configuration
- directive for multiple-homed servers)</a> is more general
- now. Just about any srm.conf or httpd.conf command can go in
- a &lt;Virtualhost&gt; section, with the following specific
- exceptions: ServerType, UserId, GroupId, StartServers,
- MaxRequestsPerChild, BindAddress, PidFile, TypesConfig,
- ServerRoot.</li>
-
- <li><a href="content-negotiation.html">Support for content
- negotiation of languages through MultiViews</a> (*.fr, *.de,
- *.en suffixes), via the new AddLanguage and LanguagePriority
- commands (code written by Florent Guillaume,
- guillaum@clipper.ens.fr).</li>
-
- <li>Significant internal cleanups and rearrangements. The two
- externally visible consequences of this are that just about
- all of the unchecked fixed limits are gone, and that the
- server is somewhat pickier about config file syntax (noting
- and complaining about extraneous command arguments or other
- stuff at the end of command lines).</li>
-
- <li>XBITHACK is a run-time option, and can be selectively
- enabled per directory --- the -DXBITHACK compile-time option
- just changes the default. The command which configures it is
- "XBitHack", which is allowed everywhere "Options" is; this
- takes an argument --- "XBitHack Off" turns it off; "XBitHack
- On" gets you the NCSA -DXBITHACK behavior; and "XBitHack
- Full" gets you the Apache GXBIT stuff on top of that.
- (-DXBITHACK makes "Full" the default; otherwise, it defaults
- "Off").</li>
-
- <li>TransferLog can specify a program which gets the log
- entries piped to it, a la 'TransferLog "|
- /var/www/my-perl-script -arg valu"' --- this should give the
- same SIGTERM/pause/SIGKILL treatment to the logging process
- on server restarts that a CGI script gets on an aborted
- request. NB the server is counting on the logging process to
- work, and will probably hang or worse if it dies.</li>
-
- <li><a href="mod/mod_log_config.html">Configurable logging
- module</a> --- this is a replacement for the standard
- plane-jane Common Log Format code, which supports a LogFormat
- directive which allows you to control the formatting of
- entries in the TransferLog, and add some new items if you
- like (in particular, Referer and User-Agent).
- EXPERIMENTAL.</li>
- </ul>
- <hr />
-
- <h2>Other features of Apache</h2>
-
- <ul>
- <li><a href="mod/mod_dld.html">Dynamically loading modules
- using GNU DLD</a></li>
-
- <li><a href="mod/mod_imap.html">Imagemap Module</a></li>
-
- <li><a href="mod/mod_dir.html#directoryindex">Multiple
- DirectoryIndex filenames</a></li>
-
- <li><a href="mod/mod_asis.html">"Send as is" file
- types</a></li>
-
- <li><a href="mod/mod_include.html#xbithack">XBITHACK last
- modified</a></li>
- </ul>
- <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/new_features_1_1.html b/usr.sbin/httpd/htdocs/manual/new_features_1_1.html
deleted file mode 100644
index 2b2f85dcd11..00000000000
--- a/usr.sbin/httpd/htdocs/manual/new_features_1_1.html
+++ /dev/null
@@ -1,253 +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>New features with Apache 1.1</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 new features</h1>
-
- <h2>API Changes</h2>
- A few changes to the Apache API were made for 1.1. It is
- possible that some third-party modules will no longer work with
- 1.1, though we have made every effort to provide
- backwards-compatibility. If you encounter a module that does
- not work with 1.1, please <a
- href="http://httpd.apache.org/bug_report.html">let us know</a>.
-
-
- <h2>New Features with Apache 1.1</h2>
-
- <p>New features with this release, as extensions of the Apache
- functionality (see also more detailed <code>CHANGES</code> file
- in the source directory.) Because the core code has changed so
- significantly, there are certain liberties that earlier
- versions of Apache (and the NCSA daemon) took that recent
- Apache versions are pickier about - please check the <a
- href="misc/compat_notes.html">compatibility notes</a> if you
- have any problems.</p>
- <hr />
-
- <p>In addition to a number of bug fixes and internal
- performance enhancements, <a
- href="http://www.apache.org/dist/httpd/">Apache 1.1</a> has the
- following specific new user features:</p>
-
- <ul>
- <li><strong><a href="keepalive.html">Support for Keep-Alive
- Persistent Connections</a></strong><br />
- Apache now has (optional) support for persistent
- connections, as defined by the HTTP/1.1 draft. This protocol,
- supported by a number of current HTTP servers and browsers
- (including Netscape Navigator 2.0) has been shown to increase
- speed of document transfer by up to 50% in certain
- cases.</li>
-
- <li><strong><a href="vhosts/">New non-IP
- Intensive-VirtualHost Support</a></strong><br />
- Apache's support for virtual hosts has been enhanced to be
- able to use information sent by some new Web browsers to
- determine the server being accessed, without requiring an
- additional IP address for each host.</li>
-
- <li><strong><a href="bind.html">Listen to Multiple Addresses
- and Ports</a></strong><br />
- Using the new <code>Listen</code> directive, Apache can
- listen to more than one port and IP address, using the same
- configuration set.</li>
-
- <li><strong><a href="mod/mod_status.html">Status
- Module</a></strong><br />
- Apache now contains a module that gives the web-master
- accurate, up-to-date information about the server's status
- and its resource consumption. It also gives the current state
- of each server process including the current URL being
- processed. For an example, check out <a
- href="http://www.apache.org/server-status">the status of the
- www.apache.org server</a>.</li>
-
- <li><strong><a href="mod/mod_info.html">Server Information
- Module</a></strong> This module gives a plethora of
- information about the other modules installed, their
- directives, and their configurations. It is extremely helpful
- in debugging configuration problems. For an example, check
- out <a href="http://www.apache.org/server-info">information
- about the www.apache.org server</a>.</li>
-
- <li><strong><a href="mod/mod_proxy.html">Experimental Caching
- Proxy Server</a></strong><br />
- Apache can now act as an HTTP proxy server, allowing clients
- behind firewalls to use the server to access the outside
- world. In addition, it can cache documents it proxies,
- speeding up access to frequently requested documents.</li>
-
- <li><strong><a href="location.html">URL-based Access
- Protection</a></strong><br />
- In addition to access checking and authorization by filename
- (with <code><a
- href="mod/core.html#directory">&lt;Directory&gt;</a></code>),
- the new <code>&lt;Location&gt;</code> directive allows
- protection by URL.</li>
-
- <li><strong><a href="mod/mod_actions.html">Filetype-based
- Script "Actions"</a></strong><br />
- You can now run CGI scripts whenever a file of a certain
- type is requested. This makes it much easier to execute
- scripts that process files. In addition, you can use the new
- <a href="mod/mod_actions.html#script">Script</a> directive to
- enable scripts for files called with HTTP methods Apache does
- not natively support.</li>
-
- <li><strong><a href="handler.html">New "Handler"
- Directives</a></strong><br />
- The new <code>AddHandler</code> and <code>SetHandler</code>
- directive allows "handlers" to be defined for filename
- extensions or directories. These handlers, which can either
- be built into Apache or added with the <a
- href="mod/mod_actions.html">Action</a> directive, extend
- Apache's range of usability, and almost entirely remove the
- "magic" media types.</li>
-
- <li><strong><a href="mod/mod_env.html">Customizable CGI
- Environment Variables</a></strong><br />
- New <code>PassEnv</code> and <code>SetEnv</code> directives
- allow you to modify the environment variables passed to CGI
- scripts.</li>
-
- <li><strong><a href="mod/mod_cern_meta.html">CERN Metafile
- Support</a></strong><br />
- Now emulates the CERN httpd's support for metafiles
- containing additional HTTP headers to be supplied with a
- document.</li>
-
- <li><strong><a href="mod/mod_imap.html">Improved Imagemap
- Support</a></strong><br />
- The internal imagemap handling code has been rewritten and
- reorganized, adding new handling of default, base and
- relative URLs, and support for creating non-graphical menus
- for use with clients that do not support imagemaps.</li>
-
- <li><strong><a href="mod/mod_userdir.html">Improved UserDir
- Directive</a></strong><br />
- Now supports the ability to point user's files (as specified
- by URLs beginning with the "<code>~</code>" character) at
- directories other than those specified by the Unix password
- file.</li>
-
- <li><strong>Minimal DNS Now Runtime Option</strong><br />
- New <code>HostnameLookups</code> server configuration
- directive can be used to turn <code>On</code> or
- <code>Off</code> DNS lookups. This supersedes the
- -DMINIMAL_DNS compile-time configuration option. This option
- can be set per-directory.</li>
-
- <li><strong>IdentityCheck Now Per-Directory
- Option</strong><br />
- The <code>IdentityCheck</code> directive, which controls the
- use of ident to check the remote user name, can now be set
- per directory. The ident support is also RFC
- 1413-compliant.</li>
-
- <li><strong>Redirect Now Usable in <code>.htaccess</code>
- Files</strong><br />
- The <a
- href="mod/mod_alias.html#redirect"><code>Redirect</code></a>
- directive can now be used in <code>.htaccess</code> files
- when the <code>FileInfo</code> directive has been set on.
- This allows users to redirect parts of their directories
- without requiring CGI scripts</li>
-
- <li><strong>ErrorDocument Now Usable in
- <code>.htaccess</code> Files</strong><br />
- The <a
- href="custom-error.html"><code>ErrorDocument</code></a>
- directive can now be used in <code>.htaccess</code> files
- when the <code>FileInfo</code> directive has been set on.
- This allows users to have different error messages for
- different sections of a site.</li>
-
- <li><strong><code>ForceType</code> Directive</strong><br />
- This new directive, in <code>&lt;Directory&gt;</code>
- sections or .htaccess files, allows you to override the
- filename extensions and force a single content type.
- (<em>e.g.</em>, <code>ForceType
- application/octet-stream</code>)</li>
-
- <li><strong>File Owner Available to Included CGI
- Scripts</strong><br />
- Server-side includes that call CGI scripts will now set a
- <code>USER_NAME</code> environment variable that contains the
- owner of the file which included it.</li>
-
- <li><strong>Improved Icons</strong><br />
- Thanks to <a href="mailto:kevinh@eit.com">Kevin Hughes</a>,
- Apache's nifty color GIF icons for directory listings have
- been updated. In addition, the <a
- href="../apache_pb.gif">Powered by Apache</a>
- (<code>apache_pb.gif</code>) logo has been included.</li>
- </ul>
- <hr />
-
- <h3>New Authentication Modules</h3>
-
- <p><strong>Note:</strong> These modules are not compiled into
- the server by default, as they require special support on the
- host system. They must be enabled specifically in the
- <code>Configuration</code> file.</p>
-
- <ul>
- <li><strong><a href="mod/mod_auth_anon.html">Anonymous HTTP
- Logins</a></strong><br />
- New options allow you to allow, using Basic HTTP
- Authentication, anonymous logins, like those of FTP. This
- allows you to collect email addresses of people accessing
- your site.</li>
-
- <li><strong><a href="mod/mod_digest.html">Support for Digest
- Authentication</a></strong><br />
- Apache now supports digest authentication using RSA MD5
- encryption. When used with a supporting web browser, this
- provides a more secure alternative to Basic
- authentication.</li>
-
- <li><strong><a href="mod/mod_auth_db.html">Support for Unix
- DB Authentication</a></strong> -
- <code>mod_auth_db.c</code><br />
- In addition to <a href="mod/mod_auth_dbm.html">DBM</a>
- support, Apache now contains optional support for Berkeley DB
- databases.</li>
-
- <li><strong>mSQL Database Authentication</strong> -
- <code>mod_auth_msql.html</code><br />
- Support for the use of mSQL databases for user
- authentication via HTTP is now supported.</li>
- </ul>
- <hr />
-
- <h3>OS/2 Support</h3>
-
- <p>Apache now includes support for OS/2, thanks to <a
- href="http://www.slink.com/ApacheOS2/">Softlink
- Services</a>.</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/new_features_1_3.html.html b/usr.sbin/httpd/htdocs/manual/new_features_1_3.html.html
deleted file mode 100644
index fa4f96d4892..00000000000
--- a/usr.sbin/httpd/htdocs/manual/new_features_1_3.html.html
+++ /dev/null
@@ -1,904 +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>New features with Apache 1.3</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 New Features in Apache 1.3</h1>
-
- <p>New features with this release, as extensions of the Apache
- functionality. Because the core code has changed so
- significantly, there are certain liberties that earlier
- versions of Apache (and the NCSA daemon) took that recent
- Apache versions are pickier about - please check the <a
- href="misc/compat_notes.html">compatibility notes</a> if you
- have any problems.</p>
-
- <p>If you're upgrading from Apache 1.2, you may wish to read
- the <a href="upgrading_to_1_3.html">upgrade notes</a>.</p>
-
- <p>Enhancements: <a href="#core">Core</a> | <a
- href="#performance">Performance</a> | <a
- href="#config">Configuration</a> | <a href="#mod">Modules</a> |
- <a href="#api">API</a> | <a href="#misc">Misc</a></p>
- <hr />
-
- <h2><a id="core" name="core">Core Enhancements:</a></h2>
-
- <dl>
- <dt><strong><a href="dso.html">Dynamic Shared Object (DSO)
- support</a></strong></dt>
-
- <dd>Apache modules may now be loaded at runtime; this means
- that modules can be loaded into the server process space only
- when necessary, thus overall memory usage by Apache will be
- significantly reduced. DSO currently is supported on FreeBSD,
- OpenBSD, NetBSD, Linux, Solaris, SunOS, Digital UNIX, IRIX,
- HP/UX, UnixWare, NetWare, AIX, ReliantUnix and generic SVR4
- platforms.</dd>
-
- <dt><strong><a href="windows.html">Support for Windows
- NT/95</a></strong></dt>
-
- <dd>Apache now supports the Windows NT and Windows 2000
- operating systems. While Apache may run on Windows 95, 98, or
- ME, these consumer products are never recommended for
- production environments, and their use remains experimental.
- All versions of Apache running on Windows prior to 1.3.15
- should be considered beta quality releases.</dd>
-
- <dt><strong><a href="cygwin.html">Support for
- Cygwin</a></strong></dt>
-
- <dd>Apache now supports the Cygwin platform for the Windows
- NT and Windows 2000 operating systems. The Cygwin versions
- should be considered as stable and reliable as the <a
- href="windows.html">Windows</a> native counterpart.</dd>
-
- <dt><strong><a href="netware.html">Support for NetWare
- 5.x</a></strong></dt>
-
- <dd>Apache now supports NetWare 5.x and above
- operating systems.</dd>
-
- <dt><strong><a href="sourcereorg.html">Re-organized
- Sources</a></strong></dt>
-
- <dd>The source files for Apache have been re-organized. The
- main difference for Apache users is that the "Module" lines
- in <code>Configuration</code> have been replaced with
- "AddModule" with a slightly different syntax. For module
- authors there are some changes designed to make it easier for
- users to add their module.</dd>
-
- <dt><strong>Reliable Piped Logs</strong></dt>
-
- <dd>On almost all Unix architectures Apache now implements
- "reliable" piped logs in <a
- href="mod/mod_log_config.html">mod_log_config</a>. Where
- reliable means that if the logging child dies for whatever
- reason, Apache will recover and respawn it without having to
- restart the entire server. Furthermore if the logging child
- becomes "stuck" and isn't reading its pipe frequently enough
- Apache will also restart it. This opens up more opportunities
- for log rotation, hit filtering, real-time splitting of
- multiple vhosts into separate logs, and asynchronous DNS
- resolving on the fly.</dd>
- </dl>
- <hr />
-
- <h2><a id="performance" name="performance">Performance
- Improvements</a></h2>
-
- <ul>
- <li>IP-based virtual hosts are looked up via hash table.</li>
-
- <li>&lt;Directory&gt; parsing speedups.</li>
-
- <li>The critical path for static requests has fewer system
- calls. This generally helps all requests. (45 syscalls for a
- static request in 1.2 versus 22 in 1.3 in a well tuned
- configuration).</li>
-
- <li><a
- href="mod/mod_proxy.html#proxyreceivebuffersize"><code>ProxyReceiveBufferSize</code></a>
- directive gives <code>mod_proxy</code>'s outgoing connections
- larger network buffers, for increased throughput.</li>
-
- <li>The low level I/O routines use <code>writev</code> (where
- available) to issue multiple writes with a single system
- call. They also avoid copying memory into buffers as much as
- possible. The result is less CPU time spent on transferring
- large files.</li>
-
- <li>Static requests are served using <code>mmap</code>, which
- means bytes are only copied from the disk buffer to the
- network buffer directly by the kernel. The program never
- copies bytes around, which reduces CPU time. (Only where
- available/tested.)</li>
-
- <li>When presented with a load spike, the server quickly
- adapts by spawning children at faster rates.</li>
-
- <li>The code which dispatches modules was optimized to avoid
- repeatedly skipping over modules that don't implement certain
- phases of the API. (This skipping showed up as 5% of the CPU
- time on profiles of a server with the default module
- mix.)</li>
-
- <li>Revamp of the Unix scoreboard management code so that
- less time is spent counting children in various states.
- Previously a scan was performed for each hit, now it is
- performed only once per second. This should be noticeable on
- servers running with hundreds of children and high
- loads.</li>
-
- <li>New serialization choices improve performance on Linux,
- and IRIX.</li>
-
- <li><code><a
- href="mod/mod_log_config.html">mod_log_config</a></code> can
- be compile-time configured to buffer writes.</li>
-
- <li>Replaced <code>strncpy()</code> with
- <code>ap_cpystrn()</code>, a routine which doesn't have to
- zero-fill the entire result. This has dramatic effects on
- <code>mod_include</code> speed.</li>
-
- <li>Additions to the internal "table" API (used for keeping
- lists of key/value string pairs) provide for up to 20%
- performance improvement in many situations.</li>
- </ul>
-
- <p>See <a href="misc/perf-tuning.html">the new performance
- documentation</a> for more information.</p>
- <hr />
-
- <h2><a id="config" name="config">Configuration
- Enhancements</a></h2>
-
- <dl>
- <dt><strong>Unified Server Configuration Files</strong></dt>
-
- <dd><em>(Apache 1.3.4)</em> The contents of the three server
- configuration files (<samp>httpd.conf</samp>,
- <samp>srm.conf</samp>, and <samp>access.conf</samp>) have
- been merged into a single <samp>httpd.conf</samp> file. The
- <samp>srm.conf</samp> and <samp>access.conf</samp> files are
- now empty except for comments directing the Webmaster to look
- in <samp>httpd.conf</samp>. In addition, the merged
- <samp>httpd.conf</samp> file has been restructured to allow
- directives to appear in a hopefully more intuitive and
- meaningful order.</dd>
-
- <dt><strong>Continuation Lines in config files</strong></dt>
-
- <dd>Directive lines in the server configuration files may now
- be split onto multiple lines by using the canonical Unix
- continuation mechanism, namely a '\' as the last non-blank
- character on the line to indicate that the next line should
- be concatenated.</dd>
-
- <dt><strong>Apache Autoconf-style Interface
- (APACI)</strong></dt>
-
- <dd>Until Apache 1.3 there was no real out-of-the-box
- batch-capable build and installation procedure for the
- complete Apache package. This is now provided by a top-level
- <code>configure</code> script and a corresponding top-level
- <code>Makefile.tmpl</code> file. The goal is to provide a GNU
- Autoconf-style frontend which is capable to both drive the
- old <code>src/Configure</code> stuff in batch and
- additionally installs the package with a GNU-conforming
- directory layout. Any options from the old configuration
- scheme are available plus a lot of new options for flexibly
- customizing Apache.<br />
- <strong>Note:</strong> The default installation layout has
- changed for Apache 1.3.4. See the files
- <code>README.configure</code> and <code>INSTALL</code> for
- more information.</dd>
-
- <dt><strong>APache eXtenSion (APXS) support
- tool</strong></dt>
-
- <dd>Now that Apache provides full support for loading modules
- under runtime from dynamic shared object (DSO) files, a new
- support tool <code>apxs</code> was created which provides
- off-source building, installing and activating of those
- DSO-based modules. It completely hides the platform-dependent
- DSO-build commands from the user and provides an easy way to
- build modules outside the Apache source tree. To achieve this
- APACI installs the Apache C header files together with the
- <code>apxs</code> tool.</dd>
-
- <dt><a href="install.html#installing"><strong>Default Apache
- directory path changed to
- <code>/usr/local/apache/</code></strong></a><br />
- </dt>
-
- <dd>The default directory for the Apache ServerRoot changed
- from the NCSA-compatible <code>/usr/local/etc/httpd/</code>
- to <code>/usr/local/apache/</code>. This change covers only
- the default setting (and the documentation); it is of course
- possible to override it using the <a href="invoking.html">-d
- <em>ServerRoot</em> and -f <em>httpd.conf</em></a> switches
- when starting apache.</dd>
-
- <dt><strong>Improved HTTP/1.1-style Virtual
- Hosts</strong></dt>
-
- <dd>The new <a
- href="mod/core.html#namevirtualhost"><code>NameVirtualHost</code></a>
- directive is used to list IP address:port pairs on which
- HTTP/1.1-style virtual hosting occurs. This is vhosting based
- on the <code>Host:</code> header from the client. Previously
- this address was implicitly the same as the "main address" of
- the machine, and this caused no end of problems for users,
- and was not powerful enough. Please see the <a
- href="vhosts/">Apache Virtual Host documentation</a> for
- further details on configuration.</dd>
-
- <dt><strong><code>Include</code> directive</strong></dt>
-
- <dd>The <a
- href="mod/core.html#include"><code>Include</code></a>
- directive includes other config files immediately at that
- point in parsing.</dd>
-
- <dt><strong>-S command line option for debugging vhost
- setup</strong></dt>
-
- <dd>If Apache is invoked with the <code>-S</code> command
- line option it will dump out information regarding how it
- parsed the <code>VirtualHost</code> sections. This is useful
- for folks trying to debug their virtual host
- configuration.</dd>
-
- <dt><strong>Control of HTTP methods</strong></dt>
-
- <dd><a href="mod/core.html#limitexcept">&lt;LimitExcept&gt;
- and &lt;/LimitExcept&gt;</a> are used to enclose a group of
- access control directives which will then apply to any HTTP
- access method not listed in the arguments; i.e., it is the
- opposite of a &lt;Limit&gt; section and can be used to
- control both standard and nonstandard/unrecognized
- methods.</dd>
- </dl>
- <hr />
-
- <h3><a id="mod" name="mod">Module Enhancements</a></h3>
-
- <dl>
- <dt><a href="mod/mod_negotiation.html"><strong>Improved
- mod_negotiation</strong></a><br />
- </dt>
-
- <dd>The optional content negotiation (MultiViews) module has
- been completely overhauled for Apache 1.3.4, incorporating
- the latest HTTP/1.1 revisions and the experimental
- Transparent Content Negotion features of RFC 2295 and RFC
- 2296.</dd>
-
- <dt><a href="mod/mod_speling.html"><strong>NEW - Spelling
- correction module</strong></a><br />
- </dt>
-
- <dd>This optional module corrects frequently occurring
- spelling and capitalization errors in document names
- requested from the server.</dd>
-
- <dt><a href="mod/mod_setenvif.html"><strong>NEW - Conditional
- setting of environment variables</strong></a><br />
- </dt>
-
- <dd>The addition of <a
- href="mod/mod_setenvif.html#setenvif"><code>SetEnvIf</code></a>
- and <a
- href="mod/mod_setenvif.html#setenvifnocase"><code>SetEnvIfNoCase</code></a>.
- These allow you to set environment variables for server and
- CGI use based upon attributes of the request.</dd>
-
- <dt><strong><a href="mod/mod_mime_magic.html">NEW - "Magic"
- MIME-typing</a></strong></dt>
-
- <dd>The optional <code>mod_mime_magic</code> has been added.
- It uses "magic numbers" and other hints from a file's
- contents to figure out what the contents are. It then uses
- this information to set the file's media type, if it cannot
- be determined by the file's extension.</dd>
-
- <dt><strong><a href="mod/mod_unique_id.html">NEW - Unique
- Request Identifiers</a></strong></dt>
-
- <dd><a href="mod/mod_unique_id.html">mod_unique_id</a> can be
- included to generate a unique identifier that distinguishes a
- hit from every other hit. ("Unique" has some restrictions on
- it.) The identifier is available in the environment variable
- <code>UNIQUE_ID</code>.</dd>
-
- <dt><strong>mod_proxy enhancements:</strong></dt>
-
- <dd>
- <ul>
- <li>Easier and safer authentication for ftp proxy logins:
- When no ftp user name and/or password is specified in the
- URL, but the destination ftp server requires one, Apache
- now returns a "[401] Authorization Required" status. This
- status code usually makes the client browser pop up an
- "Enter user name and password" dialog, and the request is
- retried with the given user authentification. That is
- slightly more secure than specifying the authentication
- information as part of the request URL, where it could be
- logged in plaintext by older proxy servers.</li>
-
- <li>The new <samp>AllowCONNECT</samp> directive allows
- configuration of the port numbers to which the proxy
- CONNECT method may connect. That allows proxying to
- https://some.server:8443/ which resulted in an error
- message prior to Apache version 1.3.2.</li>
-
- <li>The proxy now supports the HTTP/1.1 "Via:" header as
- specified in RFC2068. The new <a
- href="mod/mod_proxy.html#proxyvia"><code>ProxyVia</code></a>
- directive allows switching "Via:" support off or on, or
- suppressing outgoing "Via:" header lines altogether for
- privacy reasons.</li>
-
- <li>The "Max-Forwards:" TRACE header specified in
- HTTP/1.1 is now supported. With it, you can trace the
- path of a request along a chain of proxies (if they, too,
- support it).</li>
-
- <li><a
- href="mod/mod_proxy.html#noproxy"><code>NoProxy</code></a>
- and <a
- href="mod/mod_proxy.html#proxydomain"><code>ProxyDomain</code></a>
- directives added to proxy, useful for intranets.</li>
-
- <li>New <code><a
- href="mod/mod_proxy.html#proxypassreverse">ProxyPassReverse</a></code>
- directive. It lets Apache adjust the URL in the
- <tt>Location</tt> header on HTTP redirect responses.</li>
-
- <li>Easier navigation in ftp server directory trees.</li>
- </ul>
- </dd>
-
- <dt><a href="mod/mod_include.html#flowctrl"><strong>Enhanced
- <code>mod_include</code> string
- comparisons</strong></a><br />
- </dt>
-
- <dd>The string-based server-side include (SSI) flow-control
- directives now include comparison for less-than (&lt;),
- less-than-or-equal (&lt;=), greater-than (&gt;), and
- greater-than-or-equal (&gt;=). Previously comparisons could
- only be made for equality or inequality.</dd>
-
- <dt><strong>ServerRoot relative auth filenames</strong></dt>
-
- <dd>Auth filenames for the various authentication modules are
- now treated as relative to the ServerRoot if they are not
- full paths.</dd>
-
- <dt><a href="mod/mod_autoindex.html"><strong>Enhancements to
- directory indexing:</strong></a></dt>
-
- <dd>
- <ul>
- <li><strong>Code split:</strong>The <code>mod_dir</code>
- module has been split in two, with <a
- href="mod/mod_dir.html">mod_dir</a> handling directory
- index files, and <a
- href="mod/mod_autoindex.html">mod_autoindex</a> creating
- directory listings. Thus allowing folks to remove the
- indexing function from critical servers.</li>
-
- <li><strong>Sortable:</strong> Clicking on a column title
- will now sort the listing in order by the values in that
- column. This feature can be disabled using the
- <code>SuppressColumnSorting</code> <a
- href="mod/mod_autoindex.html#indexoptions">IndexOptions</a>
- keyword.</li>
-
- <li><a
- href="mod/mod_autoindex.html#indexoptions:suppresshtmlpreamble">
- <code><strong>SuppressHTMLPreamble</strong></code></a>
- can be used if your README.html file includes its own
- HTML header.</li>
-
- <li>The <a
- href="mod/mod_autoindex.html#indexoptions"><code><strong>IndexOptions</strong></code></a>
- directive now allows the use of incremental prefixes (+/-
- to add/remove the respective keyword feature, as was
- already possible for the <a
- href="mod/core.html#options">Options</a> directive) to
- its keyword arguments. Multiple IndexOptions directives
- applying to the same directory will now be merged.</li>
-
- <li><a
- href="mod/mod_autoindex.html#indexoptions:iconheight"><strong>
- <code>IconHeight</code></strong></a> and <a
- href="mod/mod_autoindex.html#indexoptions:iconwidth"><strong>
- <code>IconWidth</code></strong></a> let you set height
- and width attributes to the <code>&lt;IMG&gt;</code> tag
- in directory listings.</li>
-
- <li>The new <a
- href="mod/mod_autoindex.html#indexoptions:namewidth"><strong>
- <code>NameWidth</code></strong></a> keyword to the <a
- href="mod/mod_autoindex.html#indexoptions">IndexOptions</a>
- directive lets you set the number of columns for <a
- href="mod/mod_autoindex.html#indexoptions:fancyindexing">"fancy"
- directory listings</a>. If set to an '*' asterisk, the
- name width will be adjusted automatically.</li>
-
- <li>The <a
- href="mod/mod_autoindex.html#fancyindexing"><samp>FancyIndexing</samp></a>
- directive now correctly has the same impact as <a
- href="mod/mod_autoindex.html#indexoptions:fancyindexing"><samp>
- IndexOptions&nbsp;FancyIndexing</samp></a> without
- replacing the effect of any existing
- <samp>IndexOptions</samp> directive.</li>
-
- <li>Starting with 1.3.15, the server will satisfy
- directory requests with the cache controls ETag and
- LastModified, if IndexOptions includes the <a
- href="mod/mod_autoindex.html#indexoptions:trackmodified"><samp>TrackModified</samp></a>
- directive. The server will not need to generate the
- listing if the client determines the request has not
- changed, improving performance. Due to its experimental
- nature, this feature is not enabled by default.</li>
- </ul>
- </dd>
-
- <dt><strong>Less Buffering of CGI Script Output</strong></dt>
-
- <dd>In previous versions of Apache, the output from CGI
- scripts would be internally buffered by the server, and
- wouldn't be forwarded to the client until either the buffers
- were full or the CGI script completed. As of Apache 1.3, the
- buffer to the client is flushed any time it contains
- something and the server is waiting for more information from
- the script. This allows CGI script to provide partial status
- reports during long processing operations.</dd>
-
- <dt><strong><a href="mod/mod_alias.html">Regular Expression
- support for <code>Alias</code> and
- <code>Redirect</code></a></strong></dt>
-
- <dd>New <a
- href="mod/mod_alias.html#aliasmatch"><code>AliasMatch</code></a>,
- <a
- href="mod/mod_alias.html#scriptaliasmatch"><code>ScriptAliasMatch</code></a>,
- and <a
- href="mod/mod_alias.html#redirectmatch"><code>RedirectMatch</code></a>
- directives allow for the use of regular expression matching.
- Additionally, new <a
- href="mod/core.html#directorymatch"><code>&lt;DirectoryMatch&gt;</code></a>,
- <a
- href="mod/core.html#locationmatch"><code>&lt;LocationMatch&gt;</code></a>,
- and <a
- href="mod/core.html#filesmatch"><code>&lt;FilesMatch&gt;</code></a>
- sections provide a new syntax for regular expression
- sectioning.</dd>
-
- <dt><strong><a
- href="mod/mod_info.html#addmoduleinfo"><code>AddModuleInfo</code></a>
- directive added to <a
- href="mod/mod_info.html">mod_info</a></strong></dt>
-
- <dd>Allows additional information to be listed along with a
- specified module.</dd>
-
- <dt><strong>Absence of any <code>TransferLog</code> disables
- logging</strong></dt>
-
- <dd>If no <a
- href="mod/mod_log_config.html#transferlog"><code>TransferLog</code></a>
- directive is given then no log is written. This supports
- co-existence with other logging modules.</dd>
-
- <dt><strong>Ability to name logging formats</strong></dt>
-
- <dd>The <a
- href="mod/mod_log_config.html#logformat"><code>LogFormat</code></a>
- directive has been enhanced to allow you to give nicknames to
- specific logging formats. You can then use these nicknames in
- other <code>LogFormat</code> and <a
- href="mod/mod_log_config.html#customlog"><code>CustomLog</code></a>
- directives, rather than having to spell out the complete log
- format string each time.</dd>
-
- <dt><strong>Conditional logging</strong></dt>
-
- <dd><a
- href="mod/mod_log_config.html#customlog-conditional">mod_log_config</a>
- now supports logging based upon environment variables.
- mod_log_referer and mod_log_agent are now deprecated.</dd>
-
- <dt><strong>mod_cern_meta configurable
- per-directory</strong></dt>
-
- <dd><a href="mod/mod_cern_meta.html">mod_cern_meta</a> is now
- configurable on a per-directory basis.</dd>
-
- <dt><strong>New map types for <a
- href="mod/mod_rewrite.html#RewriteMap"><code>RewriteMap</code></a>
- directive</strong></dt>
-
- <dd>The new map types `Randomized Plain Text' and `Internal
- Function' were added to the <code>RewriteMap</code> directive
- of mod_rewrite. They provide two new features: First, you now
- can randomly choose a sub-value from a value which was
- looked-up in a rewriting map (which is useful when choosing
- between backend servers in a Reverse Proxy situation).
- Second, you now can translate URL parts to fixed (upper or
- lower) case (which is useful when doing mass virtual hosting
- by the help of mod_rewrite).</dd>
-
- <dt><strong>CIDR and Netmask access control</strong></dt>
-
- <dd><a href="mod/mod_access.html">mod_access</a> directives
- now support CIDR (Classless Inter-Domain Routing) style
- prefixes, and netmasks for greater control over IP access
- lists.</dd>
- </dl>
- <hr />
-
- <h3><a id="api" name="api">API Additions and Changes</a></h3>
-
- <p>For all those module writers and code hackers:</p>
-
- <dl>
- <dt><strong><code>child_init</code></strong></dt>
-
- <dd>A new phase for Apache's API is called once per
- "heavy-weight process," before any requests are handled. This
- allows the module to set up anything that need to be done
- once per processes. For example, connections to
- databases.</dd>
-
- <dt><strong><code>child_exit</code></strong></dt>
-
- <dd>A new phase called once per "heavy-weight process," when
- it is terminating. Note that it can't be called in some fatal
- cases (such as segfaults and kill -9). The
- <code>child_init</code> and <code>child_exit</code> functions
- are passed a pool whose lifetime is the same as the lifetime
- of the child (modulo completely fatal events in which Apache
- has no hope of recovering). In contrast, the module
- <code>init</code> function is passed a pool whose lifetime
- ends when the parent exits or restarts.</dd>
-
- <dt><strong><code>child_terminate</code></strong></dt>
-
- <dd>Used in the child to indicate the child should exit after
- finishing the current request.</dd>
-
- <dt><strong><code>register_other_child</code></strong></dt>
-
- <dd>See <code>http_main.h</code>. This is used in the parent
- to register a child for monitoring. The parent will report
- status to a supplied callback function. This allows modules
- to create their own children which are monitored along with
- the httpd children.</dd>
-
- <dt><strong><code>piped_log</code></strong></dt>
-
- <dd>See <code>http_log.h</code>. This API provides the common
- code for implementing piped logs. In particular it implements
- a reliable piped log on architectures supporting it
- (<em>i.e.</em>, Unix at the moment).</dd>
-
- <dt><strong>scoreboard format changed</strong></dt>
-
- <dd>The scoreboard format is quite different. It is
- considered a "private" interface in general, so it's only
- mentioned here as an FYI.</dd>
-
- <dt><strong><code>set_last_modified</code> split into
- three</strong></dt>
-
- <dd>The old function <code>set_last_modified</code> performed
- multiple jobs including the setting of the
- <code>Last-Modified</code> header, the <code>ETag</code>
- header, and processing conditional requests (such as IMS).
- These functions have been split into three functions:
- <code>set_last_modified</code>, <code>set_etag</code>, and
- <code>meets_conditions</code>. The field <code>mtime</code>
- has been added to <code>request_rec</code> to facilitate
- <code>meets_conditions</code>.</dd>
-
- <dt><strong>New error logging function:
- <code>ap_log_error</code></strong></dt>
-
- <dd>All old logging functions are deprecated, we are in the
- process of replacing them with a single function called
- <code>ap_log_error</code>. This is still a work in
- progress.</dd>
-
- <dt><strong><code>set_file_slot</code> for config
- parsing</strong></dt>
-
- <dd>The <code>set_file_slot</code> routine provides a
- standard routine that prepends ServerRoot to non-absolute
- paths.</dd>
-
- <dt><strong><code>post_read_request</code> module
- API</strong></dt>
-
- <dd>This request phase occurs immediately after reading the
- request (headers), and immediately after creating an internal
- redirect. It is most useful for setting environment variables
- to affect future phases.</dd>
-
- <dt><strong><code>psocket</code>, and
- <code>popendir</code></strong></dt>
-
- <dd>The <code>psocket</code> and <code>pclosesocket</code>
- functions allow for race-condition free socket creation with
- resource tracking. Similarly <code>popendir</code> and
- <code>pclosedir</code> protect directory reading.</dd>
-
- <dt><strong><code>is_initial_req</code></strong></dt>
-
- <dd>Test if the request is the initial request
- (<em>i.e.</em>, the one coming from the client).</dd>
-
- <dt><strong><code>kill_only_once</code></strong></dt>
-
- <dd>An option to <code>ap_spawn_child</code> functions which
- prevents Apache from aggressively trying to kill off the
- child.</dd>
-
- <dt><strong><code>alloc debugging code</code></strong></dt>
-
- <dd>Defining <code>ALLOC_DEBUG</code> provides a rudimentary
- memory debugger which can be used on live servers with low
- impact -- it sets all allocated and freed memory bytes to
- 0xa5. Defining <code>ALLOC_USE_MALLOC</code> will cause the
- alloc code to use <code>malloc()</code> and
- <code>free()</code> for each object. This is far more
- expensive and should only be used for testing with tools such
- as Electric Fence and Purify. See <code>main/alloc.c</code>
- for more details.</dd>
-
- <dt><strong><code>ap_cpystrn</code></strong></dt>
-
- <dd>The new <code>strncpy</code> "lookalike", with slightly
- different semantics is much faster than <code>strncpy</code>
- because it doesn't have to zero-fill the entire buffer.</dd>
-
- <dt><strong><code>table_addn</code>, <code>table_setn</code>,
- <code>table_mergen</code></strong></dt>
-
- <dd>These new functions do <strong>not</strong> call
- <code>pstrdup</code> on their arguments. This provides for
- big speedups. There is also some debugging support to ensure
- code uses them properly. See <code>src/CHANGES</code> for
- more information.</dd>
-
- <dt><strong><code>construct_url</code></strong></dt>
-
- <dd>The function prototype for this changed from taking a
- <code>server_rec *</code> to taking a <code>request_rec
- *</code>.</dd>
-
- <dt><strong><code>get_server_name</code>,
- <code>get_server_port</code></strong></dt>
-
- <dd>These are wrappers which deal with the <a
- href="mod/core.html#usecanonicalname">UseCanonicalName</a>
- directive when retrieving the server name and port for a
- request.</dd>
-
- <dt><strong>Change to prototype for
- <code>ap_bspawn_child</code> and
- <code>ap_call_exec</code></strong></dt>
-
- <dd>Added a <code>child_info *</code> to <code>spawn</code>
- function (as passed to <code>ap_bspawn_child</code>) and to
- <code>ap_call_exec</code> to allow children to work correctly
- on Win32. We also cleaned up the nomenclature a bit,
- replacing <code>spawn_child_err</code> with simply
- <code>ap_spawn_child</code> and
- <code>spawn_child_err_buff</code> with simply
- <code>ap_bspawn_child</code>.</dd>
-
- <dt>
- <strong><code>ap_add_version_component()</code></strong></dt>
-
- <dd>This API function allows for modules to add their own
- additional server tokens which are printed on the on the
- <code>Server:</code> header line. Previous 1.3beta versions
- had used a <code>SERVER_SUBVERSION</code> compile-time
- <code>#define</code> to perform this function. Whether the
- tokens are actually displayed is controlled by the new
- <code>ServerTokens</code> directive.</dd>
- </dl>
- <hr />
-
- <h3><a id="misc" name="misc">Miscellaneous
- Enhancements</a></h3>
-
- <dl>
- <dt><strong><a href="ebcdic.html">Port to EBCDIC mainframe
- machine running BS2000/OSD</a></strong></dt>
-
- <dd>As a premiere, this version of Apache comes with a beta
- version of a port to a mainframe machine which uses the
- EBCDIC character set as its native codeset (It is the SIEMENS
- family of mainframes running the BS2000/OSD operating system
- on a IBM/390 compatible processor. This mainframe OS nowadays
- features a SVR4-like POSIX subsystem).</dd>
-
- <dt><strong><a
- href="mod/core.html#accessfilename"><code>AccessFileName</code>
- Enhancement</a></strong></dt>
-
- <dd>The <code>AccessFileName</code> directive can now take
- more than one filename. This lets sites serving pages from
- network file systems and more than one Apache web server,
- configure access based on the server through which shared
- pages are being served.</dd>
-
- <dt><strong><code>HostnameLookups</code> now defaults to
- "Off"</strong></dt>
-
- <dd>The <a
- href="mod/core.html#hostnamelookups"><code>HostnameLookups</code></a>
- directive now defaults to "Off". This means that, unless
- explicitly turned on, the server will not resolve IP
- addresses into names. This was done to spare the Internet
- from unnecessary DNS traffic.</dd>
-
- <dt><strong>Double-Reverse DNS enforced</strong></dt>
-
- <dd>The <a
- href="mod/core.html#hostnamelookups"><code>HostnameLookups</code></a>
- directive now supports double-reverse DNS. (Known as
- <em>PARANOID</em> in the terminology of tcp_wrappers.) An IP
- address passes a double-reverse DNS test if the forward map
- of the reverse map includes the original IP. Regardless of
- the HostnameLookups setting, <a
- href="mod/mod_access.html">mod_access</a> access lists using
- DNS names <strong>require</strong> all names to pass a
- double-reverse DNS test. (Prior versions of Apache required a
- compile-time switch to enable double-reverse DNS.)</dd>
-
- <dt><strong>LogLevel and syslog support</strong></dt>
-
- <dd>Apache now has <a
- href="mod/core.html#loglevel">configurable error logging
- levels</a> and supports <a
- href="mod/core.html#errorlog">error logging via
- syslogd(8)</a>.</dd>
-
- <dt><strong>Detaching from stdin/out/err</strong></dt>
-
- <dd>On boot Apache will now detach from stdin, stdout, and
- stderr. It does not detach from stderr until it has
- successfully read the config files. So you will see errors in
- the config file. This should make it easier to start Apache
- via rsh or crontab.</dd>
-
- <dt><a id="y2k" name="y2k"><strong>Year-2000
- Improvements</strong></a></dt>
-
- <dd>The default <code>timefmt</code> string used by <a
- href="mod/mod_include.html"><code>mod_include</code></a> has
- been modified to display the year using four digits rather
- than the two-digit format used previously. The <a
- href="mod/mod_autoindex.html"><code>mod_autoindex</code></a>
- module has also been modified to display years using four
- digits in FancyIndexed directory listings.</dd>
-
- <dt><strong>Common routines Moving to a Separate
- Library</strong></dt>
-
- <dd>There are a number of functions and routines that have
- been developed for the Apache project that supplement or
- supersede library routines that differ from one operating
- system to another. While most of these are used only by the
- Apache server itself, some are referenced by supporting
- applications (such as <code>htdigest</code>), and these other
- applications would fail to build because the routines were
- built only into the server. These routines are now being
- migrated to a separate subdirectory and library so they can
- be used by other applications than just the server. See the
- <code>src/ap/</code> subdirectory.</dd>
-
- <dt><strong>New <code><a
- href="mod/core.html#serversignature">ServerSignature</a></code>
- directive</strong></dt>
-
- <dd>This directive optionally adds a line containing the
- server version and virtual host name to server-generated
- pages (error documents, ftp directory listings, mod_info
- output <em>etc.</em>). This makes it easier for users to tell
- which server produced the error message, especially in a
- proxy chain (often found in intranet environments).</dd>
-
- <dt><strong>New <code><a
- href="mod/core.html#usecanonicalname">UseCanonicalName</a></code>
- directive</strong></dt>
-
- <dd>This directive gives control over how Apache creates
- self-referential URLs. Previously Apache would always use the
- <a href="mod/core.html#servername">ServerName</a> and <a
- href="mod/core.html#port">Port</a> directives to construct a
- "canonical" name for the server. With <code>UseCanonicalName
- off</code> Apache will use the hostname and port supplied by
- the client, if available.</dd>
-
- <dt><strong><code>SERVER_VERSION</code> definition
- abstracted, and server build date added</strong></dt>
-
- <dd>In earlier versions, the Apache server version was
- available to modules through the <code>#define</code>d value
- for <code>SERVER_VERSION</code>. In order to keep this value
- consistent when modules and the core server are compiled at
- different times, this information is now available through
- the core API routine <code>ap_get_server_version()</code>.
- The use of the <code>SERVER_VERSION</code> symbol is
- deprecated. Also, <code>ap_get_server_built()</code> returns
- a string representing the time the core server was
- linked.</dd>
-
- <dt><a href="mod/core.html#servertokens"><strong>Including
- the operating system in the server
- identity</strong></a><br />
- </dt>
-
- <dd>A new directive, <code>ServerTokens</code>, allows the
- Webmaster to change the value of the <code>Server</code>
- response header field which is sent back to clients. The
- <code>ServerTokens</code> directive controls whether the
- server will include a non-specific note in the server
- identity about the type of operating system on which the
- server is running as well as included module information. As
- of Apache 1.3, this additional information is included by
- default.<br />
- <br />
- </dd>
-
- <dt><strong>Support for Netscape style SHA1 encrypted
- passwords</strong><br />
- </dt>
-
- <dd>To facilitate migration or integration of BasicAuth
- password schemes where the password is encrypted using SHA1
- (as opposed to Apache's built in MD5 and/or the OS specific
- crypt(3) function ) passwords prefixed with with
- <code>{SHA1}</code> are taken as Base64 encoded SHA1
- passwords. More information and some utilities to convert
- Netscape ldap/ldif entries can be found in support/SHA1.</dd>
- </dl>
- <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/new_features_2_0.html b/usr.sbin/httpd/htdocs/manual/new_features_2_0.html
deleted file mode 100644
index 0f7990b1a72..00000000000
--- a/usr.sbin/httpd/htdocs/manual/new_features_2_0.html
+++ /dev/null
@@ -1,72 +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>New features with Apache 2.0</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 New Features in Apache 2.0</h1>
-
- <p>New features with this release, as extensions of the Apache
- functionality. Because the core code has changed so
- significantly, there are certain liberties that earlier
- versions of Apache (and the NCSA daemon) took that recent
- Apache versions are pickier about - when Apache 2.0 is
- released, there will be more notes on how to correct those
- issues.</p>
-
- <p>Enhancements: <a href="#core">Core</a> | <a
- href="#performance">Performance</a> | <a
- href="#config">Configuration</a> | <a href="#mod">Modules</a> |
- <a href="#api">API</a> | <a href="#misc">Misc</a></p>
- <hr />
-
- <h2><a id="core" name="core">Core Enhancements:</a></h2>
-
- <dl>
- <dt><strong>New Build System</strong></dt>
-
- <dd>The entire build system has been completely redesigned to
- take advantage of autoconf and libtool. This makes it more
- likely that DSO's will work on more systems.</dd>
-
- <dt><strong>Improved Portability</strong></dt>
-
- <dd>Apache now takes advantage of native system calls on all
- supported platforms. This improves performance and reduces
- bugs.</dd>
-
- <dt><strong>Multi-Threading</strong></dt>
-
- <dd>Apache 2.0 has the option of being multi-process and
- multi-threaded on most platforms.</dd>
-
- <dt><strong>Apache Portable Runtime</strong></dt>
-
- <dd>The Apache Portable Runtime allow Apache to easily port
- to more and more systems. This has however caused a major
- code re-organization.</dd>
- </dl>
- <hr />
- <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/sitemap.html b/usr.sbin/httpd/htdocs/manual/sitemap.html
index 99b4d26f6e9..f7bdb6aaea4 100644
--- a/usr.sbin/httpd/htdocs/manual/sitemap.html
+++ b/usr.sbin/httpd/htdocs/manual/sitemap.html
@@ -80,7 +80,6 @@ Side Includes</a></li>
<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="cygwin.html">Using Apache with Cygwin</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>
diff --git a/usr.sbin/httpd/htdocs/manual/upgrading_to_1_3.html b/usr.sbin/httpd/htdocs/manual/upgrading_to_1_3.html
deleted file mode 100644
index 0d6eb31b033..00000000000
--- a/usr.sbin/httpd/htdocs/manual/upgrading_to_1_3.html
+++ /dev/null
@@ -1,352 +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>Upgrading to 1.3 from 1.2</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">Upgrading to 1.3 from 1.2</h1>
-
- <p>In order to assist folks upgrading we are now going to
- maintain a document describing information critical to existing
- Apache users. Note that it only lists differences between
- recent major releases, so for example, folks using Apache 1.1
- or earlier will have to figure out what changed up to Apache
- 1.2 before this document can be considered relevant. Old users
- could look at the <code>src/CHANGES</code> file which tracks
- code changes.</p>
-
- <p>These are intended to be brief notes, and you should be able
- to find more information in either the <a
- href="new_features_1_3.html">New Features</a> document, or in
- the <code>src/CHANGES</code> file.</p>
-
- <h3>Compile-Time Configuration Changes</h3>
-
- <ul>
- <li>The source code has been <a
- href="sourcereorg.html">reorganized</a>, which affects anyone
- with custom modules or modifications. But also, the
- <code>Module</code> directive has been changed to the
- <code>AddModule</code> directive.</li>
-
- <li>The <code>Configuration</code> variable
- <code>EXTRA_LFLAGS</code> has been renamed
- <code>EXTRA_LDFLAGS</code>.</li>
-
- <li>The <code>-DMAXIMUM_DNS</code> definition has been
- obsoleted by changes to <code>mod_access</code> enforcing
- double-reverse DNS lookups when necessary.</li>
-
- <li>The <code>-DSERVER_SUBVERSION=\"string\"</code>
- compile-time option has been replaced with the run-time API
- call <code>ap_add_version_component()</code>. Compile-time
- modification of the server identity by the configuration
- scripts is no longer supported.</li>
-
- <li><code>mod_dir</code> has been split into two pieces
- <code><a
- href="mod/mod_autoindex.html">mod_autoindex</a></code>, and
- <code><a href="mod/mod_dir.html">mod_dir</a></code>.</li>
-
- <li><a
- href="mod/mod_browser.html"><code>mod_browser</code></a> has
- been replaced by <a
- href="mod/mod_setenvif.html"><code>mod_setenvif</code></a>.</li>
-
- <li>IRIX systems with untrusted users who can write CGIs
- which execute as the same uid as httpd should consider using
- <code>suexec</code>, or adding
- <code>-DUSE_FCNTL_SERIALIZED_ACCEPT</code> to
- <code>EXTRA_CFLAGS</code>. This is slower, more information
- is available on the <a
- href="misc/perf-tuning.html#serialize">performance tuning
- page</a>. There is a mild denial of service attack possible
- with the default config, but the default config is an order
- of magnitude faster.</li>
-
- <li><code>mod_auth_msql</code> has been removed from the
- distribution.</li>
-
- <li>The new Apache Autoconf-style Interface (APACI) was added
- to the top-level to provide a real out-of-the-box build and
- installation procedure for the complete Apache package.</li>
- </ul>
-
- <h3>Run-Time Configuration Changes</h3>
-
- <ul>
- <li>
- There have been numerous changes to the default config
- files. Ensure that you compare your existing configuration
- files with the new ones to ensure there aren't any
- undesired differences. In particular:
-
- <ul>
- <li>As of Apache 1.3.0, the current config files apply
- different <a href="mod/core.html#options">Options</a> and
- <a href="mod/core.html#allowoverride">AllowOverride</a>
- settings to various directories than were used in
- 1.2.</li>
-
- <li>As of the release following Apache 1.3.3, the three
- config file templates have been merged into
- <samp>httpd.conf-dist</samp> and the order of the
- directives changed.</li>
- </ul>
- </li>
-
- <li>As of 1.3.2, <a
- href="mod/mod_expires.html"><code>mod_expires</code></a> will
- add Expires headers to content that does not come from a file
- on disk, unless you are using a modification time based
- setting. Previously, it would never add an Expires header
- unless content came from a file on disk. This could result in
- Expires headers being added in places where they were not
- previously added.</li>
-
- <li>Standalone <strong><samp>FancyIndexing</samp></strong>
- directives are now combined with the settings of any
- <samp>IndexOptions</samp> directive already in effect, rather
- than replacing them.</li>
-
- <li>
- <strong><samp>AuthName</samp> strings will need to be
- quoted</strong> in <samp>.htaccess</samp> or server
- configuration files if they contain blank characters (like
- spaces). For example, if you use an <samp>AuthName</samp>
- directive like this:
-<pre>
- AuthName This and That
-
-</pre>
- you will need to change it to
-<pre>
- AuthName "This and That"
-
-</pre>
- This change was made for consistency in the config
- language.
- </li>
-
- <li>
- <strong>As of Apache 1.3.1, methods listed in
- <samp>&lt;Limit&gt;</samp> directives must be
- uppercase.</strong> Method names, such as <samp>GET</samp>,
- <samp>POST</samp>, and <samp>PUT</samp> are defined as
- being case-sensitive. That is, a <samp>GET</samp> request
- is different from a <samp>get</samp> request. Prior to
- Apache 1.3.1, the <samp>&lt;Limit&gt;</samp> directive
- parser incorrectly treated both of these as being the same.
- Apache's built-in method limit processing currently only
- understands uppercase method names, so if you've used
- clauses such as
- "<samp>&lt;Limit&nbsp;Get&nbsp;post&gt;</samp>" in your
- configuration files, you need to correct them to use
- uppercase names.
-
- <p>Unrecognized method names in the server configuration
- files will result in the server logging an error message
- and failing to start. In <samp>.htaccess</samp> files,
- unknown methods will cause the server to log an error to
- its error log and return an 'Internal Server Error' page to
- the client.</p>
- </li>
-
- <li><strong>The default Apache ServerRoot directory
- changed</strong> from the NCSA-compatible
- <samp>/usr/local/etc/httpd/</samp> to
- <samp>/usr/local/apache/</samp>. This change covers only the
- default setting (and the documentation); it is of course
- possible to override it using the <em>-d ServerRoot</em> and
- <em>-f httpd.conf</em> switches when starting apache.</li>
-
- <li>Folks using HTTP/1.1-style virtual hosting will need to
- list the ip:port pairs that are supposed to have
- HTTP/1.1-style virtual hosting via the <a
- href="mod/core.html#namevirtualhost"><code>NameVirtualHost</code></a>
- directive (one directive per pair). Previously this support
- was given implicitly on the "main server address". Now it has
- to be explicitly listed so as to avoid many problems that
- users had. Please see the <a href="vhosts/">Apache Virtual
- Host documentation</a> for further details on
- configuration.</li>
-
- <li>The precedence of virtual hosts has been reversed
- (applies mainly to vhosts using HTTP/1.1 Host: headers, and
- the <a href="mod/core.html#serverpath">ServerPath</a>
- directive). Now the earlier vhosts in the file have
- precedence over the later vhosts.</li>
-
- <li><code>HostnameLookups</code> defaults to Off.</li>
-
- <li><strong><samp>REMOTE_HOST</samp> CGI variable
- changed.</strong> In Apache 1.2 and earlier, the
- <samp>REMOTE_HOST</samp> environment variable made available
- to CGI scripts was set to either the full DNS name of the
- client, or else to the client's IP address if the name was
- not known. This behavior differed from that specified by the
- CGI specification, which defines this variable as being NULL
- if the name isn't known. In Apache 1.3, we have made this
- correction. <samp>REMOTE_ADDR</samp> always contains the
- client's IP address, but <samp>REMOTE_HOST</samp> is only
- defined when the server has been able to determine the
- client's DNS name.</li>
-
- <li>The undocumented <a
- href="mod/mod_access.html"><code>mod_access</code></a> syntax
- "allow user-agents" was removed. The replacement is the more
- general "allow from env".</li>
-
- <li>When using wildcards in pathnames (such as * and ?) they
- no longer match / (slash). That is, they more closely behave
- how a UNIX shell behaves. This affects
- <code>&lt;Directory&gt;</code> directives, for example.</li>
-
- <li>If no <code>TransferLog</code> directive is given then
- nothing will be logged. (Previously it would default to
- <code>logs/access_log</code>.)</li>
-
- <li>Apache now has <a
- href="mod/core.html#loglevel">configurable error logging
- levels</a>, and the default eliminates some messages that
- earlier versions always generated.</li>
-
- <li>When booting, Apache will now detach itself from stdin,
- stdout, and stderr. stderr will not be detached until after
- the config files have been read so you will be able to see
- initial error messages. After that all errors are logged in
- the error_log. This makes it more convenient to start Apache
- via rsh, ssh, or crontabs.</li>
-
- <li>&lt;Files&gt; sections previously could take a full
- pathname, and were matched against the full pathnames. This
- had some inconsistencies, and was removed. To emulate this
- older behavior use a &lt;Files&gt; section nested inside a
- &lt;Directory&gt; section.</li>
-
- <li>&lt;Location&gt; matching behavior with respect to
- slashes has changed. See the <a
- href="mod/core.html#location">&lt;Location&gt;
- documentation</a> for more info.</li>
- </ul>
-
- <h3>Misc Changes</h3>
-
- <ul>
- <li><code>ServerType inetd</code> has been deprecated. It
- still exists, but bugs are unlikely to be fixed.</li>
-
- <li><code>httpd_monitor</code> has been deprecated. The
- replacement is to use <code>mod_status</code> and make a
- request to a URL such as
- <code>http://myhost/server-status?refresh=10</code>.</li>
-
- <li>
- Apache now provides an effectively unbuffered connection
- for CGI scripts. This means that data will be sent to the
- client as soon as the CGI pauses or stops output;
- previously, Apache would buffer the output up to a fixed
- buffer size before sending, which could result in the user
- viewing an empty page until the CGI finished or output a
- complete buffer. It is no longer necessary to use an "nph-"
- CGI to get unbuffered output. Given that most CGIs are
- written in a language that by default does buffering
- (<em>e.g.</em>, perl) this shouldn't have a detrimental
- effect on performance.
-
- <p>"nph-" CGIs, which formerly provided a direct socket to
- the client without any server post-processing, were not
- fully compatible with HTTP/1.1 or SSL support. As such they
- would have had to implement the transport details, such as
- encryption or chunking, in order to work properly in
- certain situations. Now, the only difference between nph
- and non-nph scripts is "non-parsed headers".</p>
- </li>
-
- <li><code>dbmmanage</code> has been overhauled.</li>
- </ul>
-
- <h3>Third Party Modules</h3>
-
- <p>The following changes between the 1.2 and 1.3 API may
- require slight changes in third party modules not maintained by
- Apache.</p>
-
- <ul>
- <li>To avoid symbol clashes with third-party code compiled
- into the server, the general prefix `<code>ap_</code>' was
- globally applied to the following classes of symbols: Apache
- provided general functions (<em>e.g.</em>,
- <code>ap_cpystrn</code>), public API functions
- (<em>e.g.</em>, <code>palloc</code>, <code>bgets</code>) and
- private functions which can't be made static (because of
- cross-object usage) but should be (<em>e.g.</em>,
- <code>new_connection</code>). For backward source
- compatibility with Apache 1.2 a new header file named
- <code>compat.h</code> was created which provides defines for
- the old symbol names. You'll either have to <code>#include
- compat.h</code> or update the API symbols you use.</li>
-
- <li>Be sure and examine the <a href="sourcereorg.html">source
- code reorganization page</a> to see whether any item there
- affects you.</li>
-
- <li>Use of <samp>SERVER_VERSION</samp> definition. If
- third-party modules reference the server version string using
- this symbol, they should be corrected to obtain it by calling
- the new API routine
- <code>const&nbsp;char&nbsp;*ap_get_server_version()</code>.</li>
-
- <li><code>ap_construct_url</code> prototype change. The
- second parameter was previously a <code>server_rec</code>, it
- has been changed to a <code>request_rec</code>.</li>
-
- <li>
- The <code>table</code> datatype has been made an opaque
- type. Code which assumes a <code>table</code> is the same
- as an <code>array_header</code> will not compile. This is
- actually a change to enforce the API the way it was
- intended, all versions of Apache have had a
- <code>table_elts()</code> function which is intended for
- code which needs to access the elements of a table. The
- changes required for this are pretty easy, and work with
- all versions of Apache.
-
- <p>Suppose <code>t</code> is a table. Whenever code refers
- to <code>t-&gt;elts</code>, replace it with something like
- this:</p>
-
- <blockquote>
-<pre>
- array_header *arr = table_elts(t);
- table_entry *elts = (table_entry *)arr-&gt;elts;
-</pre>
- </blockquote>
- Whenever code refers to <code>t-&gt;nelts</code> use
- <code>arr-&gt;nelts</code>. Many examples can be found in
- the standard modules, search for <code>table_elts</code>.
- </li>
- </ul>
- <hr />
-
- <h3 align="CENTER">Apache HTTP Server</h3>
- <a href="./"><img src="images/index.gif" alt="Index" /></a>
-
- </body>
-</html>
-