You are viewing a plain text version of this content. The canonical link for it is here.
Posted to docs@httpd.apache.org by sl...@apache.org on 2001/01/18 19:30:17 UTC
cvs commit: httpd-docs-1.3/htdocs/manual/programs ab.html apachectl.html apx.html apxs.html dbmmanage.html footer.html header.html htdigest.html htpasswd.html httpd.html index.html logresolve.html other.html rotatelogs.html suexec.html
slive 01/01/18 10:30:16
Modified: htdocs/manual index.html.en
Added: htdocs/manual/programs ab.html apachectl.html apx.html
apxs.html dbmmanage.html footer.html header.html
htdigest.html htpasswd.html httpd.html index.html
logresolve.html other.html rotatelogs.html
suexec.html
Log:
Add HTML versions of the unix man pages.
Revision Changes Path
1.47 +2 -0 httpd-docs-1.3/htdocs/manual/index.html.en
Index: index.html.en
===================================================================
RCS file: /home/cvs/httpd-docs-1.3/htdocs/manual/index.html.en,v
retrieving revision 1.46
retrieving revision 1.47
diff -u -d -b -u -r1.46 -r1.47
--- index.html.en 2001/01/07 20:49:07 1.46
+++ index.html.en 2001/01/18 18:30:11 1.47
@@ -96,6 +96,8 @@
Modules: <A HREF="mod/index-bytype.html">By Type</A> or
<A HREF="mod/index.html">Alphabetical</A>
</td></tr><tr><td>
+<A HREF="programs/">Server and Supporting Programs</A>
+</td></tr><tr><td>
<A HREF="dso.html">Dynamic Shared Object (DSO) Support</A>
</td></tr><tr><td>
<A HREF="misc/API.html">The Apache API</A>
1.1 httpd-docs-1.3/htdocs/manual/programs/ab.html
Index: ab.html
===================================================================
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
<HTML><HEAD><TITLE>Manual Page: ab - Apache HTTP Server</TITLE></HEAD>
<BODY BGCOLOR="#FFFFFF" TEXT="#000000" LINK="#0000FF"
VLINK="#000080" ALINK="#FF0000">
<!--#include virtual="header.html" -->
<!-- This document was autogenerated from the man page -->
<pre>
<strong>NAME</strong>
ab - Apache HTTP server benchmarking tool
<strong>SYNOPSIS</strong>
<strong>ab </strong>[ -<strong>k </strong>] [ -<strong>i </strong>] [ -<strong>n </strong><em>requests </em>] [ -<strong>t </strong><em>timelimit </em>] [ -<strong>c </strong><em>con-</em>
<em>currency </em>] [ -<strong>p </strong><em>POST file </em>] [ -<strong>A </strong><em>Authenticate</em>
<em>username</em>:<em>password </em>] [ -<strong>P </strong><em>Proxy Authenticate</em>
<em>username</em>:<em>password </em>] [ -<strong>H </strong><em>Custom header </em>] [ -<strong>C </strong><em>Cookie</em>
<em>name</em>=<em>value </em>] [ -<strong>T </strong><em>content</em>-<em>type </em>] [ -<strong>v </strong><em>verbosity </em>] ] [ -<strong>w</strong>
<em>output HTML </em>] ] [ -<strong>x </strong><<em>table</em>> <em>attributes </em>] ] [ -<strong>y </strong><<em>tr</em>> <em>attri-</em>
<em>butes </em>] ] [ -<strong>z </strong><<em>td</em>> <em>attributes </em>]
[<em>http</em>://]<em>hostname</em>[:<em>port</em>]/<em>path</em>
<strong>ab </strong>[ -<strong>V </strong>] [ -<strong>h </strong>]
<strong>DESCRIPTION</strong>
<strong>ab </strong>is a tool for benchmarking the performance of your Apache
HyperText Transfer Protocol (HTTP) server. It does this by
giving you an indication of how many requests per second
your Apache installation can serve.
<strong>OPTIONS</strong>
-<strong>k </strong>Enable the HTTP KeepAlive feature; that is, per-
form multiple requests within one HTTP session.
Default is no KeepAlive.
-<strong>i </strong>Use an HTTP 'HEAD' instead of the GET method.
Cannot be mixed with POST.
-<strong>n </strong><em>requests </em>The number of requests to perform for the bench-
marking session. The default is to perform just
one single request, which will not give
representative benchmarking results.
-<strong>t </strong><em>timelimit</em>
The number of seconds to spend benchmarking.
Using this option automatically set the number
of requests for the benchmarking session to
50000. Use this to benchmark the server for a
fixed period of time. By default, there is no
timelimit.
-<strong>c </strong><em>concurrency</em>
The number of simultaneous requests to perform.
The default is to perform one HTTP request at at
time, that is, no concurrency.
-<strong>p </strong><em>POST file</em>
A file containing data that the program will
send to the Apache server in any HTTP POST
requests.
-<strong>A </strong><em>Authorization username</em>:<em>password</em>
Supply Basic Authentication credentials to the
server. The username and password are separated
by a single ':', and sent as uuencoded data.
The string is sent regardless of whether the
server needs it; that is, has sent a 401 Authen-
tication needed.
-<strong>p </strong><em>Proxy</em>-<em>Authorization username</em>:<em>password</em>
Supply Basic Authentication credentials to a
proxy en-route. The username and password are
separated by a single ':', and sent as uuencoded
data. The string is sent regardless of whether
the proxy needs it; that is, has sent a 407
Proxy authentication needed.
-<strong>C </strong><em>Cookie name</em>=<em>value</em>
Add a 'Cookie:' line to the request. The argu-
ment is typically a 'name=value' pair. This
option may be repeated.
-<strong>p </strong><em>Header string</em>
Append extra headers to the request. The argu-
ment is typically in the form of a valid header
line, usually a colon separated field value
pair, for example, 'Accept-Encoding:
zip/zop;8bit'.
-<strong>T </strong><em>content</em>-<em>type</em>
The content-type header to use for POST data.
-<strong>v </strong>Sets the verbosity level. Level 4 and above
prints information on headers, level 3 and above
prints response codes (for example, 404, 200),
and level 2 and above prints warnings and infor-
mational messages.
-<strong>w </strong>Print out results in HTML tables. The default
table is two columns wide, with a white back-
ground.
-<strong>x </strong><em>attributes</em>
The string to use as attributes for <table>.
Attributes are inserted <table <strong>here </strong>>
-<strong>y </strong><em>attributes</em>
The string to use as attributes for <tr>.
-<strong>z </strong><em>attributes</em>
The string to use as attributes for <td>.
-<strong>V </strong>Display the version number and exit.
-<strong>h </strong>Display usage information.
<strong>BUGS</strong>
There are various statically declared buffers of fixed
length. Combined with inefficient parsing of the command
line arguments, the response headers from the server, and
other external inputs, these buffers might overflow.
<strong>Ab </strong>does not implement HTTP/1.x fully; instead, it only
accepts some 'expected' forms of responses.
The rather heavy use of <strong>strstr(3) </strong>by the program may skew
performance results, since it uses significant CPU
resources. Make sure that performance limits are not hit by
<strong>ab </strong>before your server's limit is reached.
<strong>SEE ALSO</strong>
<strong>httpd(8)</strong>
</pre>
<!--#include virtual="footer.html" -->
</BODY></HTML>
1.1 httpd-docs-1.3/htdocs/manual/programs/apachectl.html
Index: apachectl.html
===================================================================
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
<HTML><HEAD><TITLE>Manual Page: apachectl - Apache HTTP Server</TITLE></HEAD>
<BODY BGCOLOR="#FFFFFF" TEXT="#000000" LINK="#0000FF"
VLINK="#000080" ALINK="#FF0000">
<!--#include virtual="header.html" -->
<!-- This document was autogenerated from the man page -->
<pre>
<strong>NAME</strong>
apachectl - Apache HTTP server control interface
<strong>SYNOPSIS</strong>
<strong>apachectl </strong><em>command </em>[...]
<strong>DESCRIPTION</strong>
<strong>apachectl </strong>is a front end to the Apache HyperText Transfer
Protocol (HTTP) server. It is designed to help the adminis-
trator control the functioning of the Apache <strong>httpd </strong>daemon.
<strong>NOTE: </strong>If your Apache installation uses non-standard paths,
you will need to edit the <strong>apachectl </strong>script to set the
appropriate paths to your PID file and your <strong>httpd </strong>binary.
See the comments in the script for details.
The <strong>apachectl </strong>script returns a 0 exit value on success, and
>0 if an error occurs. For more details, view the comments
in the script.
Full documentation for Apache is available at
<strong>http://www.apache.org/</strong>
<strong>OPTIONS</strong>
The <em>command </em>can be any one or more of the following options:
<strong>start </strong>Start the Apache daemon. Gives an error if it
is already running.
<strong>stop </strong>Stops the Apache daemon.
<strong>restart </strong>Restarts the Apache daemon by sending it a
SIGHUP. If the daemon is not running, it is
started. This command automatically checks the
configuration files via <strong>configtest </strong>before ini-
tiating the restart to make sure Apache doesn't
die.
<strong>fullstatus </strong>Displays a full status report from <strong>mod_status.</strong>
For this to work, you need to have mod_status
enabled on your server and a text-based browser
such as <em>lynx </em>available on your system. The URL
used to access the status report can be set by
editing the <strong>STATUSURL </strong>variable in the script.
<strong>status </strong>Displays a brief status report. Similar to the
fullstatus option, except that the list of
requests currently being served is omitted.
<strong>graceful </strong>Gracefully restarts the Apache daemon by sending
it a SIGUSR1. If the daemon is not running, it
is started. This differs from a normal restart
in that currently open connections are not
aborted. A side effect is that old log files
will not be closed immediately. This means that
if used in a log rotation script, a substantial
delay may be necessary to ensure that the old
log files are closed before processing them.
This command automatically checks the configura-
tion files via <strong>configtest </strong>before initiating the
restart to make sure Apache doesn't die.
<strong>configtest </strong>Run a configuration file syntax test. It parses
the configuration files and either reports <strong>Syn-</strong>
<strong>tax Ok </strong>or detailed information about the partic-
ular syntax error.
<strong>help </strong>Displays a short help message.
<strong>SEE ALSO</strong>
<strong>httpd(8)</strong>
</pre>
<!--#include virtual="footer.html" -->
</BODY></HTML>
1.1 httpd-docs-1.3/htdocs/manual/programs/apx.html
Index: apx.html
===================================================================
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
<HTML><HEAD><TITLE>Manual Page: apx - Apache HTTP Server</TITLE></HEAD>
<BODY BGCOLOR="#FFFFFF" TEXT="#000000" LINK="#0000FF"
VLINK="#000080" ALINK="#FF0000">
<!--#include virtual="header.html" -->
<!-- This document was autogenerated from the man page -->
<pre>
</pre>
<!--#include virtual="footer.html" -->
</BODY></HTML>
1.1 httpd-docs-1.3/htdocs/manual/programs/apxs.html
Index: apxs.html
===================================================================
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
<HTML><HEAD><TITLE>Manual Page: apxs - Apache HTTP Server</TITLE></HEAD>
<BODY BGCOLOR="#FFFFFF" TEXT="#000000" LINK="#0000FF"
VLINK="#000080" ALINK="#FF0000">
<!--#include virtual="header.html" -->
<!-- This document was autogenerated from the man page -->
<pre>
<strong>NAME</strong>
apxs - APache eXtenSion tool
<strong>SYNOPSIS</strong>
<strong>apxs </strong>-<strong>g </strong>[ -<strong>S </strong><em>variable</em>=<em>value </em>] -<strong>n </strong><em>name</em>
<strong>apxs </strong>-<strong>q </strong>[ -<strong>S </strong><em>variable</em>=<em>value </em>] <em>query </em>...
<strong>apxs </strong>-<strong>c </strong>[ -<strong>S </strong><em>variable</em>=<em>value </em>] [ -<strong>o </strong><em>dsofile </em>] [ -<strong>I </strong><em>incdir </em>] [
-<strong>D </strong><em>variable</em>[=<em>value</em>] ] [ -<strong>L </strong><em>libdir </em>] [ -<strong>l </strong><em>libname </em>] [
-<strong>Wc,</strong><em>compiler</em>-<em>flags </em>] [ -<strong>Wl,</strong><em>linker</em>-<em>flags </em>] <em>files </em>...
<strong>apxs </strong>-<strong>i </strong>[ -<strong>S </strong><em>variable</em>=<em>value </em>] [ -<strong>n </strong><em>name </em>] [ -<strong>a </strong>] [ -<strong>A </strong>] <em>dso-</em>
<em>file </em>...
<strong>apxs </strong>-<strong>e </strong>[ -<strong>S </strong><em>variable</em>=<em>value </em>] [ -<strong>n </strong><em>name </em>] [ -<strong>a </strong>] [ -<strong>A </strong>] <em>dso-</em>
<em>file </em>...
<strong>DESCRIPTION</strong>
<strong>apxs </strong>is a tool for building and installing extension modules
for the Apache HyperText Transfer Protocol (HTTP) server.
This is achieved by building a Dynamic Shared Object (DSO)
from one or more source or object <em>files </em>which then can be
loaded into the Apache server under runtime via the <strong>LoadMo-</strong>
<strong>dule </strong>directive from <strong>mod_so.</strong>
So to use this extension mechanism, your platform has to
support the DSO feature and your Apache <strong>httpd </strong>binary has to
be built with the <strong>mod_so </strong>module. The <strong>apxs </strong>tool automati-
cally complains if this is not the case. You can check this
yourself by manually running the command
$ httpd -l
The module <strong>mod_so </strong>should be part of the displayed list. If
these requirements are fulfilled, you can easily extend your
Apache server's functionality by installing your own modules
with the DSO mechanism by the help of this <strong>apxs </strong>tool:
$ apxs -i -a -c mod_foo.c
gcc -fpic -DSHARED_MODULE -I/path/to/apache/include -c mod_foo.c
ld -Bshareable -o mod_foo.so mod_foo.o
cp mod_foo.so /path/to/apache/libexec/mod_foo.so
chmod 755 /path/to/apache/libexec/mod_foo.so
[activating module `foo' in /path/to/apache/etc/httpd.conf]
$ apachectl restart
/path/to/apache/sbin/apachectl restart: httpd not running, trying to start
[Tue Mar 31 11:27:55 1998] [debug] mod_so.c(303): loaded module foo_module
/path/to/apache/sbin/apachectl restart: httpd started
$ _
The arguments <em>files </em>can be any C source file (.c), a object
file (.o) or even a library archive (.a). The <strong>apxs </strong>tool
automatically recognizes these extensions and automatically
uses the C source files for compilation while it just uses
the object and archive files for the linking phase. But when
using such pre-compiled objects, make sure they are compiled
for Position Independend Code (PIC) to be able to use them
for a DSO. For instance with GCC you always just have to use
<strong>-fpic</strong>. For other C compilers please consult its manual page
or watch for the flags <strong>apxs </strong>uses to compile the object
files.
For more details about DSO support in Apache, first read the
background information about DSO in htdocs/manual/dso.html,
then read the documentation of <strong>mod_so</strong>.
<strong>OPTIONS</strong>
Common options:
-<strong>n </strong><em>name </em>This explicitly sets the module name for the -<strong>i</strong>
(install) and -<strong>g </strong>(template generation) option.
Use this to explicitly specify the module name.
For option -<strong>g </strong>this is required, for option -<strong>i</strong>
the <strong>apxs </strong>tool tries to determine the name from
the source or (as a fallback) at least by guess-
ing it from the filename.
Query options:
-<strong>q </strong>Performs a query for <strong>apxs</strong>'s knowledge about cer-
tain settings. The <em>query </em>parameters can be one
or more of the following variable names:
CC TARGET
CFLAGS SBINDIR
CFLAGS_SHLIB INCLUDEDIR
LD_SHLIB LIBEXECDIR
LDFLAGS_SHLIB SYSCONFDIR
LIBS_SHLIB PREFIX
Use this for manually determining settings. For
instance use
INC=-I`apxs -q INCLUDEDIR`
inside your own Makefiles if you need manual
access to Apache's C header files.
Configuration options:
-<strong>S </strong><em>variable</em>=<em>value</em>
This option changes the <strong>apxs </strong>settings described
above.
Template Generation options:
-<strong>g </strong>This generates a subdirectory <em>name </em>(see option
-<strong>n</strong>) and there two files: A sample module source
file named <strong>mod_</strong><em>name</em>.<em>c </em>which can be used as a
template for creating your own modules or as a
quick start for playing with the <strong>apxs </strong>mechanism.
And a corresponding <strong>Makefile </strong>for even easier
building and installing of this module.
DSO compilation options:
-<strong>c </strong>This indicates the compilation operation. It
first compiles the C source files (.c) of <em>files</em>
into corresponding object files (.o) and then
builds a DSO in <em>dsofile </em>by linking these object
files plus the remaining object files (.o and
.a) of <em>files </em>If no -<strong>o </strong>option is specified the
output file is guessed from the first filename
in <em>files </em>and thus usually defaults to
<strong>mod_</strong><em>name</em>.<em>so</em>
-<strong>o </strong><em>dsofile </em>Explicitly specifies the filename of the created
DSO file. If not specified and the name cannot
be guessed from the <em>files </em>list, the fallback
name <strong>mod_unknown.so </strong>is used.
-<strong>D </strong><em>variable</em>[=<em>value</em>]
This option is directly passed through to the
compilation command(s). Use this to add your
own defines to the build process.
-<strong>I </strong><em>incdir </em>This option is directly passed through to the
compilation command(s). Use this to add your
own include directories to search to the build
process.
-<strong>L </strong><em>libdir </em>This option is directly passed through to the
linker command. Use this to add your own
library directories to search to the build pro-
cess.
-<strong>l </strong><em>libname </em>This option is directly passed through to the
linker command. Use this to add your own
libraries to search to the build process.
-<strong>Wc,</strong><em>compiler</em>-<em>flags</em>
This option passes <em>compiler</em>-<em>flags </em>as additional
flags to the compiler command. Use this to add
local compiler-specific options.
-<strong>Wl,</strong><em>linker</em>-<em>flags</em>
This option passes <em>linker</em>-<em>flags </em>as additional
flags to the linker command. Use this to add
local linker-specific options.
DSO installation and configuration options:
-<strong>i </strong>This indicates the installation operation and
installs one or more DSOs into the server's
<em>libexec </em>directory.
-<strong>a </strong>This activates the module by automatically
adding a corresponding <strong>LoadModule </strong>line to
Apache's <strong>httpd.conf </strong>configuration file, or by
enabling it if it already exists.
-<strong>A </strong>Same as option -<strong>a </strong>but the created <strong>LoadModule</strong>
directive is prefixed with a hash sign (#), i.e.
the module is just prepared for later activation
but initially disabled.
-<strong>e </strong>This indicates the editing operation, which can
be used with the -<strong>a </strong>and -<strong>A </strong>options similarly to
the -<strong>i </strong>operation to edit Apache's <strong>httpd.conf</strong>
configuration file without attempting to install
the module.
<strong>EXAMPLES</strong>
Assume you have an Apache module named mod_foo.c available
which should extend Apache's server functionality. To accom-
plish this you first have to compile the C source into a DSO
suitable for loading into the Apache server under runtime
via the following command:
$ apxs -c mod_foo.c
gcc -fpic -DSHARED_MODULE -I/path/to/apache/include -c mod_foo.c
ld -Bshareable -o mod_foo.so mod_foo.o
$ _
Then you have to update the Apache configuration by making
sure a <strong>LoadModule </strong>directive is present to load this DSO. To
simplify this step <strong>apxs </strong>provides an automatic way to install
the DSO in the "libexec" directory and updating the
<strong>httpd.conf </strong>file accordingly. This can be achieved by run-
ning:
$ apxs -i -a mod_foo.c
cp mod_foo.so /path/to/apache/libexec/mod_foo.so
chmod 755 /path/to/apache/libexec/mod_foo.so
[activating module `foo' in /path/to/apache/etc/httpd.conf]
$ _
This way a line named
LoadModule foo_module libexec/mod_foo.so
is added to the configuration file if still not present. If
you want to have this operation to be disabled, use the -<strong>A</strong>
option, i.e.
$ apxs -i -A mod_foo.c
For a quick test of the <strong>apxs </strong>mechanism you can create a sam-
ple Apache module template plus a corresponding <strong>Makefile</strong>
via:
$ apxs -g -n foo
Creating [DIR] foo
Creating [FILE] foo/Makefile
Creating [FILE] foo/mod_foo.c
$ _
Then you can immediately compile this sample module into a
DSO and load it into the Apache server:
$ cd foo
$ make all reload
apxs -c mod_foo.c
gcc -fpic -DSHARED_MODULE -I/path/to/apache/include -c mod_foo.c
ld -Bshareable -o mod_foo.so mod_foo.o
apxs -i -a -n "foo" mod_foo.so
cp mod_foo.so /path/to/apache/libexec/mod_foo.so
chmod 755 /path/to/apache/libexec/mod_foo.so
[activating module `foo' in /path/to/apache/etc/httpd.conf]
apachectl restart
/path/to/apache/sbin/apachectl restart: httpd not running, trying to start
[Tue Mar 31 11:27:55 1998] [debug] mod_so.c(303): loaded module foo_module
/path/to/apache/sbin/apachectl restart: httpd started
$ _
You can even use <strong>apxs </strong>to compile complex modules outside the
Apache source tree, like PHP3, because <strong>apxs </strong>automatically
recognized C source files and object files.
$ cd php3
$ ./configure --with-shared-apache=../apache-1.3
$ apxs -c -o libphp3.so mod_php3.c libmodphp3-so.a
gcc -fpic -DSHARED_MODULE -I/tmp/apache/include -c mod_php3.c
ld -Bshareable -o libphp3.so mod_php3.o libmodphp3-so.a
$ _
Only C source files are compiled while remaining object
files are used for the linking phase.
<strong>SEE ALSO</strong>
<strong>apachectl(1), httpd(8).</strong>
</pre>
<!--#include virtual="footer.html" -->
</BODY></HTML>
1.1 httpd-docs-1.3/htdocs/manual/programs/dbmmanage.html
Index: dbmmanage.html
===================================================================
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
<HTML><HEAD><TITLE>Manual Page: dbmmanage - Apache HTTP Server</TITLE></HEAD>
<BODY BGCOLOR="#FFFFFF" TEXT="#000000" LINK="#0000FF"
VLINK="#000080" ALINK="#FF0000">
<!--#include virtual="header.html" -->
<!-- This document was autogenerated from the man page -->
<pre>
<strong>NAME</strong>
dbmmanage - Create and update user authentication files in
DBM format
<strong>SYNOPSIS</strong>
<strong>dbmmanage </strong><em>filename </em>[ <em>command </em>] [ <em>username </em>[ <em>encpasswd </em>] ]
<strong>DESCRIPTION</strong>
<strong>dbmmanage </strong>is used to create and update the DBM format files
used to store usernames and password for basic authentica-
tion of HTTP users. Resources available from the <strong>httpd</strong>
Apache web server can be restricted to just the users listed
in the files created by <strong>dbmmanage. </strong>This program can only be
used when the usernames are stored in a DBM file. To use a
flat-file database see <strong>htpasswd</strong>.
This manual page only lists the command line arguments. For
details of the directives necessary to configure user
authentication in <strong>httpd </strong>see the Apache manual, which is part
of the Apache distribution or can be found at
http://www.apache.org/.
<strong>OPTIONS</strong>
<em>filename</em>
The filename of the DBM format file. Usually without
the extension .db, .pag, or .dir.
<em>command</em>
This selects the operation to perform:
<strong>add </strong>Adds an entry for <em>username </em>to <em>filename </em>using the
encrypted password <em>encpassword</em>.
<strong>adduser </strong>Asks for a password and then adds an entry for
<em>username </em>to <em>filename </em>.
<strong>check </strong>Asks for a password and then checks if <em>username</em>
is in <em>filename </em>and if it's password matches the
specified one.
<strong>delete </strong>Deletes the <em>username </em>entry from <em>filename</em>.
<strong>import </strong>Reads username:password entries (one per line)
from STDIN and adds them to <em>filename</em>. The pass-
words already has to be crypted.
<strong>update </strong>Same as the "adduser" command, except that it
makes sure <em>username </em>already exists in <em>filename</em>.
<strong>view </strong>Just displays the complete contents of the DBM
file.
<em>username </em>The user for which the update operation is per-
formed.
<strong>BUGS</strong>
One should be aware that there are a number of different DBM
file formats in existance, and with all likelihood,
libraries for more than one format may exist on your system.
The three primary examples are NDBM, the GNU project's GDBM,
and Berkeley DB 2. Unfortunately, all these libraries use
different file formats, and you must make sure that the file
format used by <em>filename </em>is the same format that <strong>dbmmanage</strong>
expects to see. <strong>dbmmanage </strong>currently has no way of determin-
ing what type of DBM file it is looking at. If used against
the wrong format, will simply return nothing, or may create
a different DBM file with a different name, or at worst, it
may corrupt the DBM file if you were attempting to write to
it.
<strong>dbmmanage </strong>has a list of DBM format preferences, defined by
the <strong>@AnyDBM::ISA </strong>array near the beginning of the program.
Since we prefer the Berkeley DB 2 file format, the order in
which <strong>dbmmanage </strong>will look for system libraries is Berkeley
DB 2, then NDBM, and then GDBM. The first library found
will be the library <strong>dbmmanage </strong>will attempt to use for all
DBM file transactions. This ordering is slightly different
than the standard <strong>@AnyDBM::ISA </strong>ordering in perl, as well as
the ordering used by the simple dbmopen() call in Perl, so
if you use any other utilities to manage your DBM files,
they must also follow this preference ordering. Similar
care must be taken if using programs in other languages,
like C, to access these files.
Apache's <strong>mod_auth_db.c </strong>module corresponds to Berkeley DB 2
library, while <strong>mod_auth_dbm.c </strong>corresponds to the NDBM
library. Also, one can usually use the <strong>file </strong>program sup-
plied with most Unix systems to see what format a DBM file
is in.
<strong>SEE ALSO</strong>
<strong>httpd(8)</strong>
</pre>
<!--#include virtual="footer.html" -->
</BODY></HTML>
1.1 httpd-docs-1.3/htdocs/manual/programs/footer.html
Index: footer.html
===================================================================
<HR>
<H3 ALIGN="CENTER">
Apache HTTP Server Version 1.3
</H3>
<A HREF="./"><IMG SRC="../images/index.gif" ALT="Index"></A>
<A HREF="../"><IMG SRC="../images/home.gif" ALT="Home"></A>
1.1 httpd-docs-1.3/htdocs/manual/programs/header.html
Index: header.html
===================================================================
<DIV ALIGN="CENTER">
<IMG SRC="../images/sub.gif" ALT="[APACHE DOCUMENTATION]">
<H3>
Apache HTTP Server Version 1.3
</H3>
</DIV>
1.1 httpd-docs-1.3/htdocs/manual/programs/htdigest.html
Index: htdigest.html
===================================================================
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
<HTML><HEAD><TITLE>Manual Page: htdigest - Apache HTTP Server</TITLE></HEAD>
<BODY BGCOLOR="#FFFFFF" TEXT="#000000" LINK="#0000FF"
VLINK="#000080" ALINK="#FF0000">
<!--#include virtual="header.html" -->
<!-- This document was autogenerated from the man page -->
<pre>
<strong>NAME</strong>
htdigest - Create and update user authentication files
<strong>SYNOPSIS</strong>
<strong>htdigest </strong>[ -<strong>c </strong>] <em>passwdfile realm username</em>
<strong>DESCRIPTION</strong>
<strong>htdigest </strong>is used to create and update the flat-files used to
store usernames, realm and password for digest authentica-
tion of HTTP users. Resources available from the <strong>httpd</strong>
Apache web server can be restricted to just the users listed
in the files created by <strong>htdigest.</strong>
This manual page only lists the command line arguments. For
details of the directives necessary to configure digest
authentication in <strong>httpd </strong>see the Apache manual, which is part
of the Apache distribution or can be found at
http://www.apache.org/.
<strong>OPTIONS</strong>
-c Create the <em>passwdfile</em>. If <em>passwdfile </em>already exists, it
is deleted first.
<em>passwdfile</em>
Name of the file to contain the username, realm and
password. If -c is specified, this file is created if
it does not already exist, or deleted and recreated if
it does exist.
<em>realm</em>
The realm name to which the user name belongs.
<em>username</em>
The user name to create or update in <strong>passwdfile</strong>. If
<em>username </em>does not exist is this file, an entry is
added. If it does exist, the password is changed.
<strong>SEE ALSO</strong>
<strong>httpd(8)</strong>
</pre>
<!--#include virtual="footer.html" -->
</BODY></HTML>
1.1 httpd-docs-1.3/htdocs/manual/programs/htpasswd.html
Index: htpasswd.html
===================================================================
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
<HTML><HEAD><TITLE>Manual Page: htpasswd - Apache HTTP Server</TITLE></HEAD>
<BODY BGCOLOR="#FFFFFF" TEXT="#000000" LINK="#0000FF"
VLINK="#000080" ALINK="#FF0000">
<!--#include virtual="header.html" -->
<!-- This document was autogenerated from the man page -->
<pre>
<strong>NAME</strong>
htpasswd - Create and update user authentication files
<strong>SYNOPSIS</strong>
<strong>htpasswd </strong>[ -<strong>c </strong>] [ -<strong>m </strong>| -<strong>d </strong>| -<strong>s </strong>| -<strong>p </strong>] <em>passwdfile username</em>
<strong>htpasswd </strong>-<strong>b </strong>[ -<strong>c </strong>] [ -<strong>m </strong>| -<strong>d </strong>| -<strong>s </strong>| -<strong>p </strong>] <em>passwdfile username</em>
<em>password</em>
<strong>htpasswd </strong>-<strong>n </strong>[ -<strong>m </strong>| -<strong>d </strong>| -<strong>s </strong>| -<strong>p </strong>] <em>username</em>
<strong>htpasswd </strong>-<strong>nb </strong>[ -<strong>m </strong>| -<strong>d </strong>| -<strong>s </strong>| -<strong>p </strong>] <em>username password</em>
<strong>DESCRIPTION</strong>
<strong>htpasswd </strong>is used to create and update the flat-files used to
store usernames and password for basic authentication of
HTTP users. If <strong>htpasswd </strong>cannot access a file, such as not
being able to write to the output file or not being able to
read the file in order to update it, it returns an error
status and makes no changes.
Resources available from the <strong>httpd </strong>Apache web server can be
restricted to just the users listed in the files created by
<strong>htpasswd. </strong>This program can only manage usernames and pass-
words stored in a flat-file. It can encrypt and display
password information for use in other types of data stores,
though. To use a DBM database see <strong>dbmmanage</strong>.
<strong>htpasswd </strong>encrypts passwords using either a version of MD5
modified for Apache, or the system's <em>crypt</em>() routine. Files
managed by <strong>htpasswd </strong>may contain both types of passwords;
some user records may have MD5-encrypted passwords while
others in the same file may have passwords encrypted with
<em>crypt</em>().
This manual page only lists the command line arguments. For
details of the directives necessary to configure user
authentication in <strong>httpd </strong>see the Apache manual, which is part
of the Apache distribution or can be found at
<URL:http://www.apache.org/>.
<strong>OPTIONS</strong>
-b Use batch mode; <em>i</em>.<em>e</em>., get the password from the command
line rather than prompting for it. <strong>This option should</strong>
<strong>be used with extreme care, since the password is</strong>
<strong>clearly visible on the command line.</strong>
-c Create the <em>passwdfile</em>. If <em>passwdfile </em>already exists, it
is rewritten and truncated. This option cannot be com-
bined with the <strong>-n </strong>option.
-n Display the results on standard output rather than
updating a file. This is useful for generating pass-
word records acceptable to Apache for inclusion in
non-text data stores. This option changes the syntax
of the command line, since the <em>passwdfile </em>argument
(usually the first one) is omitted. It cannot be com-
bined with the <strong>-c </strong>option.
-m Use Apache's modified MD5 algorithm for passwords.
Passwords encrypted with this algorithm are transport-
able to any platform (Windows, Unix, BeOS, et cetera)
running Apache 1.3.9 or later. On Windows and TPF,
this flag is the default.
-d Use crypt() encryption for passwords. The default on
all platforms but Windows and TPF. Though possibly sup-
ported by <strong>htpasswd </strong>on all platforms, it is not sup-
ported by the <strong>httpd </strong>server on Windows and TPF.
-s Use SHA encryption for passwords. Faciliates migration
from/to Netscape servers using the LDAP Directory
Interchange Format (ldif).
-p Use plaintext passwords. Though <strong>htpasswd </strong>will support
creation on all platforms, the <strong>httpd </strong>deamon will only
accept plain text passwords on Windows and TPF.
<em>passwdfile</em>
Name of the file to contain the user name and password.
If -c is given, this file is created if it does not
already exist, or rewritten and truncated if it does
exist.
<em>username</em>
The username to create or update in <strong>passwdfile</strong>. If
<em>username </em>does not exist in this file, an entry is
added. If it does exist, the password is changed.
<em>password</em>
The plaintext password to be encrypted and stored in
the file. Only used with the -<em>b </em>flag.
<strong>EXIT STATUS</strong>
<strong>htpasswd </strong>returns a zero status ("true") if the username and
password have been successfully added or updated in the
<em>passwdfile</em>. <strong>htpasswd </strong>returns 1 if it encounters some prob-
lem accessing files, 2 if there was a syntax problem with
the command line, 3 if the password was entered interac-
tively and the verification entry didn't match, 4 if its
operation was interrupted, 5 if a value is too long (user-
name, filename, password, or final computed record), and 6
if the username contains illegal characters (see the <strong>RES-</strong>
<strong>TRICTIONS </strong>section).
<strong>EXAMPLES</strong>
<strong>htpasswd /usr/local/etc/apache/.htpasswd-users jsmith</strong>
Adds or modifies the password for user <em>jsmith</em>. The user
is prompted for the password. If executed on a Windows
system, the password will be encrypted using the modi-
fied Apache MD5 algorithm; otherwise, the system's
<em>crypt</em>() routine will be used. If the file does not
exist, <strong>htpasswd </strong>will do nothing except return an error.
<strong>htpasswd -c /home/doe/public_html/.htpasswd jane</strong>
Creates a new file and stores a record in it for user
<em>jane</em>. The user is prompted for the password. If the
file exists and cannot be read, or cannot be written,
it is not altered and <strong>htpasswd </strong>will display a message
and return an error status.
<strong>htpasswd -mb /usr/web/.htpasswd-all jones Pwd4Steve</strong>
Encrypts the password from the command line (<em>Pwd4Steve</em>)
using the MD5 algorithm, and stores it in the specified
file.
<strong>SECURITY CONSIDERATIONS</strong>
Web password files such as those managed by <strong>htpasswd </strong>should
<strong>not </strong>be within the Web server's URI space -- that is, they
should not be fetchable with a browser.
The use of the -<em>b </em>option is discouraged, since when it is
used the unencrypted password appears on the command line.
<strong>RESTRICTIONS</strong>
On the Windows and MPE platforms, passwords encrypted with
<strong>htpasswd </strong>are limited to no more than 255 characters in
length. Longer passwords will be truncated to 255 charac-
ters.
The MD5 algorithm used by <strong>htpasswd </strong>is specific to the Apache
software; passwords encrypted using it will not be usable
with other Web servers.
Usernames are limited to 255 bytes and may not include the
character ':'.
<strong>SEE ALSO</strong>
<strong>httpd(8) </strong>and the scripts in support/SHA1 which come with the
distribution.
</pre>
<!--#include virtual="footer.html" -->
</BODY></HTML>
1.1 httpd-docs-1.3/htdocs/manual/programs/httpd.html
Index: httpd.html
===================================================================
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
<HTML><HEAD><TITLE>Manual Page: httpd - Apache HTTP Server</TITLE></HEAD>
<BODY BGCOLOR="#FFFFFF" TEXT="#000000" LINK="#0000FF"
VLINK="#000080" ALINK="#FF0000">
<!--#include virtual="header.html" -->
<!-- This document was autogenerated from the man page -->
<pre>
<strong>NAME</strong>
httpd - Apache hypertext transfer protocol server
<strong>SYNOPSIS</strong>
<strong>httpd </strong>[ -<strong>X </strong>] [ -<strong>R </strong><em>libexecdir </em>] [ -<strong>d </strong><em>serverroot </em>] [ -<strong>f </strong><em>config</em>
] [ -<strong>C </strong><em>directive </em>] [ -<strong>c </strong><em>directive </em>] [ -<strong>D </strong><em>parameter </em>]
<strong>httpd </strong>[ -<strong>h </strong>] [ -<strong>l </strong>] [ -<strong>L </strong>] [ -<strong>v </strong>] [ -<strong>V </strong>] [ -<strong>S </strong>] [ -<strong>t </strong>] [ -<strong>T</strong>
]
<strong>DESCRIPTION</strong>
<strong>httpd </strong>is the Apache HyperText Transfer Protocol (HTTP)
server program. It is designed to be run as a standalone
daemon process. When used like this it will create a pool of
child processes to handle requests. To stop it, send a TERM
signal to the initial (parent) process. The PID of this pro-
cess is written to a file as given in the configuration
file. Alternatively <strong>httpd </strong>may be invoked by the Internet
daemon inetd(8) each time a connection to the HTTP service
is made.
This manual page only lists the command line arguments. For
details of the directives necessary to configure <strong>httpd </strong>see
the Apache manual, which is part of the Apache distribution
or can be found at http://www.apache.org/. Paths in this
manual may not reflect those compiled into <strong>httpd.</strong>
<strong>OPTIONS</strong>
-<strong>R </strong><em>libexecdir</em>
This option is only available if Apache was
built with the <em>SHARED</em>_<em>CORE </em>rule enabled which
forces the Apache core code to be placed into a
dynamic shared object (DSO) file. This file is
searched in a hardcoded path under ServerRoot
per default. Use this option if you want to
override it.
-<strong>d </strong><em>serverroot</em>
Set the initial value for the ServerRoot direc-
tive to <em>serverroot</em>. This can be overridden by
the ServerRoot command in the configuration
file. The default is <strong>/usr/local/apache</strong>.
-<strong>f </strong><em>config </em>Execute the commands in the file <em>config </em>on
startup. If <em>config </em>does not begin with a /, then
it is taken to be a path relative to the Server-
Root. The default is <strong>conf/httpd.conf</strong>.
-<strong>C </strong><em>directive</em>
Process the configuration <em>directive </em>before read-
ing config files.
-<strong>c </strong><em>directive</em>
Process the configuration <em>directive </em>after read-
ing config files.
-<strong>D </strong><em>parameter</em>
Sets a configuration <em>parameter </em>which can be used
with <IfDefine>...</IfDefine> sections in the
configuration files to conditionally skip or
process commands.
-<strong>h </strong>Output a short summary of available command line
options.
-<strong>l </strong>Output a list of modules compiled into the
server.
-<strong>L </strong>Output a list of directives together with
expected arguments and places where the direc-
tive is valid.
-<strong>S </strong>Show the settings as parsed from the config file
(currently only shows the virtualhost settings).
-<strong>t </strong>Run syntax tests for configuration files only.
The program immediately exits after these syntax
parsing with either a return code of 0 (Syntax
OK) or return code not equal to 0 (Syntax
Error).
-<strong>T </strong>Same as option -<strong>t </strong>but does not check the config-
ured document roots.
-<strong>X </strong>Run in single-process mode, for internal debug-
ging purposes only; the daemon does not detach
from the terminal or fork any children. Do NOT
use this mode to provide ordinary web service.
-<strong>v </strong>Print the version of <strong>httpd </strong>, and then exit.
-<strong>V </strong>Print the version and build parameters of <strong>httpd</strong>
, and then exit.
<strong>FILES</strong>
<strong>/usr/local/apache/conf/httpd.conf</strong>
<strong>/usr/local/apache/conf/srm.conf</strong>
<strong>/usr/local/apache/conf/access.conf</strong>
<strong>/usr/local/apache/conf/mime.types</strong>
<strong>/usr/local/apache/conf/magic</strong>
<strong>/usr/local/apache/logs/error_log</strong>
<strong>/usr/local/apache/logs/access_log</strong>
<strong>/usr/local/apache/logs/httpd.pid</strong>
<strong>SEE ALSO</strong>
<strong>inetd</strong>(8).
</pre>
<!--#include virtual="footer.html" -->
</BODY></HTML>
1.1 httpd-docs-1.3/htdocs/manual/programs/index.html
Index: index.html
===================================================================
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
<HTML>
<HEAD>
<TITLE>Apache HTTP Server and Supporting Programs</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">Server and Supporting Programs</H1>
<p>This page documents all the executable programs included with the
Apache HTTP Server.</p>
<dl>
<dt><a href="httpd.html">httpd</a></dt>
<dd>Apache hypertext transfer protocol server</dd>
<dt><a href="apachectl.html">apachectl</a></dt>
<dd>Apache HTTP server control interface</dd>
<dt><a href="ab.html">ab</a></dt>
<dd>Apache HTTP server benchmarking tool</dd>
<dt><a href="apxs.html">apxs</a></dt>
<dd>APache eXtenSion tool</dd>
<dt><a href="dbmmanage.html">dbmmanage</a></dt>
<dd>Create and update user authentication files in DBM format for basic
authentication</dd>
<dt><a href="htdigest.html">htdigest</a></dt>
<dd>Create and update user authentication files for digest authentication</dd>
<dt><a href="htpasswd.html">htpasswd</a></dt>
<dd>Create and update user authentication files for basic authentication</dd>
<dt><a href="logresolve.html">logresolve</a></dt>
<dd>Resolve hostnames for IP-addresses in Apache logfiles</dd>
<dt><a href="rotatelogs.html">rotatelogs</a></dt>
<dd>Rotate Apache logs without having to kill the server</dd>
<dt><a href="suexec.html">suexec</a></dt>
<dd>Switch User For Exec</dd>
<dt><a href="other.html">Other Programs</dt>
</dl>
<!--#include virtual="footer.html" -->
</BODY>
</HTML>
1.1 httpd-docs-1.3/htdocs/manual/programs/logresolve.html
Index: logresolve.html
===================================================================
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
<HTML><HEAD><TITLE>Manual Page: logresolve - Apache HTTP Server</TITLE></HEAD>
<BODY BGCOLOR="#FFFFFF" TEXT="#000000" LINK="#0000FF"
VLINK="#000080" ALINK="#FF0000">
<!--#include virtual="header.html" -->
<!-- This document was autogenerated from the man page -->
<pre>
<strong>NAME</strong>
logresolve - resolve hostnames for IP-adresses in Apache
logfiles
<strong>SYNOPSIS</strong>
<strong>logresolve </strong>[ -<strong>s </strong><em>filename </em>] [ -<strong>c </strong>] < <em>access</em>_<em>log </em>>
<em>access</em>_<em>log</em>.<em>new</em>
<strong>DESCRIPTION</strong>
<strong>logresolve </strong>is a post-processing program to resolve IP-
adresses in Apache's access logfiles. To minimize impact on
your nameserver, logresolve has its very own internal hash-
table cache. This means that each IP number will only be
looked up the first time it is found in the log file.
<strong>OPTIONS</strong>
-<strong>s </strong><em>filename </em>Specifies a filename to record statistics.
-<strong>c </strong>This causes <strong>logresolve </strong>to apply some DNS checks:
after finding the hostname from the IP address,
it looks up the IP addresses for the hostname
and checks that one of these matches the origi-
nal address.
<strong>SEE ALSO</strong>
<strong>httpd(8)</strong>
</pre>
<!--#include virtual="footer.html" -->
</BODY></HTML>
1.1 httpd-docs-1.3/htdocs/manual/programs/other.html
Index: other.html
===================================================================
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
<HTML>
<HEAD>
<TITLE>Other Programs - Apache HTTP 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">Other Programs</H1>
<p>The following programs are simple support programs included with
the Apache HTTP Server which do not have their own manual pages.</p>
<h2><a name="log_server_status">log_server_status</a></h2>
<p>This Perl script is designed to be run at a frequent interval by something
like cron. It connects to the server and downloads the status
information. It reformats the information to a single line and logs
it to a file. Adjust the variables at the top of the script
to specify the location of the resulting logfile.</p>
<h2><a name="split-logfile">split-logfile</a></h2>
<p>This Perl script will take a combined Web server access
log file and break its contents into separate files.
It assumes that the first field of each line is the
virtual host identity (put there by "%v"), and that
the logfiles should be named that+".log" in the current
directory.</p>
<p>The combined log file is read from stdin. Records read
will be appended to any existing log files.</p>
</dl>
<!--#include virtual="footer.html" -->
</BODY>
</HTML>
1.1 httpd-docs-1.3/htdocs/manual/programs/rotatelogs.html
Index: rotatelogs.html
===================================================================
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
<HTML><HEAD><TITLE>Manual Page: rotatelogs - Apache HTTP Server</TITLE></HEAD>
<BODY BGCOLOR="#FFFFFF" TEXT="#000000" LINK="#0000FF"
VLINK="#000080" ALINK="#FF0000">
<!--#include virtual="header.html" -->
<!-- This document was autogenerated from the man page -->
<pre>
<strong>NAME</strong>
rotatelogs - rotate Apache logs without having to kill the
server
<strong>SYNOPSIS</strong>
<strong>rotatelogs </strong><em>logfile rotationtime</em>
<strong>DESCRIPTION</strong>
<strong>rotatelogs </strong>is a simple program for use in conjunction with
Apache's piped logfile feature which can be used like this:
TransferLog "|rotatelogs /path/to/logs/access_log 86400"
This creates the files /path/to/logs/access_log.nnnn where
nnnn is the system time at which the log nominally starts
(this time will always be a multiple of the rotation time,
so you can synchronize cron scripts with it). At the end of
each rotation time (here after 24 hours) a new log is
started.
<strong>OPTIONS</strong>
<em>logfile</em>
The path plus basename of the logfile. The suffix .nnnn
is automatically added.
<em>rotationtime</em>
The rotation time in seconds.
<strong>SEE ALSO</strong>
<strong>httpd(8)</strong>
</pre>
<!--#include virtual="footer.html" -->
</BODY></HTML>
1.1 httpd-docs-1.3/htdocs/manual/programs/suexec.html
Index: suexec.html
===================================================================
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
<HTML><HEAD><TITLE>Manual Page: suexec - Apache HTTP Server</TITLE></HEAD>
<BODY BGCOLOR="#FFFFFF" TEXT="#000000" LINK="#0000FF"
VLINK="#000080" ALINK="#FF0000">
<!--#include virtual="header.html" -->
<!-- This document was autogenerated from the man page -->
<pre>
<strong>NAME</strong>
suexec - Switch User For Exec
<strong>SYNOPSIS</strong>
No synopsis for usage, because this program is used inter-
nally by Apache only.
<strong>DESCRIPTION</strong>
<strong>suexec </strong>is the "wrapper" support program for the suEXEC
behaviour for Apache. It is run from within Apache automat-
ically to switch the user when an external program has to be
run under a different user. For more information about
suEXEC see the document `Apache suEXEC Support' under
http://www.apache.org/docs/suexec.html .
<strong>SEE ALSO</strong>
<strong>httpd(8)</strong>
</pre>
<!--#include virtual="footer.html" -->
</BODY></HTML>