compat_notes.html revision 7b3e47feb2f0d0a120f80b2de66656a55d0e63ef
2N/A<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"
2N/A "http://www.w3.org/TR/REC-html40/loose.dtd">
2N/A<HTML>
2N/A<HEAD>
2N/A<TITLE>Apache HTTP Server: Notes about Compatibility with NCSA's Server</TITLE>
2N/A</HEAD>
2N/A<!-- Background white, links blue (unvisited), navy (visited), red (active) -->
2N/A<BODY
2N/A BGCOLOR="#FFFFFF"
2N/A TEXT="#000000"
2N/A LINK="#0000FF"
2N/A VLINK="#000080"
2N/A ALINK="#FF0000"
2N/A>
2N/A<!--#include virtual="header.html" -->
2N/A
2N/A<blockquote><strong>Warning:</strong>
2N/AThis document has not been updated to take into account changes
2N/Amade in the 2.0 version of the Apache HTTP Server. Some of the
2N/Ainformation may still be relevant, but please use it
2N/Awith care.
2N/A</blockquote>
2N/A
2N/A
2N/A<H1 ALIGN="CENTER">Compatibility Notes with NCSA's Server</H1>
2N/A
2N/A<HR>
2N/A
2N/AWhile Apache is for the most part a drop-in replacement for NCSA's
2N/Ahttpd, there are a couple gotcha's to watch out for. These are mostly
2N/Adue to the fact that the parser for config and access control files
2N/Awas rewritten from scratch, so certain liberties the earlier servers
2N/Atook may not be available here. These are all easily fixable. If you
2N/Aknow of other problems that belong here, <A
2N/AHREF="http://www.apache.org/bug_report.html">let us know.</A>
2N/A
2N/A<P>Please also check the <A HREF="known_client_problems.html">known
2N/Aclient problems</A> page.
2N/A
2N/A<OL>
2N/A<LI>As of Apache 1.3.1, methods named in a
2N/A <A HREF="/mod/core.html#limit"><SAMP>&lt;Limit&gt;</SAMP></A>
2N/A section <EM>must</EM> be listed in upper-case. Lower- or mixed-case
2N/A method names will result in a configuration error.
2N/A <P>
2N/A </P>
2N/A</LI>
2N/A
2N/A<LI>The basic mod_auth <CODE>AuthGroupFile</CODE>-specified group file
2N/A format allows commas between user names - Apache does not.
2N/A
2N/A<P>
2N/A<LI>If you follow the NCSA guidelines for setting up access
2N/A restrictions based on client domain, you may well have added
2N/A entries for <CODE>AuthType, AuthName, AuthUserFile</CODE> or
2N/A <CODE>AuthGroupFile</CODE>. <STRONG>None</STRONG> of these are
2N/A needed (or appropriate) for restricting access based on client
2N/A domain. When Apache sees <CODE>AuthType</CODE> it (reasonably)
2N/A assumes you are using some authorization type based on username
2N/A and password. Please remove <CODE>AuthType</CODE>, it's
2N/A unnecessary even for NCSA.
2N/A
2N/A<P>
2N/A<LI><CODE>OldScriptAlias</CODE> is no longer supported.
2N/A
2N/A<P>
2N/A<LI><CODE>exec cgi=""</CODE> produces reasonable <STRONG>malformed
2N/A header</STRONG> responses when used to invoke non-CGI scripts.<BR>
2N/A The NCSA code ignores the missing header (bad idea).
2N/A <BR>Solution: write CGI to the CGI spec and use
2N/A <CODE>include&nbsp;virtual</CODE>, or use <CODE>exec cmd=""</CODE> instead.
2N/A
2N/A<P>
2N/A<LI>Icons for FancyIndexing broken - well, no, they're not broken,
2N/A we've just upgraded the icons from flat .xbm files to pretty and
2N/A much smaller .gif files, courtesy of <A
2N/A HREF="mailto:kevinh@eit.com">Kevin Hughes</A> at <A
2N/A HREF="http://www.eit.com/">EIT</A>. If you are using the same
2N/A srm.conf from an old distribution, make sure you add the new <A
2N/A HREF="/mod/mod_autoindex.html#addicon">AddIcon</A>, <A
2N/A HREF="/mod/mod_autoindex.html#addiconbytype">AddIconByType</A>,
2N/A and <A
2N/A HREF="/mod/mod_autoindex.html#defaulticon">DefaultIcon</A>
2N/A directives.
2N/A
2N/A<P>
2N/A<LI>Apache versions before 1.2b1 will ignore the last line of configuration
2N/A files if the last line does not have a trailing newline. This affects
2N/A configuration files (httpd.conf, access.conf and srm.conf), and
2N/A htpasswd and htgroup files.
2N/A
2N/A<P>
2N/A<LI>Apache does not permit commas delimiting the methods in &lt;Limit&gt;.
2N/A
2N/A<P>
2N/A<LI>Apache's <CODE>&lt;VirtualHost&gt;</CODE> treats all addresses as
2N/A "optional" (<EM>i.e.</EM>, the server should continue booting if it can't
2N/A resolve the address). Whereas in NCSA the default is to fail
2N/A booting unless an added <CODE>optional</CODE> keyword is included.
2N/A
2N/A<P>
2N/A<LI>Apache does not implement <CODE>OnDeny</CODE>; use
2N/A <A HREF="/mod/core.html#errordocument"><CODE>ErrorDocument</CODE></A>
2N/A instead.
2N/A
2N/A<P>
2N/A<LI>Apache (as of 1.3) always performs the equivalent of
2N/A <CODE>HostnameLookups minimal</CODE>. <CODE>minimal</CODE> is not an
2N/A option to <A HREF="/mod/core.html#hostnamelookups"><CODE>
2N/A HostnameLookups</CODE></A>.
2N/A
2N/A<P>
2N/A<LI>To embed spaces in directive arguments NCSA used a backslash
2N/A before the space. Apache treats backslashes as normal characters. To
2N/A embed spaces surround the argument with double-quotes instead.
2N/A
2N/A<P>
2N/A<LI>Apache does not implement the NCSA <CODE>referer</CODE>
2N/A directive. See <A HREF="http://bugs.apache.org/index/full/968">
2N/A PR#968</A> for a few brief suggestions on alternative ways to
2N/A implement the same thing under Apache.
2N/A
2N/A<P>
2N/A<LI>Apache does not allow ServerRoot settings inside a VirtualHost
2N/A container. There is only one global ServerRoot in Apache; any desired
2N/A changes in paths for virtual hosts need to be made with the explicit
2N/A directives, <em>e.g.</em>, DocumentRoot, TransferLog, <EM>etc.</EM>
2N/A
2N/A</OL>
2N/A
2N/AMore to come when we notice them....
2N/A
2N/A<!--#include virtual="footer.html" -->
2N/A</BODY>
2N/A</HTML>
2N/A