8.10.1. Apache
8.10.1.1. Características generales
Si se publica un modo de archivo de la base de información en el servidor web Apache 2.2 (que se ejecuta bajo el sistema operativo Windows), se recomienda complementar el archivo de configuración del servidor web Apache (httpd.conf) con el siguiente fragmento:
<IfModule mpm_winnt_module> ThreadStackSize 8388608 </IfModule>
Si durante la operación de la base de información surgen problemas asociados con el agotamiento de la pila en el lado del servidor web, se recomienda aumentar el valor del parámetro ThreadStackSize. Descripción detallada del parámetro ThreadStackSize: https://httpd.apache.org/docs/2.2/mod/mpm_common.html#ThreadStackSize (en inglés).
Cuando se utiliza el servidor web Apache de la versión 2.2 y superiores, bajo el sistema operativo Linux, se recomienda utilizar el módulo de multiprocesamiento worker. Descripción detallada de este módulo: https://httpd.apache.org/docs/2.2/mod/worker.html (en inglés) o https://httpd.apache.org/docs/2.4/mod/worker.html (en inglés). Si la publicación sirve el modo de archivo de la base de información, no se recomienda permitir que el servidor web cree varios procesos de trabajo que sirven una publicación. Si se utilizan trabajos en segundo plano en el modo de archivo de la base de información, para el correcto funcionamiento de este mecanismo, la cantidad de procesos de trabajo en el grupo utilizado debe ser igual a 1. Para controlar la cantidad de procesos de trabajo, se debe establecer el parámetro ServerLimit 1 en la sección de ajustes del módulo worker (sección <IfModule worker.c> </IfModule>) del archivo de configuración del servidor web. Si el módulo de multiprocesamiento difiere del recomendado, el ajuste para la cantidad de procesos de trabajo debe encontrarse en la documentación del módulo que se está utilizando.
8.10.1.2. Algoritmo de búsqueda de un servidor web instalado
8.10.1.2.1. Apache de la versión 2.0
Para el sistema operativo Windows
- Detección del servicio:
- Se intenta leer el valor de un parámetro de registro de sistema HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Apache2\ImagePath.
- En el valor resultante, el fragmento Apache2.exe se reemplaza con conf\httpd.conf.
- Si hay un archivo en la ruta recibida, se considera detectado el servidor web Apache de la versión 2.0.
- Detección del catálogo de instalación en el registro:
- Se intenta acceder a una sección del registro del sistema HKEY_LOCAL_MACHINE\Software\Apache Software Foundation\Apache\2.0.
- Si el intento falla, se intenta acceder a la sección del registro del sistema HKEY_CURRENT_USER\Software\Apache Software Foundation\Apache\2.0.
- En la sección abierta se lee el valor del parámetro ServerRoot.
- Al valor del parámetro se añade la línea conf\httpd.conf.
- Si hay un archivo en la ruta recibida, se considera detectado el servidor web Apache de la versión 2.0.
- Detección por directorio de instalación predeterminado:
- Se busca un archivo de configuración (httpd.conf) en el directorio de instalación predeterminado: C:\Program Files\Apache Software Foundation\Apache2\conf.
- Si se encuentra el archivo, se considera detectado el servidor web Apache de la versión 2.0.
Para el sistema operativo Linux
El archivo de configuración (httpd.conf) se busca en el siguiente directorio: /etc/httpd/conf/.
8.10.1.2.2. Apache de la versión 2.2
Para el sistema operativo Windows
- Detección del servicio:
- Se intenta leer el valor de un parámetro de registro del sistema HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Apache2.2\ImagePath.
- En el valor resultante, el fragmento Apache2.exe se reemplaza con conf\httpd.conf.
- Si hay un archivo en la ruta recibida, se considera detectado el servidor web Apache de la versión 2.2.
- Detección del catálogo de instalación en el registro:
- Se intenta acceder a una sección del registro del sistema HKEY_LOCAL_MACHINE\Software\Apache Software Foundation\Apache\2.2.
- Si el intento falla, se intenta acceder a la sección del registro del sistema HKEY_CURRENT_USER\Software\Apache Software Foundation\Apache\2.2.
- En la sección abierta se lee el valor del parámetro ServerRoot.
- Al valor del parámetro se añade la línea conf\httpd.conf.
- Si hay un archivo en la ruta recibida, se considera detectado el servidor web Apache de la versión 2.2.
- Detección por directorio de instalación predeterminado:
- Se busca un archivo de configuración (httpd.conf) en el directorio de instalación predeterminado: C:\Program Files\Apache Software Foundation\Apache2.2\conf.
- Si se encuentra el archivo, se considera detectado el servidor web Apache de la versión 2.2.
Para el sistema operativo Linux
El archivo de configuración (apache2.conf) se busca en el siguiente directorio: /etc/apache2/.
8.10.1.2.3. Apache de la versión 2.4
Para el sistema operativo Windows
- Detección del servicio:
- Se intenta leer el valor de un parámetro de registro del sistema HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Apache2.4\ImagePath.
- En el valor resultante, el fragmento Apache2.exe se reemplaza con conf\httpd.conf.
- Si hay un archivo en la ruta recibida, se considera detectado el servidor web Apache de la versión 2.4.
- Detección del catálogo de instalación en el registro:
- Se intenta acceder a una sección del registro del sistema HKEY_LOCAL_MACHINE\Software\Apache Software Foundation\Apache\2.4.
- Si el intento falla, se intenta acceder a la sección del registro del sistema HKEY_CURRENT_USER\Software\Apache Software Foundation\Apache\2.4.
- En la sección abierta se lee el valor del parámetro ServerRoot.
- Al valor del parámetro se añade la línea conf\httpd.conf.
- Si hay un archivo en la ruta recibida, se considera detectado el servidor web Apache de la versión 2.4.
- Detección por directorio de instalación predeterminado:
- Se busca un archivo de configuración (httpd.conf) en el directorio de instalación predeterminado: C:\Program Files\Apache Software Foundation\Apache2.4\conf.
- Si se encuentra el archivo, se considera detectado el servidor web Apache de la versión 2.4.
Para el sistema operativo Linux
El archivo de configuración (apache2.conf) se busca en el siguiente directorio: /etc/apache2/.
8.10.1.3. Integración de un cliente web
En caso de que necesite organizar la integración del cliente web en cualquier sitio, se recomienda establecer el titulo de respuesta de X-Frame-Options en la sección de publicación requerida del archivo de configuración del servidor web (httpd.conf) de la siguiente manera:
- Si el sitio externo y el cliente web se publican en el mismo servidor web, se deben añadir las siguientes líneas al archivo de configuración:
LoadModule headers_module modules/mod_headers.so Header set X-Frame-Options "sameorigin"
- Si el sitio externo y el cliente web se publican en diferentes servidores web, se deben agregar las siguientes líneas al archivo de configuración:
LoadModule headers_module modules/mod_headers.so Header set X-Frame-Options "allow-from %ВебСайт%"
En esta expresión %ВебСайт% significa la URL (protocolo, dominio y puerto) del sitio externo donde se supone que debe usarse el cliente web integrado.
- Si el cliente web no debe poder integrarse en un sitio web externo, se deben agregar las siguientes líneas al archivo de configuración:
LoadModule headers_module modules/mod_headers.so Header set X-Frame-Options "deny"
Si no es necesario ajustar el título de respuesta, basta con asegurarse de que las siguientes líneas están ausentes en el archivo de configuración:
LoadModule headers_module modules/mod_headers.so Header set X-Frame-Options "deny"
Consulte también:
- Integración de un cliente web en un sitio web externo.