Apache HTTP Server Version 1.3
Compatibility Notes with NCSA's Server
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 problems
that belong here, let us know.
Please also check the known client problems
page.
- As of Apache 1.3.1, methods named in a <Limit>
section must be listed in upper-case. Lower- or
mixed-case method names will result in a configuration
error.
- The basic mod_auth
AuthGroupFile
-specified
group file format allows commas between user names - Apache
does not.
- If you follow the NCSA guidelines for setting up access
restrictions based on client domain, you may well have added
entries for
AuthType, AuthName, AuthUserFile
or
AuthGroupFile
. None of these
are needed (or appropriate) for restricting access based on
client domain. When Apache sees AuthType
it
(reasonably) assumes you are using some authorization type
based on username and password. Please remove
AuthType
, it's unnecessary even for NCSA.
OldScriptAlias
is no longer supported.
exec cgi=""
produces reasonable
malformed header responses when used to
invoke non-CGI scripts.
The NCSA code ignores the missing header (bad idea).
Solution: write CGI to the CGI spec and use
include virtual
, or use exec
cmd=""
instead.
- 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 Kevin Hughes at EIT. If you are using the same
srm.conf from an old distribution, make sure you add the new
AddIcon, AddIconByType,
and DefaultIcon
directives.
- 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.
- Apache does not permit commas delimiting the methods in
<Limit>.
- Apache's
<VirtualHost>
treats all
addresses as "optional" (i.e., the server should
continue booting if it can't resolve the address). Whereas in
NCSA the default is to fail booting unless an added
optional
keyword is included.
- Apache does not implement
OnDeny
; use ErrorDocument
instead.
- Apache (as of 1.3) always performs the equivalent of
HostnameLookups minimal
. minimal
is
not an option to HostnameLookups
.
- 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.
- Apache does not implement the NCSA
referer
directive. See PR#968 for a
few brief suggestions on alternative ways to implement the
same thing under Apache.
- 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, e.g.,
DocumentRoot, TransferLog, etc.
- The
AddType
directive cannot be used to set
the type of particular files. Instead, you can scope you
directives using <Files> blocks.
More to come when we notice them....
Apache HTTP Server Version 1.3