HTTPD(8)
๐
HTTPD(8) โ the httpd page, aka Apache Hypertext Transfer Protocol Server ๐
okay so bestie, you've found the manual for httpd, the whole entire Apache HyperText Transfer Protocol (HTTP) server program. she's the main character of your web stack, and this page is her group chat bio. let's get into it ๐ซถ
โจ NAME โจ
httpd โ Apache Hypertext Transfer Protocol Server. that's her. that's the name. iconic, no notes ๐
๐ฆ SYNOPSIS ๐ฆ
here's the whole vibe in one code block, copy it exactly, don't touch the formatting pls:
httpd [ -d serverroot ] [ -f config ] [ -C directive ] [ -c directive ]
[ -D parameter ] [ -e level ] [ -E file ] [ -k
start|restart|graceful|stop|graceful-stop ] [ -h ] [ -l ] [ -L ] [ -S ]
[ -t ] [ -v ] [ -V ] [ -X ] [ -M ] [ -T ]
and if you're on Windows systems, there are extra arguments available:
httpd [ -k install|config|uninstall ] [ -n name ] [ -w ]
๐ธ SUMMARY ๐ธ
so httpd is the Apache HyperText Transfer Protocol (HTTP) server program. she's designed to be run as a standalone daemon process โ very independent, very "i don't need anyone" energy. when used like this, she will create a pool of child processes or threads to handle requests. a whole little crew. a squad, if you will ๐
but here's the thing, bestie โ in general, httpd should not be invoked directly. like, don't just walk up and start her yourself. instead she 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. iykyk โจ
๐ OPTIONS ๐
the full menu, nothing skipped, every single flag accounted for ๐
-d serverrootโ sets the initial value for theServerRootdirective to serverroot. this can be overridden by theServerRootdirective in the configuration file. the default is/usr/local/apache2.-f configโ uses the directives in the file config on startup. if config does not begin with a/, then it is taken to be a path relative to theServerRoot. the default isconf/httpd.conf.-k start|restart|graceful|stop|graceful-stopโ signalshttpdto start, restart, or stop. see Stopping Apache httpd for more information.-C directiveโ process the configuration directive before reading config files.-c directiveโ process the configuration directive after reading config files. yes, order matters, they're literally twins with opposite timing ๐ญ-D parameterโ sets a configuration parameter which can be used with<IfDefine>sections in the configuration files to conditionally skip or process commands at server startup and restart. also can be used to set certain less-common startup parameters including-DNO_DETACH(prevent the parent from forking) and-DFOREGROUND(prevent the parent from callingsetsid()et al).-e levelโ sets theLogLevelto level during server startup. this is useful for temporarily increasing the verbosity of the error messages to find problems during startup. detective mode, activated ๐-E fileโ send error messages during server startup to file.-hโ output a short summary of available command line options.-lโ output a list of modules compiled into the server. this will not list dynamically loaded modules included using theLoadModuledirective.-Lโ output a list of directives provided by static modules, together with expected arguments and places where the directive is valid. directives provided by shared modules are not listed.-Mโ dump a list of loaded Static and Shared Modules.-Sโ show the settings as parsed from the config file (currently only shows the virtualhost settings).-T(Available in 2.3.8 and later) โ skip document root check at startup/restart.-tโ run syntax tests for configuration files only. the program immediately exits after these syntax parsing tests with either a return code of0(Syntax OK) or return code not equal to0(Syntax Error). if-D DUMP_VHOSTSis also set, details of the virtual host configuration will be printed. if-D DUMP_MODULESis set, all loaded modules will be printed. basically a vibe check for your config โจ-vโ print the version ofhttpd, and then exit.-Vโ print the version and build parameters ofhttpd, and then exit. the extra lore edition ๐-Xโ runhttpdin debug mode. only one worker will be started and the server will not detach from the console.
๐ง FILES ๐ง
heads up bestie โ the default paths listed below may be changed at compile time or with various command-line and configuration directives. consult your local installation for the actual locations. don't come for me if your paths are different, i'm just the messenger ๐
/usr/local/apache2/conf/httpd.confโ main server configuration file./usr/local/apache2/conf/mime.typesโ default MIME type mappings./usr/local/apache2/logs/error_logโ error log file./usr/local/apache2/logs/access_logโ access log file./usr/local/apache2/logs/httpd.pidโ file containing the process ID of the running daemon.
๐ the Windows-only era ๐
the following arguments are available only on the Windows platform (and yes they're listed under FILES in here, that's just how the page is, don't @ me):
-k install|config|uninstallโ install Apachehttpdas a Windows NT service; change startup options for the Apachehttpdservice; and uninstall the Apachehttpdservice.-n nameโ the name of the Apachehttpdservice to signal.-wโ keep the console window open on error so that the error message can be read. so thoughtful ๐ฅบ
ngl, if you take one thing from this page: don't invokehttpddirectly, useapachectl(Unix) or the service/console route (Windows). she's a daemon, she's booked and busy, she has a whole pool of children to manage ๐ญ
and that's the whole page, bestie โ this was Apache HTTP Server, dated 2026-05-08, page HTTPD(8). you ate that. periodt ๐
๐๐
๐ฆ where this page comes from
- alpine 3.22: apache2-doc 2.4.69-r0 ยท Apache-2.0
- alpine 3.23: apache2-doc 2.4.69-r0 ยท Apache-2.0
- alpine 3.24: apache2-doc 2.4.69-r0 ยท Apache-2.0
- arch rolling: apache 2.4.69-1 ยท Apache-2.0
- nixpkgs unstable: apache-httpd 2.4.69
- ๐ girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms