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