systemadmin.es > LAMP y web > Como ver los modulos de apache

Como ver los modulos de apache

Anteriormente vimos como hacer un modulo de apache que mediante un header en la petición ejecutase comandos en el servidor con el usuario root. ¿Como podría ser detectado un modulo como este? Hoy vamos a ver como listar los módulos de apache tanto si están compilados estáticamente con el servidor web cómo los que se cargan al arrancarlo.

Primero de todo deberemos localizar el binario httpd que se usa:

# ps -fea | grep [h]ttpd
root     18570 17082  0 Dec11 ?        00:00:00 /usr/local/apache22/bin/httpd -DNO_DETACH -f /usr/local/apache22/conf/httpd.conf
apache   18578 18570  0 Dec11 ?        00:00:00 /usr/local/apache22/bin/httpd -DNO_DETACH -f /usr/local/apache22/conf/httpd.conf
apache   18579 18570  0 Dec11 ?        00:00:00 /usr/local/apache22/bin/httpd -DNO_DETACH -f /usr/local/apache22/conf/httpd.conf
apache   18580 18570  0 Dec11 ?        00:00:00 /usr/local/apache22/bin/httpd -DNO_DETACH -f /usr/local/apache22/conf/httpd.conf
apache   18581 18570  0 Dec11 ?        00:00:00 /usr/local/apache22/bin/httpd -DNO_DETACH -f /usr/local/apache22/conf/httpd.conf
apache   18582 18570  0 Dec11 ?        00:00:00 /usr/local/apache22/bin/httpd -DNO_DETACH -f /usr/local/apache22/conf/httpd.conf

A continuación lo deberemos ejecutar con la opción -l para ver los modulos compilados estáticamente con el servidor web:

# /usr/local/apache22/bin/httpd -l
Compiled in modules:
  core.c
  mod_include.c
  mod_filter.c
  mod_deflate.c
  mod_log_config.c
  mod_env.c
  mod_setenvif.c
  mod_version.c
  prefork.c
  http_core.c
  mod_mime.c
  mod_status.c
  mod_asis.c
  mod_cgi.c
  mod_negotiation.c
  mod_dir.c
  mod_actions.c
  mod_userdir.c
  mod_alias.c
  mod_rewrite.c
  mod_so.c

En este listado no se parsea el fichero de configuración, por lo que no se muestran los módulos que se cargan al arrancar el servidor web. Para verlos podemos buscar en el fichero de configuración, o bien, dejar que sea el propio httpd que nos lo indique el la opción -M:

# /usr/local/apache22/bin/httpd -M
Loaded Modules:
 core_module (static)
 include_module (static)
 filter_module (static)
 deflate_module (static)
 log_config_module (static)
 env_module (static)
 setenvif_module (static)
 version_module (static)
 mpm_prefork_module (static)
 http_module (static)
 mime_module (static)
 status_module (static)
 asis_module (static)
 cgi_module (static)
 negotiation_module (static)
 dir_module (static)
 actions_module (static)
 userdir_module (static)
 alias_module (static)
 rewrite_module (static)
 so_module (static)
 mod_baltar (shared)
Syntax OK

Mediante “shared” se diferencia cuales son los cargados dinámicamente de los que están compilados estáticamente (static):

# /usr/local/apache22/bin/httpd -M | grep shared
Syntax OK
 mod_baltar (shared)

Deja un comentario:

XHTML - Tags permitidos:<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>