Loading docs/manual/misc/FAQ.html +119 −5 Changes for docs/manual/misc/FAQ.html: 119 added lines, 5 removed lines. Original line number Diff line number Diff line Loading @@ -15,7 +15,7 @@ <!--#include virtual="header.html" --> <H1 ALIGN="CENTER">Apache Server Frequently Asked Questions</H1> <P> $Revision: 1.72 $ ($Date: 1997/06/20 17:17:23 $) $Revision: 1.73 $ ($Date: 1997/06/21 18:56:36 $) </P> <P> The latest version of this FAQ is always available from the main Loading Loading @@ -131,6 +131,8 @@ <LI><A HREF="#fdlim">Why can't I run more than <<EM>n</EM>> virtual hosts?</A> </LI> <LI><A HREF="#freebsd-setsize">Can I increase FD_SETSIZE on FreeBSD?</A> </LI> <LI><A HREF="#limitGET">Why do I keep getting "access denied" for form POST requests?</A> </LI> Loading Loading @@ -208,6 +210,13 @@ <LI><A HREF="#linux-shmget">When I run it under Linux I get "shmget: function not found", what should I do?</A> </LI> <LI><A HREF="#authauthoritative">Why does my authentification give me a server error?</A> <LI><A HREF="#auth-on-same-machine">Do I have to keep the (mSQL) authentification information on the same machine?</A> </LI> <LI><A HREF="#msql-slow">Why is my mSQL authentification terribly slow?</A> </LI> </OL> </LI> </UL> Loading Loading @@ -819,8 +828,9 @@ HREF="../mod/core.html#listen" ><SAMP>Listen</SAMP></A> directives. If there are no other servers running on the machine and all of them are running on the same port, you normally don't need any Listen directives at all. 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. </LI> <LI>Reduce the number of log files. You can use <A Loading @@ -838,7 +848,8 @@ <A HREF="perf.html" >performance hints</A> page. page. There is a specific note for <a href="#freebsd-setsize">FreeBSD</a> below. </LI> <LI>"Don't do that" - try to run with fewer virtual hosts </LI> Loading @@ -854,6 +865,24 @@ available in the way of solutions. </P> <HR> <LI><A NAME="freebsd-setsize"> <STRONG>Can I increase FD_SETSIZE on FreeBSD?</STRONG> </A> <P> On FreeBSD 2.2 and older FD_SETSIZE, which limits the number of open files on the system, is limted to 256. This can limit the number of virtual hosts you are using; especially if they all use different log files. Increasing this limit (and recompiling apache) is not enough (As it is on some platforms, such as Solaris), as you also will have to recompile libc with the changed setting. </P> <p> On FreeBSD 3.0 the default is 1024, so the problem is lessened. </p> <HR> </LI> <LI><A NAME="limitGET"> <STRONG>Why do I keep getting "access denied" for form POST requests?</STRONG> Loading Loading @@ -1160,7 +1189,8 @@ </LI> <LI><A NAME="linuxiovec"> <STRONG>Why do I get complaints about redefinition of "<CODE>struct iovec</CODE>" when compiling under Linux?</STRONG> of "<CODE>struct iovec</CODE>" when compiling under Linux?</STRONG> </A> <P> This is a conflict between your C library includes and your kernel Loading Loading @@ -1584,6 +1614,90 @@ <HR> </LI> <LI><A NAME="authauthoritative"> <STRONG>Why does my authentification give me a server error?</STRONG> </A> <P> Under normal circumstances, the apache access control modules will pass unrecognized userids on to the next access control module in line. Only if the userid is recognized, the password is validated (or not) will it give the usual success or authentification failed messages. </p> <p> However if the last access module in line 'declines' the validation request (because it has never heard of the userid or because it is not configured) the http_request handler will give one of the following, confusing, errors: <UL> <li> <code>check access</code> <li> <code>check user. No user file? </code> <li> <code>check access. No groups file? </code> </ul> This does not mean that you have to add a 'AuthUserFile /dev/null' line as some magazines suggest ! </p> <p> The solution is to ensure that at least the last module is authoritative and <b>CONFIGURED</b>. By default <code>mod_auth</code> is authoritative and will give an OK/Denied, but only if it is configured with the proper AuthUserFile. Likewise if a valid group is required. (Remember that the modules are processed in the reverse order they appear in your compile-time Configuration file.) </P> <p> A typical situation for this error is when you are using the mod_auth_dbm, mod_auth_msql, mod_auth_mysql, mod_auth_anon or mod_auth_cookie on their own. These are by default <b>not</b> authoritative, and this will pass the buck on to the (non-existent) next authentification module when the user ID is not in their respective database. Just add the appropriate 'XXXAuthoritative yes' line to the configuration. </p> <p> In general it is a good idea (though not terribly efficient) to have the file based mod_auth a module of last resort. This allows you to access the web server with a few special passwords even if the databases are down or corrupted. This does cost a file-open/seek/close for each request in a protected area. </p> <HR> </LI> <LI><A NAME="auth-on-same-machine"> <STRONG>Do I have to keep the (mSQL) authentification information on the same machine?</STRONG> </A> <p> Some organizations feel very strongly about keeping the authentification information on a different machine than the webserver. With the mod_auth_msql, mod_auth_mysql and other SQL modules connecting to (R)DBMses this is quite well possible. Just configure an explicit host to contact. </p> <p> Be aware that with mSQL and Oracle, opening and closing these database connections is very expensive and time consuming. You might want to look at the code in the auth_modules and play with the compile time flags to alleviate this somewhat; if your RDBMS licences alows for it. </p> <HR> </LI> <LI><A NAME="msql-slow"> <STRONG>Why is my mSQL authentification terribly slow?</STRONG> </A> <p> You have probably configured the Host by specificing a FQHN, and thus the libmsql will use a full blown tcp/ip socket to talk to the database, rather than a fast internal device. Both the libmsql, the mSQL faq and the mod_auth_msql documentation warn you about this. If you have to use different hosts, check out the mod_auth_msql code for some compile time flags which might, or might not suit you. </p> <HR> </LI> <!-- Don't forget to add HR tags at the end of each list item.. --> </OL> Loading Loading
docs/manual/misc/FAQ.html +119 −5 Changes for docs/manual/misc/FAQ.html: 119 added lines, 5 removed lines. Original line number Diff line number Diff line Loading @@ -15,7 +15,7 @@ <!--#include virtual="header.html" --> <H1 ALIGN="CENTER">Apache Server Frequently Asked Questions</H1> <P> $Revision: 1.72 $ ($Date: 1997/06/20 17:17:23 $) $Revision: 1.73 $ ($Date: 1997/06/21 18:56:36 $) </P> <P> The latest version of this FAQ is always available from the main Loading Loading @@ -131,6 +131,8 @@ <LI><A HREF="#fdlim">Why can't I run more than <<EM>n</EM>> virtual hosts?</A> </LI> <LI><A HREF="#freebsd-setsize">Can I increase FD_SETSIZE on FreeBSD?</A> </LI> <LI><A HREF="#limitGET">Why do I keep getting "access denied" for form POST requests?</A> </LI> Loading Loading @@ -208,6 +210,13 @@ <LI><A HREF="#linux-shmget">When I run it under Linux I get "shmget: function not found", what should I do?</A> </LI> <LI><A HREF="#authauthoritative">Why does my authentification give me a server error?</A> <LI><A HREF="#auth-on-same-machine">Do I have to keep the (mSQL) authentification information on the same machine?</A> </LI> <LI><A HREF="#msql-slow">Why is my mSQL authentification terribly slow?</A> </LI> </OL> </LI> </UL> Loading Loading @@ -819,8 +828,9 @@ HREF="../mod/core.html#listen" ><SAMP>Listen</SAMP></A> directives. If there are no other servers running on the machine and all of them are running on the same port, you normally don't need any Listen directives at all. 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. </LI> <LI>Reduce the number of log files. You can use <A Loading @@ -838,7 +848,8 @@ <A HREF="perf.html" >performance hints</A> page. page. There is a specific note for <a href="#freebsd-setsize">FreeBSD</a> below. </LI> <LI>"Don't do that" - try to run with fewer virtual hosts </LI> Loading @@ -854,6 +865,24 @@ available in the way of solutions. </P> <HR> <LI><A NAME="freebsd-setsize"> <STRONG>Can I increase FD_SETSIZE on FreeBSD?</STRONG> </A> <P> On FreeBSD 2.2 and older FD_SETSIZE, which limits the number of open files on the system, is limted to 256. This can limit the number of virtual hosts you are using; especially if they all use different log files. Increasing this limit (and recompiling apache) is not enough (As it is on some platforms, such as Solaris), as you also will have to recompile libc with the changed setting. </P> <p> On FreeBSD 3.0 the default is 1024, so the problem is lessened. </p> <HR> </LI> <LI><A NAME="limitGET"> <STRONG>Why do I keep getting "access denied" for form POST requests?</STRONG> Loading Loading @@ -1160,7 +1189,8 @@ </LI> <LI><A NAME="linuxiovec"> <STRONG>Why do I get complaints about redefinition of "<CODE>struct iovec</CODE>" when compiling under Linux?</STRONG> of "<CODE>struct iovec</CODE>" when compiling under Linux?</STRONG> </A> <P> This is a conflict between your C library includes and your kernel Loading Loading @@ -1584,6 +1614,90 @@ <HR> </LI> <LI><A NAME="authauthoritative"> <STRONG>Why does my authentification give me a server error?</STRONG> </A> <P> Under normal circumstances, the apache access control modules will pass unrecognized userids on to the next access control module in line. Only if the userid is recognized, the password is validated (or not) will it give the usual success or authentification failed messages. </p> <p> However if the last access module in line 'declines' the validation request (because it has never heard of the userid or because it is not configured) the http_request handler will give one of the following, confusing, errors: <UL> <li> <code>check access</code> <li> <code>check user. No user file? </code> <li> <code>check access. No groups file? </code> </ul> This does not mean that you have to add a 'AuthUserFile /dev/null' line as some magazines suggest ! </p> <p> The solution is to ensure that at least the last module is authoritative and <b>CONFIGURED</b>. By default <code>mod_auth</code> is authoritative and will give an OK/Denied, but only if it is configured with the proper AuthUserFile. Likewise if a valid group is required. (Remember that the modules are processed in the reverse order they appear in your compile-time Configuration file.) </P> <p> A typical situation for this error is when you are using the mod_auth_dbm, mod_auth_msql, mod_auth_mysql, mod_auth_anon or mod_auth_cookie on their own. These are by default <b>not</b> authoritative, and this will pass the buck on to the (non-existent) next authentification module when the user ID is not in their respective database. Just add the appropriate 'XXXAuthoritative yes' line to the configuration. </p> <p> In general it is a good idea (though not terribly efficient) to have the file based mod_auth a module of last resort. This allows you to access the web server with a few special passwords even if the databases are down or corrupted. This does cost a file-open/seek/close for each request in a protected area. </p> <HR> </LI> <LI><A NAME="auth-on-same-machine"> <STRONG>Do I have to keep the (mSQL) authentification information on the same machine?</STRONG> </A> <p> Some organizations feel very strongly about keeping the authentification information on a different machine than the webserver. With the mod_auth_msql, mod_auth_mysql and other SQL modules connecting to (R)DBMses this is quite well possible. Just configure an explicit host to contact. </p> <p> Be aware that with mSQL and Oracle, opening and closing these database connections is very expensive and time consuming. You might want to look at the code in the auth_modules and play with the compile time flags to alleviate this somewhat; if your RDBMS licences alows for it. </p> <HR> </LI> <LI><A NAME="msql-slow"> <STRONG>Why is my mSQL authentification terribly slow?</STRONG> </A> <p> You have probably configured the Host by specificing a FQHN, and thus the libmsql will use a full blown tcp/ip socket to talk to the database, rather than a fast internal device. Both the libmsql, the mSQL faq and the mod_auth_msql documentation warn you about this. If you have to use different hosts, check out the mod_auth_msql code for some compile time flags which might, or might not suit you. </p> <HR> </LI> <!-- Don't forget to add HR tags at the end of each list item.. --> </OL> Loading