diff options
author | Jason McIntyre <jmc@cvs.openbsd.org> | 2005-07-27 20:24:50 +0000 |
---|---|---|
committer | Jason McIntyre <jmc@cvs.openbsd.org> | 2005-07-27 20:24:50 +0000 |
commit | 77c6a09cbd49af3a28373fa90768560b070f47cf (patch) | |
tree | c67a9b43410856a0dff3da46935f4720979c5e88 | |
parent | 0bc652a8e7f54c1ed180ab8f8a1c67bd31d6682e (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.html | 5 | ||||
-rw-r--r-- | usr.sbin/httpd/htdocs/manual/cygwin.html | 577 | ||||
-rw-r--r-- | usr.sbin/httpd/htdocs/manual/index.html.html | 17 | ||||
-rw-r--r-- | usr.sbin/httpd/htdocs/manual/new_features_1_0.html | 144 | ||||
-rw-r--r-- | usr.sbin/httpd/htdocs/manual/new_features_1_1.html | 253 | ||||
-rw-r--r-- | usr.sbin/httpd/htdocs/manual/new_features_1_3.html.html | 904 | ||||
-rw-r--r-- | usr.sbin/httpd/htdocs/manual/new_features_2_0.html | 72 | ||||
-rw-r--r-- | usr.sbin/httpd/htdocs/manual/sitemap.html | 1 | ||||
-rw-r--r-- | usr.sbin/httpd/htdocs/manual/upgrading_to_1_3.html | 352 |
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>&</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@wapme-systems.de"><tolj@wapme-systems.de></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/"><VirtualHost> (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 <Virtualhost> 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"><Directory></a></code>), - the new <code><Location></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><Directory></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><Directory> 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"><LimitExcept> - and </LimitExcept></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 <Limit> 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 (<), - less-than-or-equal (<=), greater-than (>), and - greater-than-or-equal (>=). 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><IMG></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 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><DirectoryMatch></code></a>, - <a - href="mod/core.html#locationmatch"><code><LocationMatch></code></a>, - and <a - href="mod/core.html#filesmatch"><code><FilesMatch></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><Limit></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><Limit></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><Limit Get post></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><Directory></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><Files> 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 <Files> section nested inside a - <Directory> section.</li> - - <li><Location> matching behavior with respect to - slashes has changed. See the <a - href="mod/core.html#location"><Location> - 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 char *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->elts</code>, replace it with something like - this:</p> - - <blockquote> -<pre> - array_header *arr = table_elts(t); - table_entry *elts = (table_entry *)arr->elts; -</pre> - </blockquote> - Whenever code refers to <code>t->nelts</code> use - <code>arr->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> - |