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