From: Ken Coar
- $Revision: 1.63.2.8 $ ($Date: 1997/07/05 17:30:58 $)
+ $Revision: 1.63.2.9 $ ($Date: 1997/07/09 10:15:42 $)
The latest version of this FAQ is always available from the main
@@ -85,7 +85,7 @@
-
To address the concerns of a group of WWW providers and part-time httpd
programmers that httpd didn't behave as they wanted it to behave.
- Apache is an entirely volunteer effort, completely funded by its
+ Apache is an entirely volunteer effort, completely funded by its
members, not by commercial sales.
Apache Server Frequently Asked Questions
The Answers
-
Background
@@ -259,7 +257,7 @@
@@ -293,7 +291,7 @@
For an independent assessment, see
Web Compare's
+ >Web Compare
@@ -419,10 +417,10 @@
Apache tries to be helpful when it encounters a problem. In many cases, it will provide some details by writing one or messages to - the server error log. Sometimes this is enough for you to diagnose + the server error log. Sometimes this is enough for you to diagnose & fix the problem yourself (such as file permissions or the like). - The default location of the error log is - /usr/local/etc/httpd/logs/error_log, but see the + The default location of the error log is + /usr/local/etc/httpd/logs/error_log, but see the ErrorLog @@ -512,7 +510,7 @@ NCSA httpd 1.4 and NCSA httpd 1.5.
- NCSA httpd appears to be moving toward adding experimental features + NCSA httpd appears to be moving toward adding experimental features which are not generally required at the moment. Some of the experiments will succeed while others will inevitably be dropped. The Apache philosophy is to add what's needed as and when it is needed. @@ -579,7 +577,7 @@
It means just what it says: the server was expecting a complete set of HTTP headers (one or more followed by a blank line), and didn't get @@ -596,7 +594,7 @@
The second most common cause of this (aside from people not
outputting the required headers at all) is a result of an interaction
- with Perl's output buffering. To make Perl flush its buffers
+ with Perl's output buffering. To make Perl flush its buffers
after each output statement, insert the following statements around
the print
or write
statements that send your
HTTP headers:
@@ -617,7 +615,7 @@
- This is generally only necessary when you are calling external + This is generally only necessary when you are calling external programs from your script that send output to stdout, or if there will be a long delay between the time the headers are sent and the actual content starts being emitted. To maximise performance, you should @@ -627,7 +625,7 @@
If your script isn't written in Perl, do the equivalent thing for
- whatever language you are using (e.g., for C, call
+ whatever language you are using (e.g., for C, call
fflush()
after writing the headers).
"Multiviews" is the general name given to the Apache server's ability to provide language-specific document variants in - response to a request. This is documented quite thoroughly in the + response to a request. This is documented quite thoroughly in the
- You are probably running into resource limitations in your
- operating system. The most common limitation is the
- per-process limit on file descriptors,
- which is almost always the cause of problems seen when adding
- virtual hosts. Apache often does not give an intuitive error
- message because it is normally some library routine (such as
- gethostbyname()
) which needs file descriptors and
- doesn't complain intelligibly when it can't get them.
+ You are probably running into resource limitations in your
+ operating system. The most common limitation is the
+ per-process limit on file descriptors,
+ which is almost always the cause of problems seen when adding
+ virtual hosts. Apache often does not give an intuitive error
+ message because it is normally some library routine (such as
+ gethostbyname()
) which needs file descriptors and
+ doesn't complain intelligibly when it can't get them.
Each log file requires a file descriptor, which means that if you are using separate access and error logs for each virtual host, each - virtual host needs two file descriptors. Each + virtual host needs two file descriptors. Each Listen - directive also needs a file descriptor. + directive also needs a file descriptor.
Typical values for <n> that we've seen are in @@ -830,17 +828,17 @@ Listen - directives. If there are no other servers running on the machine + directives. If there are no other servers running on the machine on the same port then you normally don't need any Listen directives at all. By default Apache listens to all addresses on port 80. -
On FreeBSD 2.2 and older FD_SETSIZE, which limits the - number of open + number of open files on the system, is limited to 256. This can restrict the number of virtual hosts you can use; especially if they all use different log files. Increasing this limit (and recompiling Apache) is not enough, @@ -974,7 +972,7 @@
You need to use it with a URL in the form "/foo/bar" and not one with a method and - hostname such as "http://host/foo/bar". See the + hostname such as "http://host/foo/bar". See the ErrorDocument @@ -1002,7 +1000,7 @@
Apache does not send automatically send a cookie on every
- response, unless you have re-compiled it with the
+ response, unless you have re-compiled it with the
mod_cookies
@@ -1011,11 +1009,11 @@
This module may help track users, and uses cookies to do this. If
you are not using the data generated by mod_cookies, do
not compile it into Apache. Note that in 1.2 this module was renamed
- to the more correct name
+ to the more correct name
mod_usertrack,
- and cookies
+ and cookies
have to be specifically enabled with the
-
BrowserMatch Java1.0 force-response-1.0
+ BrowserMatch Java1.0 force-response-1.0
+
+ BrowserMatch JDK/1.0 force-response-1.0
This message almost always indicates that the client disconnected
before Apache reached the point of calling setsockopt()
@@ -1142,7 +1142,7 @@
This is a normal message and nothing about which to be alarmed. It simply means that the client cancelled the connection before it had been @@ -1224,7 +1224,7 @@
struct iovec
from your C
- library includes. It is located in /usr/include/sys/uio.h
.
+ library includes. It is located in /usr/include/sys/uio.h
.
Or,
-DNO_WRITEV
to the EXTRA_CFLAGS
@@ -1243,9 +1243,9 @@
In Apache version 1.2, the error log message
about dumped core includes the directory where the dump file should be
located. However, many Unixes do not allow a process that has
- called setuid()
to dump core for security reasons;
- the typical Apache setup has the server started as root to bind to
- port 80, after which it changes UIDs to a non-privileged user to
+ called setuid()
to dump core for security reasons;
+ the typical Apache setup has the server started as root to bind to
+ port 80, after which it changes UIDs to a non-privileged user to
serve requests.
@@ -1320,8 +1320,8 @@ encryption technology. If Apache included SSL in the base package, its distribution would involve all sorts of legal and bureaucratic issues, and it would no longer be freely available. Also, some of - the technology required to talk to current clients using SSL is - patented by RSA Data Security, + the technology required to talk to current clients using SSL is + patented by RSA Data Security, who restricts its use without a license.
@@ -1342,7 +1342,7 @@
@@ -1419,7 +1419,7 @@ the operating system.
If you have installed BIND-8
then this is normally due to a conflict between your include files
- and your libraries. BIND-8 installs its include files and libraries
+ and your libraries. BIND-8 installs its include files and libraries
/usr/local/include/
and /usr/local/lib/
, while
the resolver that comes with your system is probably installed in
/usr/include/
and /usr/lib/
. If
your system uses the header files in /usr/local/include/
before those in /usr/include/
but you do not use the new
- resolver library, then the two versions will conflict.
+ resolver library, then the two versions will conflict.
To resolve this, you can either make sure you use the include files
and libraries that came with your system or make sure to use the
new include files and libraries. Adding -lbind
to the
- EXTRA_LDFLAGS
line in your Configuration
+ EXTRA_LDFLAGS
line in your Configuration
file, then re-running Configure, should resolve the
problem. (Apache versions 1.2.* and earlier use
EXTRA_LFLAGS
instead.)
@@ -1527,35 +1527,35 @@
When you access a directory without a trailing "/", Apache needs to send what is called a redirect to the client to tell it to add the trailing slash. If it did not do so, relative URLs would - not work properly. When it sends the redirect, it needs to know + not work properly. When it sends the redirect, it needs to know the name of the server so that it can include it in the redirect. There are two ways for Apache to find this out; either it can guess, or you can tell it. If your DNS is configured correctly, it can normally guess without any problems. If it is not, however, then - you need to tell it. + you need to tell it.
- Add a ServerName directive + Add a ServerName directive to the config file to tell it what the domain name of the server is.
- There are several ways to do this; some of the more popular + There are several ways to do this; some of the more popular ones are to use the mod_auth, mod_auth_db, or mod_auth_dbm modules. @@ -1569,7 +1569,7 @@ Using User Authentication - or + or DBM User Authentication. @@ -1577,7 +1577,7 @@