Actualizar de Apache 2.2 a Apache 2.4

Categorias: Apache

La versión 2.4 de Apache aparte de corregir bugs y vulnerabilidades de seguridad, tiene nuevas funcionalidades, mejoras en módulos y nuevos módulos. Además la versión previa 2.2 tiene previsto terminar su ciclo de vida en 2017. Esto quiere decir que no habrá nunca más correcciones de seguridad o problemas conocidos (o nuevos) en la versión 2.2. De hecho la última actualización oficial publicada es de Julio de 2015, versión 2.2.31.

Dado que existen algunas diferencias en directivas, módulos y configuraciones y a fin de que el proceso de migración sea transparente para nuestros clientes, en Hostinet hemos analizado los .htaccess para buscar las lineas que necesiten ser modificadas. En caso de que detectemos alguna, el día de la migración realizaremos la corrección sobre los .htaccess. El cambio será llevará a cabo a través de un proceso automático y antes de llevarlo a cabo, se realizará una copia de seguridad del fichero existente.

apache

Los cambios más relevantes son los siguientes:

1. MaxRequestsPerChild ha sido renombrado a MaxConnectionsPerChild aunque todavía se acepta MaxRequestsPerChild.

2. MaxClients ha sido renombrado a MaxRequestWorkers. Para MPM asíncronos, como event, el número máximo de clientes no es equivalente al número de sub-procesos de trabajo. El antiguo nombre aún se admite.

3.La directiva DefaultType ya no tiene ningún efecto, más que para emitir una advertencia si se usa con cualquier valor que no sea ninguno. Es necesario utilizar otras opciones de configuración para reemplazarlo en 2.4.

4. AllowOverride tiene como valor predeterminado None.

5. EnableSendfile tiene como valor predeterminado OFF.

6. FileETag tiene como valor predeterminado "Tamaño MTime" (sin INode).

7. KeepAlive sólo acepta valores de On o Off.

8. Las directivas AcceptMutex, LockFile, RewriteLock, SSLMutex, SSLStaplingMutex, y WatchdogMutexPath han sido sustituidas por una única directiva Mutex.

9. mod_filter: la sintaxis FilterProvider ha cambiado y ahora utiliza una expresión booleana para determinar si se aplica un filtro.

10. mod_include: El elemento # if expr ahora utiliza el nuevo analizador de expresiones. La sintaxis anterior puede usarse de nuevo con la nueva directiva SSILegacyExprParser.

11. mod_ssl: La comprobación de revocación basada en CRL ahora necesita ser configurada de forma explícita a través SSLCARevocationCheck.

12. mod_autoindex: ahora extrae los títulos y descripciones de visualización para archivos .xhtml, que antes eran ignorados.

13.mod_ssl: El formato por defecto de las variables * _DN ha cambiado. El formato antiguo todavía se puede utilizar con el nuevo argumento LegacyDNStringFormat a SSLOptions. El protocolo SSLv2 ya no es compatible. SSLProxyCheckPeerCN y SSLProxyCheckPeerExpire ahora por defecto esté ON, generando fallos con estado 502 (Bad Gateway) para solicitudes a través de proxy a hosts HTTPS con certificados incorrectos o no actualizados.

14. htpasswd ahora utiliza hash MD5 de forma predeterminada en todas las plataformas.

15. La directiva NameVirtualHost ya no tiene ningún efecto, aparte de emitir una advertencia. Cualquier combinación de dirección / puerto que aparece en varios virtual host se tratarán implícitamente como un virtual host basado en nombre.

16. mod_deflate ahora se saltará la compresión si se sabe que el tamaño resultante de la compresión es mayor que la del los datos a comprimir.

17. Los documentos de error Multi-idioma de 2.2.x no son compatibles a menos que se ajusten a la nueva sintaxis de mod_include # if expr =
elemento o la directiva SSILegacyExprParser está habilitada para el directorio que contiene los documentos de error.

18. La funcionalidad proporcionada por mod_authn_alias en versiones anteriores (es decir, la directiva AuthnProviderAlias) se ha movido a mod_authn_core.

19. Las directivas RewriteLog y RewriteLogLevel se han eliminado. Esta funcionalidad se proporciona ahora configurando el nivel adecuado de
logging para el módulo mod_rewrite usando la directiva LogLevel.