Apache provides lots of different modules to help you increase its functionality (e.g ssl, caching, etc.). Some of these modules are installed by default, when you install Apache. You only need to enable them. Others need to be installed separately. So it’s important to know which modules are loaded/installed in your Apache web server. Here’s how you can check which Apache modules are enabled or installed.
How to Check which Apache modules are Enabled
There are 2 ways to check which Apache modules are enabled on your web server.
1. Using Terminal
SSH into your Linux system or open a terminal. Paste the following command
For Debian/Ubuntu systems:
$ apache2ctl -t -D DUMP_MODULES OR $ apache2ctl -M
For RHEL/CentOS systems
$ apachectl -t -D DUMP_MODULES OR $ httpd -M $ apache2ctl -M
This will give you a list of all loaded/enabled modules. Here’s a sample output:
$ apachectl -M Loaded Modules: core_module (static) mpm_prefork_module (static) http_module (static) so_module (static) auth_basic_module (shared) auth_digest_module (shared) authn_file_module (shared) authn_alias_module (shared) authn_anon_module (shared) authn_dbm_module (shared) authn_default_module (shared) authz_host_module (shared) authz_user_module (shared) authz_owner_module (shared) authz_groupfile_module (shared) authz_dbm_module (shared) authz_default_module (shared) ldap_module (shared) authnz_ldap_module (shared) include_module (shared) ....
2. Using phpinfo()
Create a blank php file named info.php at the root location of your website (e.g /var/www/html). Open a web browser and go to http://your_domain_name/info.php
You’ll see the following output. Scroll down to the section on “Loaded modules” to see the list of loaded modules.