Volver a la página principal
miércoles 13 noviembre 2024
10

Cómo habilitar y configurar mod_include en Apache para utilizar SSI

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.

¿Qué es mod_include?

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.

Instalación y activación de mod_include en Apache

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

Configuración de mod_include

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.

Ejemplo de configuración en un archivo de sitio

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.

Habilitar SSI en archivos HTML

Si prefieres activar SSI en archivos .html, cambia .shtml por .html en las líneas AddType y AddOutputFilter.

Ejemplos de uso de Server Side Includes

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.

Referencias adicionales

Para más detalles sobre la configuración y directivas de mod_include, consulta la documentación oficial de Apache sobre mod_include.

Etiquetas:
bash apache
Compartir:
Creado por:
Author photo

Jorge García

Fullstack developer