To view the complete configuration information of the Apache HTTP Server (httpd) in Linux, several methods are available:
1. View the Main Configuration File
The main configuration file for httpd is typically located at /etc/httpd/ (for Red Hat series distributions) or /etc/apache2/ (for Debian series distributions).
Red Hat series (e.g., CentOS, Fedora):
bashcat /etc/httpd/conf/httpd.conf
Debian series (e.g., Ubuntu):
bashcat /etc/apache2/apache2.conf
2. Check Included Configuration Files
Apache configuration is commonly distributed across multiple files, with the main configuration file using the Include directive to reference additional configuration files or directories. You can examine these Include directives to identify the relevant files for review.
Example command:
bashgrep Include /etc/httpd/conf/httpd.conf # or grep Include /etc/apache2/apache2.conf
Based on the output paths, use tools like cat, less, or vim to view the included configuration files.
3. Use the apachectl Tool
apachectl is a front-end script for managing httpd and can be used to retrieve the configuration of the running Apache server.
bashapachectl -S # or httpd -S
This command displays virtual host configurations and other critical details, helping you understand the current setup of the Apache server.
4. Find All Loaded Modules
Apache's functionality is largely determined by the modules it loads, so you can inspect their configuration details.
Command example:
bashhttpd -M # or apachectl -M
These commands list all loaded modules.
5. Integrity Check
After making configuration changes, verify the syntax correctness of the configuration files.
Command example:
bashhttpd -t # or apachectl configtest
This command performs a syntax check to ensure there are no errors.
Example
Suppose you want to view the configuration for the mod_rewrite module; first confirm if it is loaded:
bashhttpd -M | grep rewrite
If the module is loaded, inspect the main configuration file or files referenced by Include directives to locate rules related to mod_rewrite:
bashgrep -ir 'Rewrite' /etc/httpd/conf/ # or in Debian series distributions grep -ir 'Rewrite' /etc/apache2/
This will list all configuration lines containing rewrite rules, enabling you to better understand the current configuration state.