HTTPD.CONF(5) httpd.conf HTTPD.CONF(5)
NAME
httpd.conf - Configuration files for httpd
SYNOPSIS
/etc/httpd/conf/httpd.conf, /etc/httpd/conf.modules.d,
/etc/httpd/conf.d
DESCRIPTION
The main configuration file for the httpd daemon is
/etc/httpd/conf/httpd.conf. The syntax of this file is described at
https://httpd.apache.org/docs/2.4/configuring.html, and the full set of
available directives is listed at
https://httpd.apache.org/docs/2.4/mod/directives.html.
Configuration structure
The main configuration file (httpd.conf) sets up various defaults and
includes configuration files from two directories -
/etc/httpd/conf.modules.d and /etc/httpd/conf.d. Packages containing
loadable modules (like mod_ssl.so) place files in the conf.modules.d
directory with the appropriate LoadModule directive so that module is
loaded by default.
Some notable configured defaults are:.
DocumentRoot /var/www/html
The default document root from which content is served.
Listen 80
The daemon lists on TCP port 80.
ErrorLog "logs/error_log"
Error messages are logged to /var/log/httpd/error_log.
ScriptAlias /cgi-bin/ "/var/www/cgi-bin/"
CGI scripts are served via the URL-path /cgi-bin/.
To remove any of the default configuration provided in separate files
covered below, replace that file with an empty file rather than
removing it from the filesystem, otherwise it may be restored to the
original when the package which provides it is upgraded.
MPM configuration
The configuration file at /etc/httpd/conf.modules.d/00-mpm.conf is used
to select the multi-processing module (MPM), which governs how httpd
divides work between processes and/or threads at run-time. Exactly one
LoadModule directive must be uncommented in this file; by default the
event MPM is enabled. For more information on MPMs, see
https://httpd.apache.org/docs/2.4/mpm.html.
If using the prefork MPM, the "httpd_graceful_shutdown" SELinux boolean
should also be enabled, since with this MPM, httpd needs to establish
TCP connections to local ports to successfully complete a graceful
restart or shutdown. This boolean can be enabled by running the
command: semanage boolean -m --on httpd_graceful_shutdown
Module configuration files
Module configuration files are provided in the
/etc/httpd/conf.modules.d/ directory. Filenames in this directory are
by convention prefixed with two digit numeric prefix to ensure they are
processed in the desired order. Core modules provide with the httpd
package are loaded by files with a 0x- prefix to ensure these are
loaded first. Only filenames with a .conf suffix in this directory will
be processed.
Other provided configuration files are listed below.
/etc/httpd/conf.modules.d/00-base.conf
The set of core modules included with httpd which are all loaded by
default.
/etc/httpd/conf.modules.d/00-optional.conf
The set of non-core modules included with httpd which are not
loaded by default.
/etc/httpd/conf.modules.d/00-systemd.conf
This file loads mod_systemd which is necessary for the correct
operation of the httpd.service service, and should not be removed
or disabled.
Other configuration files
Default module configuration files and site-specific configuration
files are loaded from the /etc/httpd/conf.d/ directory. Only files with
a .conf suffix will be loaded. The following files are provided:
/etc/httpd/conf.d/userdir.conf
This file gives an example configuration for mod_userdir to map
URLs such as http://localhost/~jim/ to /home/jim/public_html/.
Userdir mapping is disabled by default.
/etc/httpd/conf.d/autoindex.conf
This file provides the default configuration for mod_autoindex
which generates HTML directory listings when enabled. It also makes
file icon image files available at the /icons/ URL-path.
/etc/httpd/conf.d/welcome.conf
This file enables a "welcome page" at http://localhost/ if no
content is present in the default documentation root /var/www/html.
/etc/httpd/conf.d/ssl.conf (present only if mod_ssl is installed)
This file configures a TLS VirtualHost listening on port 443. If
the default configuration is used, the referenced test certificate
and private key are generated the first time httpd.service is
started; see httpd-init.service(8) for more information.
Instantiated services
As an alternative to (or in addition to) the httpd.service unit, the
instantiated template service httpd@.service unit file can be used,
which starts httpd using a different configuration file to the default.
For example, systemctl start httpd AT foobar.service will start httpd
using the configuration file /etc/httpd/conf/foobar.conf. See
httpd@.service(8) for more information.
FILES
/etc/httpd/conf/httpd.conf, /etc/httpd/conf.d,
/etc/httpd/conf.modules.d
SEE ALSO
httpd(8), httpd.service(8),
https://httpd.apache.org/docs/2.4/configuring.html,
https://httpd.apache.org/docs/2.4/mod/directives.html
AUTHOR
Joe Orton <jorton AT redhat.com>
Author
httpd 08/12/2024 HTTPD.CONF(5)