.el .ne 3
.IP "\\$1" \\$2
..
-.TH "AB" 1 "2018-10-10" "Apache HTTP Server" "ab"
+.TH "AB" 1 "2026-04-26" "Apache HTTP Server" "ab"
.SH NAME
ab \- Apache HTTP server benchmarking tool
.SH "SUMMARY"
.PP
-\fBab\fR is a tool for benchmarking your Apache Hypertext Transfer Protocol (HTTP) server\&. It is designed to give you an impression of how your current Apache installation performs\&. This especially shows you how many requests per second your Apache installation is capable of serving\&.
+ab is a tool for benchmarking your Apache Hypertext Transfer Protocol (HTTP) server\&. It is designed to give you an impression of how your current Apache installation performs\&. This especially shows you how many requests per second your Apache installation is capable of serving\&.
.SH "OPTIONS"
Supply BASIC Authentication credentials to a proxy en-route\&. The username and password are separated by a single \fB:\fR and sent on the wire base64 encoded\&. The string is sent regardless of whether the proxy needs it (\fIi\&.e\&.\fR, has sent an 407 proxy authentication needed)\&.
.TP
\fB-q\fR
-When processing more than 150 requests, \fBab\fR outputs a progress count on \fBstderr\fR every 10% or 100 requests or so\&. The \fB-q\fR flag will suppress these messages\&.
+When processing more than 150 requests, ab outputs a progress count on \fBstderr\fR every 10% or 100 requests or so\&. The \fB-q\fR flag will suppress these messages\&.
.TP
\fB-r\fR
Don't exit on socket receive errors\&.
.SH "OUTPUT"
.PP
-The following list describes the values returned by \fBab\fR:
+The following list describes the values returned by ab:
.TP
There are various statically declared buffers of fixed length\&. Combined with the lazy parsing of the command line arguments, the response headers from the server and other external inputs, this might bite you\&.
.PP
-It does not implement HTTP/1\&.x fully; only accepts some 'expected' forms of responses\&. The rather heavy use of \fBstrstr(3)\fR shows up top in profile, which might indicate a performance problem; \fIi\&.e\&.\fR, you would measure the \fBab\fR performance rather than the server's\&.
+It does not implement HTTP/1\&.x fully; only accepts some 'expected' forms of responses\&. The rather heavy use of \fBstrstr(3)\fR shows up top in profile, which might indicate a performance problem; \fIi\&.e\&.\fR, you would measure the ab performance rather than the server's\&.
.el .ne 3
.IP "\\$1" \\$2
..
-.TH "APACHECTL" 8 "2018-07-06" "Apache HTTP Server" "apachectl"
+.TH "APACHECTL" 8 "2026-04-26" "Apache HTTP Server" "apachectl"
.SH NAME
apachectl \- Apache HTTP Server Control Interface
.SH "SYNOPSIS"
.PP
-When acting in pass-through mode, \fBapachectl\fR can take all the arguments available for the httpd binary\&.
+When acting in pass-through mode, apachectl can take all the arguments available for the httpd binary\&.
.PP
\fB\fBapachectl\fR [ \fIhttpd-argument\fR ]\fR
.PP
-When acting in SysV init mode, \fBapachectl\fR takes simple, one-word commands, defined below\&.
+When acting in SysV init mode, apachectl takes simple, one-word commands, defined below\&.
.PP
\fB\fBapachectl\fR \fIcommand\fR\fR
.SH "SUMMARY"
.PP
-\fBapachectl\fR is a front end to the Apache HyperText Transfer Protocol (HTTP) server\&. It is designed to help the administrator control the functioning of the Apache httpd daemon\&.
+apachectl is a front end to the Apache HyperText Transfer Protocol (HTTP) server\&. It is designed to help the administrator control the functioning of the Apache httpd daemon\&.
.PP
-The \fBapachectl\fR script can operate in two modes\&. First, it can act as a simple front-end to the httpd command that simply sets any necessary environment variables and then invokes httpd, passing through any command line arguments\&. Second, \fBapachectl\fR can act as a SysV init script, taking simple one-word arguments like \fBstart\fR, \fBrestart\fR, and \fBstop\fR, and translating them into appropriate signals to httpd\&.
+The apachectl script can operate in two modes\&. First, it can act as a simple front-end to the httpd command that simply sets any necessary environment variables and then invokes httpd, passing through any command line arguments\&. Second, apachectl can act as a SysV init script, taking simple one-word arguments like \fBstart\fR, \fBrestart\fR, and \fBstop\fR, and translating them into appropriate signals to httpd\&.
.PP
-If your Apache installation uses non-standard paths, you will need to edit the \fBapachectl\fR script to set the appropriate paths to the httpd binary\&. You can also specify any necessary httpd command line arguments\&. See the comments in the script for details\&.
+If your Apache installation uses non-standard paths, you will need to edit the apachectl script to set the appropriate paths to the httpd binary\&. You can also specify any necessary httpd command line arguments\&. See the comments in the script for details\&.
.PP
-The \fBapachectl\fR script returns a 0 exit value on success, and >0 if an error occurs\&. For more details, view the comments in the script\&.
+The apachectl script returns a 0 exit value on success, and >0 if an error occurs\&. For more details, view the comments in the script\&.
.SH "OPTIONS"
.el .ne 3
.IP "\\$1" \\$2
..
-.TH "APXS" 1 "2018-07-06" "Apache HTTP Server" "apxs"
+.TH "APXS" 1 "2026-04-26" "Apache HTTP Server" "apxs"
.SH NAME
apxs \- APache eXtenSion tool
.SH "SUMMARY"
.PP
-\fBapxs\fR 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 \fIfiles\fR which then can be loaded into the Apache server under runtime via the LoadModule directive from mod_so\&.
+apxs 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 \fIfiles\fR which then can be loaded into the Apache server under runtime via the LoadModule directive from mod_so\&.
.PP
-So to use this extension mechanism your platform has to support the DSO feature and your Apache httpd binary has to be built with the mod_so module\&. The \fBapxs\fR tool automatically complains if this is not the case\&. You can check this yourself by manually running the command
+So to use this extension mechanism your platform has to support the DSO feature and your Apache httpd binary has to be built with the mod_so module\&. The apxs tool automatically complains if this is not the case\&. You can check this yourself by manually running the command
.nf
-
- $ httpd -l
-
+
+$ httpd -l
+
.fi
.PP
-The module mod_so 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 \fBapxs\fR tool:
+The module mod_so 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 apxs tool:
.nf
-
- $ 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/modules/mod_foo\&.so
- chmod 755 /path/to/apache/modules/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
- $ _
-
+
+$ 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/modules/mod_foo\&.so
+chmod 755 /path/to/apache/modules/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
+$ _
+
.fi
.PP
-The arguments \fIfiles\fR can be any C source file (\&.c), a object file (\&.o) or even a library archive (\&.a)\&. The \fBapxs\fR tool automatically recognizes these extensions and automatically used the C source files for compilation while just using the object and archive files for the linking phase\&. But when using such pre-compiled objects make sure they are compiled for position independent code (PIC) to be able to use them for a dynamically loaded shared object\&. For instance with GCC you always just have to use \fB-fpic\fR\&. For other C compilers consult its manual page or at watch for the flags \fBapxs\fR uses to compile the object files\&.
+The arguments \fIfiles\fR can be any C source file (\&.c), a object file (\&.o) or even a library archive (\&.a)\&. The apxs tool automatically recognizes these extensions and automatically used the C source files for compilation while just using the object and archive files for the linking phase\&. But when using such pre-compiled objects make sure they are compiled for position independent code (PIC) to be able to use them for a dynamically loaded shared object\&. For instance with GCC you always just have to use \fB-fpic\fR\&. For other C compilers consult its manual page or at watch for the flags apxs uses to compile the object files\&.
.PP
For more details about DSO support in Apache read the documentation of mod_so or perhaps even read the \fBsrc/modules/standard/mod_so\&.c\fR source file\&.
.TP
\fB-n \fImodname\fR\fR
-This explicitly sets the module name for the \fB-i\fR (install) and \fB-g\fR (template generation) option\&. Use this to explicitly specify the module name\&. For option \fB-g\fR this is required, for option \fB-i\fR the \fBapxs\fR tool tries to determine the name from the source or (as a fallback) at least by guessing it from the filename\&.
+This explicitly sets the module name for the \fB-i\fR (install) and \fB-g\fR (template generation) option\&. Use this to explicitly specify the module name\&. For option \fB-g\fR this is required, for option \fB-i\fR the apxs tool tries to determine the name from the source or (as a fallback) at least by guessing it from the filename\&.
.SS "Query Options"
Assume you have an Apache module named \fBmod_foo\&.c\fR available which should extend Apache's server functionality\&. To accomplish this you first have to compile the C source into a shared object suitable for loading into the Apache server under runtime via the following command:
.nf
-
- $ apxs -c mod_foo\&.c
- /path/to/libtool --mode=compile gcc \&.\&.\&. -c mod_foo\&.c
- /path/to/libtool --mode=link gcc \&.\&.\&. -o mod_foo\&.la mod_foo\&.slo
- $ _
-
+
+$ apxs -c mod_foo\&.c
+/path/to/libtool --mode=compile gcc \&.\&.\&. -c mod_foo\&.c
+/path/to/libtool --mode=link gcc \&.\&.\&. -o mod_foo\&.la mod_foo\&.slo
+$ _
+
.fi
.PP
-Then you have to update the Apache configuration by making sure a LoadModule directive is present to load this shared object\&. To simplify this step \fBapxs\fR provides an automatic way to install the shared object in its "modules" directory and updating the \fBhttpd\&.conf\fR file accordingly\&. This can be achieved by running:
+Then you have to update the Apache configuration by making sure a LoadModule directive is present to load this shared object\&. To simplify this step apxs provides an automatic way to install the shared object in its "modules" directory and updating the \fBhttpd\&.conf\fR file accordingly\&. This can be achieved by running:
.nf
-
- $ apxs -i -a mod_foo\&.la
- /path/to/instdso\&.sh mod_foo\&.la /path/to/apache/modules
- /path/to/libtool --mode=install cp mod_foo\&.la /path/to/apache/modules
- \&.\&.\&.
- chmod 755 /path/to/apache/modules/mod_foo\&.so
- [activating module `foo' in /path/to/apache/conf/httpd\&.conf]
- $ _
-
+
+$ apxs -i -a mod_foo\&.la
+/path/to/instdso\&.sh mod_foo\&.la /path/to/apache/modules
+/path/to/libtool --mode=install cp mod_foo\&.la /path/to/apache/modules
+\&.\&.\&.
+chmod 755 /path/to/apache/modules/mod_foo\&.so
+[activating module `foo' in /path/to/apache/conf/httpd\&.conf]
+$ _
+
.fi
.PP
This way a line named
.nf
-
- LoadModule foo_module modules/mod_foo\&.so
-
+
+LoadModule foo_module modules/mod_foo\&.so
+
.fi
.PP
is added to the configuration file if still not present\&. If you want to have this disabled per default use the \fB-A\fR option, \fIi\&.e\&.\fR
.nf
-
- $ apxs -i -A mod_foo\&.c
-
+
+$ apxs -i -A mod_foo\&.c
+
.fi
.PP
For a quick test of the apxs mechanism you can create a sample Apache module template plus a corresponding Makefile via:
.nf
-
- $ apxs -g -n foo
- Creating [DIR] foo
- Creating [FILE] foo/Makefile
- Creating [FILE] foo/modules\&.mk
- Creating [FILE] foo/mod_foo\&.c
- Creating [FILE] foo/\&.deps
- $ _
-
+
+$ apxs -g -n foo
+Creating [DIR] foo
+Creating [FILE] foo/Makefile
+Creating [FILE] foo/modules\&.mk
+Creating [FILE] foo/mod_foo\&.c
+Creating [FILE] foo/\&.deps
+$ _
+
.fi
.PP
Then you can immediately compile this sample module into a shared object and load it into the Apache server:
.nf
-
- $ cd foo
- $ make all reload
- apxs -c mod_foo\&.c
- /path/to/libtool --mode=compile gcc \&.\&.\&. -c mod_foo\&.c
- /path/to/libtool --mode=link gcc \&.\&.\&. -o mod_foo\&.la mod_foo\&.slo
- apxs -i -a -n "foo" mod_foo\&.la
- /path/to/instdso\&.sh mod_foo\&.la /path/to/apache/modules
- /path/to/libtool --mode=install cp mod_foo\&.la /path/to/apache/modules
- \&.\&.\&.
- chmod 755 /path/to/apache/modules/mod_foo\&.so
- [activating module `foo' in /path/to/apache/conf/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
- $ _
-
+
+$ cd foo
+$ make all reload
+apxs -c mod_foo\&.c
+/path/to/libtool --mode=compile gcc \&.\&.\&. -c mod_foo\&.c
+/path/to/libtool --mode=link gcc \&.\&.\&. -o mod_foo\&.la mod_foo\&.slo
+apxs -i -a -n "foo" mod_foo\&.la
+/path/to/instdso\&.sh mod_foo\&.la /path/to/apache/modules
+/path/to/libtool --mode=install cp mod_foo\&.la /path/to/apache/modules
+\&.\&.\&.
+chmod 755 /path/to/apache/modules/mod_foo\&.so
+[activating module `foo' in /path/to/apache/conf/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
+$ _
+
.fi
.el .ne 3
.IP "\\$1" \\$2
..
-.TH "HTCACHECLEAN" 8 "2019-08-09" "Apache HTTP Server" "htcacheclean"
+.TH "HTCACHECLEAN" 8 "2026-04-26" "Apache HTTP Server" "htcacheclean"
.SH NAME
htcacheclean \- Clean up the disk cache
.SH "SUMMARY"
.PP
-\fBhtcacheclean\fR is used to keep the size of mod_cache_disk's storage within a given size limit, or limit on inodes in use\&. This tool can run either manually or in daemon mode\&. When running in daemon mode, it sleeps in the background and checks the cache directory at regular intervals for cached content to be removed\&. You can stop the daemon cleanly by sending it a TERM or INT signal\&. When run manually, a once off check of the cache directory is made for cached content to be removed\&. If one or more URLs are specified, each URL will be deleted from the cache, if present\&.
+htcacheclean is used to keep the size of mod_cache_disk's storage within a given size limit, or limit on inodes in use\&. This tool can run either manually or in daemon mode\&. When running in daemon mode, it sleeps in the background and checks the cache directory at regular intervals for cached content to be removed\&. You can stop the daemon cleanly by sending it a TERM or INT signal\&. When run manually, a once off check of the cache directory is made for cached content to be removed\&. If one or more URLs are specified, each URL will be deleted from the cache, if present\&.
.SH "OPTIONS"
Clean thoroughly\&. This assumes that the Apache web server is not running (otherwise you may get garbage in the cache)\&. This option is mutually exclusive with the \fB-d\fR option and implies the \fB-t\fR option\&.
.TP
\fB-n\fR
-Be nice\&. This causes slower processing in favour of other processes\&. \fBhtcacheclean\fR will sleep from time to time so that (a) the disk IO will be delayed and (b) the kernel can schedule other processes in the meantime\&.
+Be nice\&. This causes slower processing in favor of other processes\&. htcacheclean will sleep from time to time so that (a) the disk IO will be delayed and (b) the kernel can schedule other processes in the meantime\&.
.TP
\fB-t\fR
Delete all empty directories\&. By default only cache files are removed, however with some configurations the large number of directories created may require attention\&. If your configuration requires a very large number of directories, to the point that inode or file allocation table exhaustion may become an issue, use of this option is advised\&.
.SH "DELETING A SPECIFIC URL"
.PP
-If \fBhtcacheclean\fR is passed one or more URLs, each URL will be deleted from the cache\&. If multiple variants of an URL exists, all variants would be deleted\&.
+If htcacheclean is passed one or more URLs, each URL will be deleted from the cache\&. If multiple variants of an URL exists, all variants would be deleted\&.
.PP
When a reverse proxied URL is to be deleted, the effective URL is constructed from the \fBHost\fR header, the \fBport\fR, the \fBpath\fR and the \fBquery\fR\&. Note the '?' in the URL must always be specified explicitly, whether a query string is present or not\&. For example, an attempt to delete the path \fB/\fR from the server \fBlocalhost\fR, the URL to delete would be \fBhttp://localhost:80/?\fR\&.
.SH "LISTING URLS IN THE CACHE"
.PP
-By passing the \fB-a\fR or \fB-A\fR options to \fBhtcacheclean\fR, the URLs within the cache will be listed as they are found, one URL per line\&. The \fB-A\fR option dumps the full cache entry after the URL, with fields in the following order:
+By passing the \fB-a\fR or \fB-A\fR options to htcacheclean, the URLs within the cache will be listed as they are found, one URL per line\&. The \fB-A\fR option dumps the full cache entry after the URL, with fields in the following order:
.TP
.SH "EXIT STATUS"
.PP
-\fBhtcacheclean\fR returns a zero status ("true") if all operations were successful, \fB1\fR otherwise\&. If an URL is specified, and the URL was cached and successfully removed, \fB0\fR is returned, \fB2\fR otherwise\&. If an error occurred during URL removal, \fB1\fR is returned\&.
+htcacheclean returns a zero status ("true") if all operations were successful, \fB1\fR otherwise\&. If an URL is specified, and the URL was cached and successfully removed, \fB0\fR is returned, \fB2\fR otherwise\&. If an error occurred during URL removal, \fB1\fR is returned\&.
.el .ne 3
.IP "\\$1" \\$2
..
-.TH "HTDBM" 1 "2024-04-02" "Apache HTTP Server" "htdbm"
+.TH "HTDBM" 1 "2026-04-26" "Apache HTTP Server" "htdbm"
.SH NAME
htdbm \- Manipulate DBM password databases
.SH "SUMMARY"
.PP
-\fBhtdbm\fR is used to manipulate the DBM format files used to store usernames and password for basic authentication of HTTP users via mod_authn_dbm\&. See the dbmmanage documentation for more information about these DBM files\&.
+htdbm is used to manipulate the DBM format files used to store usernames and password for basic authentication of HTTP users via mod_authn_dbm\&. See the dbmmanage documentation for more information about these DBM files\&.
.SH "OPTIONS"
This flag is only allowed in combination with \fB-B\fR (bcrypt hashing)\&. It sets the computing time used for the bcrypt algorithm (higher is more secure but slower, default: 5, valid: 4 to 31)\&.
.TP
\fB-d\fR
-Use \fBcrypt()\fR hashing for passwords\&. The default on all platforms but Windows and Netware\&. Though possibly supported by \fBhtdbm\fR on all platforms, it is not supported by the httpd server on Windows and Netware\&. This algorithm is \fBinsecure\fR by today's standards\&.
+Use \fBcrypt()\fR hashing for passwords\&. The default on all platforms but Windows and Netware\&. Though possibly supported by htdbm on all platforms, it is not supported by the httpd server on Windows and Netware\&. This algorithm is \fBinsecure\fR by today's standards\&.
.TP
\fB-s\fR
Use SHA hashing for passwords\&. Facilitates migration from/to Netscape servers using the LDAP Directory Interchange Format (ldif)\&. This algorithm is \fBinsecure\fR by today's standards\&.
.TP
\fB-p\fR
-Use plaintext passwords\&. Though \fBhtdbm\fR will support creation on all platforms, the httpd daemon will only accept plain text passwords on Windows and Netware\&.
+Use plaintext passwords\&. Though htdbm will support creation on all platforms, the httpd daemon will only accept plain text passwords on Windows and Netware\&.
.TP
\fB-l\fR
Print each of the usernames and comments from the database on stdout\&.
.SH "BUGS"
.PP
-One should be aware that there are a number of different DBM file formats in existence, and with all likelihood, libraries for more than one format may exist on your system\&. The three primary examples are SDBM, NDBM, GNU GDBM, and Berkeley/Sleepycat DB 2/3/4\&. Unfortunately, all these libraries use different file formats, and you must make sure that the file format used by \fIfilename\fR is the same format that \fBhtdbm\fR expects to see\&. \fBhtdbm\fR currently has no way of determining 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\&.
+One should be aware that there are a number of different DBM file formats in existence, and with all likelihood, libraries for more than one format may exist on your system\&. The three primary examples are SDBM, NDBM, GNU GDBM, and Berkeley/Sleepycat DB 2/3/4\&. Unfortunately, all these libraries use different file formats, and you must make sure that the file format used by \fIfilename\fR is the same format that htdbm expects to see\&. htdbm currently has no way of determining 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\&.
.PP
One can usually use the \fBfile\fR program supplied with most Unix systems to see what format a DBM file is in\&.
.SH "EXIT STATUS"
.PP
-\fBhtdbm\fR returns a zero status ("true") if the username and password have been successfully added or updated in the DBM File\&. \fBhtdbm\fR returns \fB1\fR if it encounters some problem accessing files, \fB2\fR if there was a syntax problem with the command line, \fB3\fR if the password was entered interactively and the verification entry didn't match, \fB4\fR if its operation was interrupted, \fB5\fR if a value is too long (username, filename, password, or final computed record), \fB6\fR if the username contains illegal characters (see the Restrictions section), and \fB7\fR if the file is not a valid DBM password file\&.
+htdbm returns a zero status ("true") if the username and password have been successfully added or updated in the DBM File\&. htdbm returns \fB1\fR if it encounters some problem accessing files, \fB2\fR if there was a syntax problem with the command line, \fB3\fR if the password was entered interactively and the verification entry didn't match, \fB4\fR if its operation was interrupted, \fB5\fR if a value is too long (username, filename, password, or final computed record), \fB6\fR if the username contains illegal characters (see the Restrictions section), and \fB7\fR if the file is not a valid DBM password file\&.
.SH "EXAMPLES"
.fi
.PP
-Adds or modifies the password for user \fBjsmith\fR\&. The user is prompted for the password\&. If executed on a Windows system, the password will be hashed using the modified Apache MD5 algorithm; otherwise, the system's \fBcrypt()\fR routine will be used\&. If the file does not exist, \fBhtdbm\fR will do nothing except return an error\&.
+Adds or modifies the password for user \fBjsmith\fR\&. The user is prompted for the password\&. If executed on a Windows system, the password will be hashed using the modified Apache MD5 algorithm; otherwise, the system's \fBcrypt()\fR routine will be used\&. If the file does not exist, htdbm will do nothing except return an error\&.
.nf
.fi
.PP
-Creates a new file and stores a record in it for user \fBjane\fR\&. The user is prompted for the password\&. If the file exists and cannot be read, or cannot be written, it is not altered and \fBhtdbm\fR will display a message and return an error status\&.
+Creates a new file and stores a record in it for user \fBjane\fR\&. The user is prompted for the password\&. If the file exists and cannot be read, or cannot be written, it is not altered and htdbm will display a message and return an error status\&.
.nf
.SH "SECURITY CONSIDERATIONS"
.PP
-Web password files such as those managed by \fBhtdbm\fR should \fInot\fR be within the Web server's URI space -- that is, they should not be fetchable with a browser\&.
+Web password files such as those managed by htdbm should \fInot\fR be within the Web server's URI space -- that is, they should not be fetchable with a browser\&.
.PP
The use of the \fB-b\fR option is discouraged, since when it is used the plaintext password appears on the command line\&.
.SH "RESTRICTIONS"
.PP
-On the Windows platform, passwords hashed with \fBhtdbm\fR are limited to no more than \fB255\fR characters in length\&. Longer passwords will be truncated to 255 characters\&.
+On the Windows platform, passwords hashed with htdbm are limited to no more than \fB255\fR characters in length\&. Longer passwords will be truncated to 255 characters\&.
.PP
-The MD5 algorithm used by \fBhtdbm\fR is specific to the Apache software; passwords hashed using it will not be usable with other Web servers\&.
+The MD5 algorithm used by htdbm is specific to the Apache software; passwords hashed using it will not be usable with other Web servers\&.
.PP
Usernames are limited to \fB255\fR bytes and may not include the character \fB:\fR\&.
.el .ne 3
.IP "\\$1" \\$2
..
-.TH "HTDIGEST" 1 "2018-07-06" "Apache HTTP Server" "htdigest"
+.TH "HTDIGEST" 1 "2026-04-26" "Apache HTTP Server" "htdigest"
.SH NAME
htdigest \- manage user files for digest authentication
.SH "SUMMARY"
.PP
-\fBhtdigest\fR is used to create and update the flat-files used to store usernames, realm and password for digest authentication of HTTP users\&. Resources available from the Apache HTTP server can be restricted to just the users listed in the files created by \fBhtdigest\fR\&.
+htdigest is used to create and update the flat-files used to store usernames, realm and password for digest authentication of HTTP users\&. Resources available from the Apache HTTP server can be restricted to just the users listed in the files created by htdigest\&.
.PP
This manual page only lists the command line arguments\&. For details of the directives necessary to configure digest authentication in httpd see the Apache manual, which is part of the Apache distribution or can be found at http://httpd\&.apache\&.org/\&.
.el .ne 3
.IP "\\$1" \\$2
..
-.TH "HTPASSWD" 1 "2024-04-02" "Apache HTTP Server" "htpasswd"
+.TH "HTPASSWD" 1 "2026-04-26" "Apache HTTP Server" "htpasswd"
.SH NAME
htpasswd \- Manage user files for basic authentication
.SH "SUMMARY"
.PP
-\fBhtpasswd\fR is used to create and update the flat-files used to store usernames and password for basic authentication of HTTP users\&. If \fBhtpasswd\fR 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\&.
+htpasswd is used to create and update the flat-files used to store usernames and password for basic authentication of HTTP users\&. If htpasswd 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\&.
.PP
-Resources available from the Apache HTTP server can be restricted to just the users listed in the files created by \fBhtpasswd\fR\&. This program can only manage usernames and passwords stored in a flat-file\&. It can hash and display password information for use in other types of data stores, though\&. To use a DBM database see dbmmanage or htdbm\&.
+Resources available from the Apache HTTP server can be restricted to just the users listed in the files created by htpasswd\&. This program can only manage usernames and passwords stored in a flat-file\&. It can hash and display password information for use in other types of data stores, though\&. To use a DBM database see dbmmanage or htdbm\&.
.PP
-\fBhtpasswd\fR hashes passwords using either bcrypt, a version of MD5 modified for Apache, SHA-1, or the system's \fBcrypt()\fR routine\&. SHA-2-based hashes (SHA-256 and SHA-512) are supported for \fBcrypt()\fR\&. Files managed by \fBhtpasswd\fR may contain a mixture of different encoding types of passwords; some user records may have bcrypt or MD5-hashed passwords while others in the same file may have passwords hashed with \fBcrypt()\fR\&.
+htpasswd hashes passwords using either bcrypt, a version of MD5 modified for Apache, SHA-1, or the system's \fBcrypt()\fR routine\&. SHA-2-based hashes (SHA-256 and SHA-512) are supported for \fBcrypt()\fR\&. Files managed by htpasswd may contain a mixture of different encoding types of passwords; some user records may have bcrypt or MD5-hashed passwords while others in the same file may have passwords hashed with \fBcrypt()\fR\&.
.PP
This manual page only lists the command line arguments\&. For details of the directives necessary to configure user authentication in httpd see the Apache manual, which is part of the Apache distribution or can be found at http://httpd\&.apache\&.org/\&.
Use SHA-1 (160-bit) hashing for passwords\&. Facilitates migration from/to Netscape servers using the LDAP Directory Interchange Format (ldif)\&. This algorithm is \fBinsecure\fR by today's standards\&.
.TP
\fB-p\fR
-Use plaintext passwords\&. Though \fBhtpasswd\fR will support creation on all platforms, the httpd daemon will only accept plain text passwords on Windows and Netware\&.
+Use plaintext passwords\&. Though htpasswd will support creation on all platforms, the httpd daemon will only accept plain text passwords on Windows and Netware\&.
.TP
\fB-D\fR
Delete user\&. If the username exists in the specified htpasswd file, it will be deleted\&.
.SH "EXIT STATUS"
.PP
-\fBhtpasswd\fR returns a zero status ("true") if the username and password have been successfully added or updated in the \fIpasswdfile\fR\&. \fBhtpasswd\fR returns \fB1\fR if it encounters some problem accessing files, \fB2\fR if there was a syntax problem with the command line, \fB3\fR if the password was entered interactively and the verification entry didn't match, \fB4\fR if its operation was interrupted, \fB5\fR if a value is too long (username, filename, password, or final computed record), \fB6\fR if the username contains illegal characters (see the Restrictions section), and \fB7\fR if the file is not a valid password file\&.
+htpasswd returns a zero status ("true") if the username and password have been successfully added or updated in the \fIpasswdfile\fR\&. htpasswd returns \fB1\fR if it encounters some problem accessing files, \fB2\fR if there was a syntax problem with the command line, \fB3\fR if the password was entered interactively and the verification entry didn't match, \fB4\fR if its operation was interrupted, \fB5\fR if a value is too long (username, filename, password, or final computed record), \fB6\fR if the username contains illegal characters (see the Restrictions section), and \fB7\fR if the file is not a valid password file\&.
.SH "EXAMPLES"
.fi
.PP
-Adds or modifies the password for user \fBjsmith\fR\&. The user is prompted for the password\&. The password will be hashed using the modified Apache MD5 algorithm\&. If the file does not exist, \fBhtpasswd\fR will do nothing except return an error\&.
+Adds or modifies the password for user \fBjsmith\fR\&. The user is prompted for the password\&. The password will be hashed using the modified Apache MD5 algorithm\&. If the file does not exist, htpasswd will do nothing except return an error\&.
.nf
.fi
.PP
-Creates a new file and stores a record in it for user \fBjane\fR\&. The user is prompted for the password\&. If the file exists and cannot be read, or cannot be written, it is not altered and \fBhtpasswd\fR will display a message and return an error status\&.
+Creates a new file and stores a record in it for user \fBjane\fR\&. The user is prompted for the password\&. If the file exists and cannot be read, or cannot be written, it is not altered and htpasswd will display a message and return an error status\&.
.nf
.SH "SECURITY CONSIDERATIONS"
.PP
-Web password files such as those managed by \fBhtpasswd\fR should \fInot\fR be within the Web server's URI space -- that is, they should not be fetchable with a browser\&.
+Web password files such as those managed by htpasswd should \fInot\fR be within the Web server's URI space -- that is, they should not be fetchable with a browser\&.
.PP
This program is not safe as a setuid executable\&. Do \fInot\fR make it setuid\&.
.SH "RESTRICTIONS"
.PP
-On the Windows platform, passwords hashed with \fBhtpasswd\fR are limited to no more than \fB255\fR characters in length\&. Longer passwords will be truncated to 255 characters\&.
+On the Windows platform, passwords hashed with htpasswd are limited to no more than \fB255\fR characters in length\&. Longer passwords will be truncated to 255 characters\&.
.PP
-The MD5 algorithm used by \fBhtpasswd\fR is specific to the Apache software; passwords hashed using it will not be usable with other Web servers\&.
+The MD5 algorithm used by htpasswd is specific to the Apache software; passwords hashed using it will not be usable with other Web servers\&.
.PP
Usernames are limited to \fB255\fR bytes and may not include the character \fB:\fR\&.
.el .ne 3
.IP "\\$1" \\$2
..
-.TH "HTTPD" 8 "2018-07-06" "Apache HTTP Server" "httpd"
+.TH "HTTPD" 8 "2026-04-26" "Apache HTTP Server" "httpd"
.SH NAME
httpd \- Apache Hypertext Transfer Protocol Server
.SH "SUMMARY"
.PP
-\fBhttpd\fR 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 or threads to handle requests\&.
+httpd 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 or threads to handle requests\&.
.PP
-In general, \fBhttpd\fR should not be invoked directly, but rather should be invoked via apachectl on Unix-based systems or as a service on Windows NT, 2000 and XP and as a console application on Windows 9x and ME\&.
+In general, httpd should not be invoked directly, but rather should be invoked via apachectl on Unix-based systems or as a service on Windows NT, 2000 and XP and as a console application on Windows 9x and ME\&.
.SH "OPTIONS"
Uses the directives in the file \fIconfig\fR on startup\&. If \fIconfig\fR does not begin with a /, then it is taken to be a path relative to the ServerRoot\&. The default is \fBconf/httpd\&.conf\fR\&.
.TP
\fB-k \fBstart|restart|graceful|stop|graceful-stop\fR\fR
-Signals \fBhttpd\fR to start, restart, or stop\&. See Stopping Apache httpd for more information\&.
+Signals httpd to start, restart, or stop\&. See Stopping Apache httpd for more information\&.
.TP
\fB-C \fIdirective\fR\fR
Process the configuration \fIdirective\fR before reading config files\&.
Run syntax tests for configuration files only\&. The program immediately exits after these syntax parsing tests with either a return code of 0 (Syntax OK) or return code not equal to 0 (Syntax Error)\&. If -D \fIDUMP\fR_\fIVHOSTS \fRis also set, details of the virtual host configuration will be printed\&. If -D \fIDUMP\fR_\fIMODULES \fR is set, all loaded modules will be printed\&.
.TP
\fB-v\fR
-Print the version of \fBhttpd\fR, and then exit\&.
+Print the version of httpd, and then exit\&.
.TP
\fB-V\fR
-Print the version and build parameters of \fBhttpd\fR, and then exit\&.
+Print the version and build parameters of httpd, and then exit\&.
.TP
\fB-X\fR
Run httpd in debug mode\&. Only one worker will be started and the server will not detach from the console\&.
.el .ne 3
.IP "\\$1" \\$2
..
-.TH "HTTXT2DBM" 1 "2019-11-13" "Apache HTTP Server" "httxt2dbm"
+.TH "HTTXT2DBM" 1 "2026-04-26" "Apache HTTP Server" "httxt2dbm"
.SH NAME
httxt2dbm \- Generate dbm files for use with RewriteMap
.SH "SUMMARY"
.PP
-\fBhttxt2dbm\fR is used to generate dbm files from text input, for use in RewriteMap with the \fBdbm\fR map type\&.
+httxt2dbm is used to generate dbm files from text input, for use in RewriteMap with the \fBdbm\fR map type\&.
.PP
If the output file already exists, it will not be truncated\&. New keys will be added and existing keys will be updated\&.
.SH "EXAMPLES"
.nf
-
- httxt2dbm -i rewritemap\&.txt -o rewritemap\&.dbm
- httxt2dbm -f SDBM -i rewritemap\&.txt -o rewritemap\&.dbm
+
+httxt2dbm -i rewritemap\&.txt -o rewritemap\&.dbm
+httxt2dbm -f SDBM -i rewritemap\&.txt -o rewritemap\&.dbm
+
.fi
.el .ne 3
.IP "\\$1" \\$2
..
-.TH "LOGRESOLVE" 1 "2018-07-06" "Apache HTTP Server" "logresolve"
+.TH "LOGRESOLVE" 1 "2026-04-26" "Apache HTTP Server" "logresolve"
.SH NAME
logresolve \- Resolve IP-addresses to hostnames in Apache log files
.SH "SUMMARY"
.PP
-\fBlogresolve\fR is a post-processing program to resolve IP-addresses 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\&.
+logresolve is a post-processing program to resolve IP-addresses 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\&.
.PP
Takes an Apache log file on standard input\&. The IP addresses must be the first thing on each line and must be separated from the remainder of the line by a space\&.
Specifies a filename to record statistics\&.
.TP
\fB-c\fR
-This causes \fBlogresolve\fR 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 original address\&.
+This causes logresolve 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 original address\&.
.el .ne 3
.IP "\\$1" \\$2
..
-.TH "ROTATELOGS" 8 "2023-03-05" "Apache HTTP Server" "rotatelogs"
+.TH "ROTATELOGS" 8 "2026-04-26" "Apache HTTP Server" "rotatelogs"
.SH NAME
rotatelogs \- Piped logging program to rotate Apache logs
.SH "SUMMARY"
.PP
-\fBrotatelogs\fR is a simple program for use in conjunction with Apache's piped logfile feature\&. It supports rotation based on a time interval or maximum size of the log\&.
+rotatelogs is a simple program for use in conjunction with Apache's piped logfile feature\&. It supports rotation based on a time interval or maximum size of the log\&.
.SH "OPTIONS"
Causes the use of local time rather than GMT as the base for the interval or for \fBstrftime(3)\fR formatting with size-based rotation\&.
.TP
\fB-L\fR \fIlinkname\fR
-.PP Causes a hard link to be made from the current logfile to the specified link name\&. This can be used to watch the log continuously across rotations using a command like \fBtail -F linkname\fR\&. .PP If the linkname is not an absolute path, it is relative to \fBrotatelogs\fR' working directory, which is the ServerRoot when \fBrotatelogs\fR is run by the server\&.
+.PP Causes a hard link to be made from the current logfile to the specified link name\&. This can be used to watch the log continuously across rotations using a command like \fBtail -F linkname\fR\&. .PP If the linkname is not an absolute path, it is relative to rotatelogs' working directory, which is the ServerRoot when rotatelogs is run by the server\&.
.TP
\fB-p\fR \fIprogram\fR
-If given, \fBrotatelogs\fR will execute the specified program every time a new log file is opened\&. The filename of the newly opened file is passed as the first argument to the program\&. If executing after a rotation, the old log file is passed as the second argument\&. \fBrotatelogs\fR does not wait for the specified program to terminate before continuing to operate, and will not log any error code returned on termination\&. The spawned program uses the same stdin, stdout, and stderr as rotatelogs itself, and also inherits the environment\&.
+If given, rotatelogs will execute the specified program every time a new log file is opened\&. The filename of the newly opened file is passed as the first argument to the program\&. If executing after a rotation, the old log file is passed as the second argument\&. rotatelogs does not wait for the specified program to terminate before continuing to operate, and will not log any error code returned on termination\&. The spawned program uses the same stdin, stdout, and stderr as rotatelogs itself, and also inherits the environment\&.
.TP
\fB-f\fR
-Causes the logfile to be opened immediately, as soon as \fBrotatelogs\fR starts, instead of waiting for the first logfile entry to be read (for non-busy sites, there may be a substantial delay between when the server is started and when the first request is handled, meaning that the associated logfile does not "exist" until then, which causes problems from some automated logging tools)
+Causes the logfile to be opened immediately, as soon as rotatelogs starts, instead of waiting for the first logfile entry to be read (for non-busy sites, there may be a substantial delay between when the server is started and when the first request is handled, meaning that the associated logfile does not "exist" until then, which causes problems from some automated logging tools)
.TP
\fB-D\fR
Creates the parent directories of the path that the log file will be placed in if they do not already exist\&. This allows \fBstrftime(3)\fR formatting to be used in the path and not just the filename\&.
Use a circular list of filenames without timestamps\&. This option overwrites log files at startup and during rotation\&. With -n 3, the series of log files opened would be "logfile", "logfile\&.1", "logfile\&.2", then overwriting "logfile"\&. When this program first opens "logfile", the file will only be truncated if \fB-t\fR is also provided\&. Every subsequent rotation will always begin with truncation of the target file\&. For size based rotation without \fB-t\fR and existing log files in place, this option may result in unintuitive behavior such as initial log entries being sent to "logfile\&.1", and entries in "logfile\&.1" not being preserved even if later "logfile\&.n" have not yet been used\&. Available in 2\&.4\&.5 and later\&.
.TP
\fB\fIlogfile\fR\fR
-.PP The path plus basename of the logfile\&. If \fIlogfile\fR includes any '%' characters, it is treated as a format string for \fBstrftime(3)\fR\&. Otherwise, the suffix \fI\&.nnnnnnnnnn\fR is automatically added and is the time in seconds (unless the -t option is used)\&. Both formats compute the start time from the beginning of the current period\&. For example, if a rotation time of 86400 is specified, the hour, minute, and second fields created from the \fBstrftime(3)\fR format will all be zero, referring to the beginning of the current 24-hour period (midnight)\&. .PP When using \fBstrftime(3)\fR filename formatting, be sure the log file format has enough granularity to produce a different file name each time the logs are rotated\&. Otherwise rotation will overwrite the same file instead of starting a new one\&. For example, if \fIlogfile\fR was \fB/var/log/errorlog\&.%Y-%m-%d\fR with log rotation at 5 megabytes, but 5 megabytes was reached twice in the same day, the same log file name would be produced and log rotation would keep writing to the same file\&. .PP If the logfile is not an absolute path, it is relative to \fBrotatelogs\fR' working directory, which is the ServerRoot when \fBrotatelogs\fR is run by the server\&.
+.PP The path plus basename of the logfile\&. If \fIlogfile\fR includes any '%' characters, it is treated as a format string for \fBstrftime(3)\fR\&. Otherwise, the suffix \fI\&.nnnnnnnnnn\fR is automatically added and is the time in seconds (unless the -t option is used)\&. Both formats compute the start time from the beginning of the current period\&. For example, if a rotation time of 86400 is specified, the hour, minute, and second fields created from the \fBstrftime(3)\fR format will all be zero, referring to the beginning of the current 24-hour period (midnight)\&. .PP When using \fBstrftime(3)\fR filename formatting, be sure the log file format has enough granularity to produce a different file name each time the logs are rotated\&. Otherwise rotation will overwrite the same file instead of starting a new one\&. For example, if \fIlogfile\fR was \fB/var/log/errorlog\&.%Y-%m-%d\fR with log rotation at 5 megabytes, but 5 megabytes was reached twice in the same day, the same log file name would be produced and log rotation would keep writing to the same file\&. .PP If the logfile is not an absolute path, it is relative to rotatelogs' working directory, which is the ServerRoot when rotatelogs is run by the server\&.
.TP
\fB\fIrotationtime\fR\fR
The time between log file rotations in seconds\&. The rotation occurs at the beginning of this interval\&. For example, if the rotation time is 3600, the log file will be rotated at the beginning of every hour; if the rotation time is 86400, the log file will be rotated every night at midnight\&. (If no data is logged during an interval, no file will be created\&.)
.el .ne 3
.IP "\\$1" \\$2
..
-.TH "SUEXEC" 8 "2018-07-06" "Apache HTTP Server" "suexec"
+.TH "SUEXEC" 8 "2026-04-26" "Apache HTTP Server" "suexec"
.SH NAME
suexec \- Switch user before executing external programs
.SH "SUMMARY"
.PP
-\fBsuexec\fR is used by the Apache HTTP Server to switch to another user before executing CGI programs\&. In order to achieve this, it must run as \fBroot\fR\&. Since the HTTP daemon normally doesn't run as \fBroot\fR, the \fBsuexec\fR executable needs the setuid bit set and must be owned by \fBroot\fR\&. It should never be writable for any other person than \fBroot\fR\&.
+suexec is used by the Apache HTTP Server to switch to another user before executing CGI programs\&. In order to achieve this, it must run as \fBroot\fR\&. Since the HTTP daemon normally doesn't run as \fBroot\fR, the suexec executable needs the setuid bit set and must be owned by \fBroot\fR\&. It should never be writable for any other person than \fBroot\fR\&.
.PP
For further information about the concepts and the security model of suexec please refer to the suexec documentation (http://httpd\&.apache\&.org/docs/2\&.4/suexec\&.html)\&.
.TP
\fB-V\fR
-If you are \fBroot\fR, this option displays the compile options of \fBsuexec\fR\&. For security reasons all configuration options are changeable only at compile time\&.
+If you are \fBroot\fR, this option displays the compile options of suexec\&. For security reasons all configuration options are changeable only at compile time\&.
#define AP_SERVER_MAJORVERSION_NUMBER 2
#define AP_SERVER_MINORVERSION_NUMBER 4
#define AP_SERVER_PATCHLEVEL_NUMBER 67
-#define AP_SERVER_DEVBUILD_BOOLEAN 1
+#define AP_SERVER_DEVBUILD_BOOLEAN 0
/* Synchronize the above with docs/manual/style/version.ent */