Beginner Fundamentals
Working with Modules
Apache’s features come from modules. The core handles requests, while modules add things like rewriting, compression, and proxying.
Listing Modules
apache2ctl -M # list loaded modules
Enable and Disable (Debian)
Debian provides helper commands:
sudo a2enmod rewrite
sudo a2dismod status
sudo systemctl restart apache2
a2enmod creates a symlink in mods-enabled/; a2dismod removes it.
LoadModule
Under the hood, a module is activated by a LoadModule directive:
LoadModule rewrite_module modules/mod_rewrite.so
On Red Hat systems you edit these lines directly in the configuration.
Common Modules
mod_rewrite: rewrite and redirect URLs.mod_ssl: enable HTTPS.mod_deflate: compress responses.mod_proxy: act as a reverse proxy.mod_headers: add or modify HTTP headers.
Verify a Module Is Active
apache2ctl -M | grep rewrite
Only enable the modules you need. Fewer modules means a smaller attack surface and less memory use.