What it does
On RHEL, Apache runs as httpd.service; use systemctl to start, stop and reload it. apachectl configtest (= httpd -t) checks the syntax before you reload. httpd -S shows the virtual hosts as Apache understands them; httpd -M lists the loaded modules.
How to write it
apachectl configtest | graceful | graceful-stop | start | stop | restart | fullstatus | status
httpd [-t] [-S] [-M] [-V] [-v] [-D NAME] [-f FILE] [-C DIRECTIVE]Main parts
configtest- Check the configuration syntax (same as httpd -t).
graceful- Reload without dropping open connections (on RHEL: systemctl reload httpd).
start,stop,restart- On RHEL these call systemctl.
status,fullstatus- Status (fullstatus needs mod_status).
Options 16
Most used
Nothing matches this filter.
Examples 10
$ run as a normal user# run as root (or with sudo)
1Test the config
apachectl configtest Syntax OKAlways before a reload.
2Reload after a change
apachectl configtest && systemctl reload httpdOnly reloads when the syntax is OK.
3Show the virtual hosts
httpd -S VirtualHost configuration: *:80 is a NameVirtualHost default server www1.example.com (/etc/httpd/conf.d/sites.conf:5)Which vhost is the default and where it is defined.
4List modules
httpd -M | grep -E 'ssl|rewrite|headers'Is mod_ssl loaded?
5Version
httpd -vServer version and build date.
6Where are the config files?
httpd -t -D DUMP_INCLUDESAll included files in order.
7Status and logs
Errors at start or for requests.
8A 403 Forbidden? Check SELinux
Wrong labels are the most common reason.
9Hide version information (hardening)
printf 'ServerTokens Prod\nServerSignature Off\n' > /etc/httpd/conf.d/security.conf apachectl configtest && systemctl reload httpdHeaders show only "Apache".
10HTTPS
Adds ssl.conf with a test certificate on port 443.
Nothing matches this filter.
Files
/etc/httpd/conf/httpd.conf- Main config.
/etc/httpd/conf.d/- Extra configs and vhosts.
/etc/httpd/conf.modules.d/- Module loading.
/var/log/httpd/- Logs.
/var/www/html/- Default content.
Exit codes
0 :: Done (syntax OK). 1 :: Error.