El módulo mod_include
en Apache permite utilizar SSI (Server Side Includes), una función que permite a un servidor web procesar y ejecutar comandos dentro de archivos HTML. Esto es útil para añadir contenidos dinámicos en páginas estáticas, como encabezados, pies de página, o datos que cambian frecuentemente sin tener que modificar cada archivo HTML manualmente.
mod_include
es un módulo de Apache que facilita el uso de Server Side Includes, permitiendo incluir en las páginas HTML otros archivos, mostrar variables de entorno y ejecutar comandos en el servidor. Este módulo interpreta las directivas <!--#include ... -->
, y genera contenido dinámico en respuesta a las solicitudes de los usuarios.
mod_include
suele venir instalado por defecto con Apache, pero es posible que sea necesario activarlo.
1. Verificar si mod_include está activado:
apachectl -M | grep include
Si include_module
no aparece, procede a habilitarlo.
2. Habilitar mod_include:
sudo a2enmod include
3. Reiniciar Apache para aplicar cambios:
sudo systemctl restart apache2
Para que mod_include
funcione correctamente, es necesario habilitar la opción Includes
en los directorios o archivos donde desees utilizar SSI. Normalmente, esto se configura en el archivo del sitio web (/etc/apache2/sites-available/000-default.conf
) o en el archivo .htaccess
.
Edita el archivo de configuración del sitio y añade Options +Includes
en el bloque del directorio correspondiente:
<Directory "/var/www/html">
AllowOverride None
Options +Includes
AddType text/html .shtml
AddOutputFilter INCLUDES .shtml
</Directory>
En este ejemplo:
Options +Includes
permite el uso de SSI en el directorio especificado.
AddType text/html .shtml
configura Apache para interpretar archivos .shtml
como HTML.
AddOutputFilter INCLUDES .shtml
activa el procesamiento de SSI en archivos con la extensión .shtml
.
Si prefieres activar SSI en archivos .html
, cambia .shtml
por .html
en las líneas AddType
y AddOutputFilter
.
A continuación, algunos ejemplos comunes de comandos SSI que se pueden incluir en archivos .shtml
o .html
.
1. Incluir otro archivo:
<!--#include file="header.html" -->
Incluye el contenido del archivo header.html
en la ubicación del SSI.
2. Mostrar la fecha actual:
<!--#echo var="DATE_LOCAL" -->
Muestra la fecha y hora local del servidor.
3. Ejecutar un comando:
<!--#exec cmd="ls -l" -->
Ejecuta un comando en el servidor (en este caso, ls -l
). Esta función debe usarse con precaución por razones de seguridad.
Para más detalles sobre la configuración y directivas de mod_include, consulta la documentación oficial de Apache sobre mod_include.
Jorge García
Fullstack developer