How to see which modules are active in Apache

Updated on 2026-10-27 11:01:47 65 visits

In this manual, you will learn how to identify which modules are active on your Apache HTTP Server using the terminal. It is a quick and fundamental process for administration, debugging, and advanced configuration tasks.

Prerequisites

Before starting, make sure of the following:

  • Have terminal access to your server.
  • Have administrator permissions (root user or with sudo).
  • Have Apache installed on the system.

💡 If you do not yet have a Linux server ready to use, you can easily deploy one with providers such as SW Hosting in a matter of minutes.

1. View active modules on Debian/Ubuntu systems

In Debian-based distributions, you can list the currently loaded modules with the following command:

apache2ctl -M

What does this command do?

  • apache2ctl: Apache control tool.
  • -M: shows all modules loaded in memory.

This list includes static and dynamic modules active at that moment.

2. View active modules on Red Hat / CentOS systems

In Red Hat-based systems, the equivalent command is:

httpd -M

Details

  • httpd: the main binary of the Apache server in these distributions.
  • -M: lists the currently loaded modules.

3. View all available modules (Debian/Ubuntu)

If you need to see all installed modules (active or not), you can check the corresponding directory:

ls /etc/apache2/mods-available

Useful information

  • This directory contains all the modules you can enable or disable.
  • Active modules are usually linked in /etc/apache2/mods-enabled.

4. View all available modules (Red Hat / CentOS)

In Red Hat distributions, you can check the available modules with:

ls /etc/httpd/mods-available

⚠️ Note: In some versions of Red Hat, modules can be found in paths such as /etc/httpd/conf.modules.d/.

Final recommendations

  • Use grep to filter specific modules:

    apache2ctl -M | grep rewrite
    
  • Always verify changes by restarting the service:

    systemctl restart apache2   # Debian/Ubuntu
    systemctl restart httpd     # Red Hat/CentOS