Apache Modules Explained

Posted on by Matt Aurand
Reading Time: 2 minutes

The Apache web server is one of the most popular and powerful web servers in the world, due in part to its ease of administration and flexibility. This flexibility comes Apache’s modular design. The modules allow for Apache to perform additional functions, such as natively rewriting URLs to support SSL encryption. This allows administrators to modify Apache to meet their needs; adding modules that are needed and removing ones that are not.

How it works

Apache modules are installed like any other piece of software. Fortunately Apache comes with a number of common modules and cPanel’s EasyApache script has the option to easily install more. By default, Liquid Web sets up Apache with most of the more common Apache modules such as mod_headers and mod_expires.

Before you install a module, you’ll want to see if the module you need is already installed. All you have to do is ssh into your server and run the following command:

httpd -M

The output of that command will give you a list of all of the Apache modules running on the server:

root@host [~]# httpd -M
Loaded Modules:
core_module (static)
authn_file_module (static)
authn_default_module (static)
authz_host_module (static)
authz_groupfile_module (static)
authz_user_module (static)
authz_default_module (static)
auth_basic_module (static)
include_module (static)
filter_module (static)
deflate_module (static)
log_config_module (static)
logio_module (static)
env_module (static)
expires_module (static)
headers_module (static)
unique_id_module (static)
setenvif_module (static)
version_module (static)
proxy_module (static)
proxy_connect_module (static)
proxy_ftp_module (static)
proxy_http_module (static)
proxy_scgi_module (static)
proxy_ajp_module (static)
proxy_balancer_module (static)
ssl_module (static)
mpm_worker_module (static)
http_module (static)
mime_module (static)
status_module (static)
autoindex_module (static)
asis_module (static)
info_module (static)
suexec_module (static)
cgid_module (static)
negotiation_module (static)
dir_module (static)
actions_module (static)
userdir_module (static)
alias_module (static)
rewrite_module (static)
so_module (static)
auth_passthrough_module (shared)
bwlimited_module (shared)
frontpage_module (shared)
suphp_module (shared)
security2_module (shared)

Please note that this will vary depending on what modules you have installed and will not look exactly like the above example. Also note that PHP-specific modules such as GD and pdo will not show up in this list, as they are not Apache modules.

If the module you want is not listed, it will need to be installed. This is as simple as running cPanel’s EasyApache script from either Web Host Manager (WHM) or the command line. EasyApache can be accessed in WHM via the Software section. From command line, running EasyApache requires only the following command.


If you are unsure whether you need to run EasyApache or if you are uncomfortable with doing this yourself, please contact Heroic Support® and we would be more than happy to take care of it for you.

Apache’s modular design allows for a great degree of flexibility, and the ability to only use resources on the features and functions you need. With the commands provided in this article, determining whether a module you need is installed should be much easier.

Avatar for Matt Aurand

About the Author: Matt Aurand

Latest Articles

Using a Cloudflare Argo Tunnel with load balancing

Read Article

Subdomain takeover — protect your website against it!

Read Article

Controlling PHP settings with a custom php.ini file

Read Article

Linux dos2unix command syntax — removing hidden Windows characters from files

Read Article

Change cPanel password from WebHost Manager (WHM)

Read Article