Cómo verificar qué módulos de Apache están habilitados/cargados en Linux

En esta guía, hablaremos brevemente sobre el front-end del servidor web Apache y cómo listar o verificar qué módulos de Apache están habilitados en su servidor.

Apache está construido sobre el principio de modularidad, de esta manera, permite a los administradores del servidor web agregar diferentes módulos para ampliar sus funcionalidades principales y mejorar el rendimiento de Apache también.

Lectura sugerida: 5 consejos para mejorar el rendimiento de su servidor web Apache

Algunos de los módulos comunes de Apache incluyen:

  1. mod_ssl – que ofrece HTTPS para Apache.
  2. mod_rewrite – que permite hacer coincidir patrones de URL con expresiones regulares y realizar una redirección transparente utilizando trucos .htaccess, o aplicar una respuesta de código de estado HTTP.
  3. mod_security – que le ofrece proteger Apache contra ataques de fuerza bruta o DDoS.
  4. mod_status – que te permite monitorizar la carga del servidor web Apache y las estadísticas de las páginas.

En Linux, el comando apachectl o apache2ctl se utiliza para controlar la interfaz del servidor HTTP Apache, es una interfaz frontal para Apache.

Puedes mostrar la información de uso de apache2ctl de la siguiente manera:

$ apache2ctl help
OR
$ apachectl help
apachectl help
Usage: /usr/sbin/httpd [-D name] [-d directory] [-f file]
                       [-C "directive"] [-c "directive"]
                       [-k start|restart|graceful|graceful-stop|stop]
                       [-v] [-V] [-h] [-l] [-L] [-t] [-S]
Options:
  -D name            : define a name for use in  directives
  -d directory       : specify an alternate initial ServerRoot
  -f file            : specify an alternate ServerConfigFile
  -C "directive"     : process directive before reading config files
  -c "directive"     : process directive after reading config files
  -e level           : show startup errors of level (see LogLevel)
  -E file            : log startup errors to file
  -v                 : show version number
  -V                 : show compile settings
  -h                 : list available command line options (this page)
  -l                 : list compiled in modules
  -L                 : list available configuration directives
  -t -D DUMP_VHOSTS  : show parsed settings (currently only vhost settings)
  -S                 : a synonym for -t -D DUMP_VHOSTS
  -t -D DUMP_MODULES : show all loaded modules 
  -M                 : a synonym for -t -D DUMP_MODULES
  -t                 : run syntax check for config files

apache2ctl puede funcionar en dos modos posibles, un modo de inicio Sys V y un modo de pase. En el modo de inicio Sys V, apache2ctl acepta comandos simples de una sola palabra en la siguiente forma:

$ apachectl command
OR
$ apache2ctl command

Por ejemplo, para iniciar Apache y comprobar su estado, ejecuta estos dos comandos con privilegios de usuario root utilizando el comando sudo, en caso de que seas un usuario normal:

$ sudo apache2ctl start
$ sudo apache2ctl status
Check Apache Status
tecmint@TecMint ~ $ sudo apache2ctl start
AH00558: apache2: Could not reliably determine the server's fully qualified domain name, using 127.0.1.1. Set the 'ServerName' directive globally to suppress this message
httpd (pid 1456) already running
tecmint@TecMint ~ $ sudo apache2ctl status
Apache Server Status for localhost (via 127.0.0.1)

Server Version: Apache/2.4.18 (Ubuntu)
Server MPM: prefork
Server Built: 2016-07-14T12:32:26

-------------------------------------------------------------------------------

Current Time: Tuesday, 15-Nov-2016 11:47:28 IST
Restart Time: Tuesday, 15-Nov-2016 10:21:46 IST
Parent Server Config. Generation: 2
Parent Server MPM Generation: 1
Server uptime: 1 hour 25 minutes 41 seconds
Server load: 0.97 0.94 0.77
Total accesses: 2 - Total Traffic: 3 kB
CPU Usage: u0 s0 cu0 cs0
.000389 requests/sec - 0 B/second - 1536 B/request
1 requests currently being processed, 4 idle workers

__W__...........................................................
................................................................
......................

Scoreboard Key:
"_" Waiting for Connection, "S" Starting up, "R" Reading Request,
"W" Sending Reply, "K" Keepalive (read), "D" DNS Lookup,
"C" Closing connection, "L" Logging, "G" Gracefully finishing,
"I" Idle cleanup of worker, "." Open slot with no current process

Y cuando se opera en el modo de pase, apache2ctl puede aceptar todos los argumentos de Apache en la siguiente sintaxis:

$ apachectl [apache-argument]
$ apache2ctl [apache-argument]

Todos los argumentos de Apache se pueden listar de la siguiente manera:

$ apache2 help    [On Debian based systems]
$ httpd help      [On RHEL based systems]

Comprobar módulos habilitados de Apache

Por lo tanto, para comprobar qué módulos están habilitados en tu servidor web Apache, ejecuta el comando aplicable a continuación para tu distribución, donde -t -D DUMP_MODULES es un argumento de Apache para mostrar todos los módulos habilitados/cargados:

---------------  On Debian based systems --------------- 
$ apache2ctl -t -D DUMP_MODULES   
OR 
$ apache2ctl -M
---------------  On RHEL based systems --------------- 
$ apachectl -t -D DUMP_MODULES   
OR 
$ httpd -M
$ apache2ctl -M
List Apache Enabled Loaded Modules
[root@tecmint httpd]# 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)
....

¡Eso es todo! En este sencillo tutorial, explicamos cómo usar las herramientas front-end de Apache para listar los módulos de Apache habilitados/cargados. Ten en cuenta que puedes ponerte en contacto usando el formulario de comentarios a continuación para enviarnos tus preguntas o comentarios sobre esta guía.

Source:
https://www.tecmint.com/check-apache-modules-enabled/