LINUX

Consejos para la migración de Apache de 2.2 a 2.4 en Ubuntu

Si realiza una actualización de distribución desde Ubuntu 12.04 a 14.04, la actualización traerá, entre otras cosas, una actualización importante para apache, desde la versión 2.2 hasta versión 2.4. La actualización trae muchas mejoras, pero puede causar algunos errores cuando se usa con el archivo de configuración anterior de 2.2.

Control de acceso en servidores virtuales Apache 2.4

Empezando con Apache 2.4 la autorización se aplica de una manera que es mucho más flexible que una sola verificación contra un solo almacén de datos como en 2.2. En el pasado, era complicado averiguar cómo y en qué orden se aplica la autorización, pero con la introducción de directivas de contenedor de autorización como y, la configuración también tiene control sobre cuándo se llaman los métodos de autorización y qué criterios determinan cuándo se otorga el acceso.

Este es el punto donde la mayoría de las actualizaciones fallan debido a una configuración incorrecta porque en 2.2 el control de acceso basado en la dirección IP, nombre de host u otra característica se realizó usando las directivas Order, Allow, Deny o Satisfy, pero en 2.4 esto se hace con verificaciones de autorización usando nuevos módulos.

Para ser claros, veamos algunos ejemplos de hosts virtuales, esto se puede encontrar en su / etc / apache2 / sites-enabled / default o / etc / apache2 / sites-enabled / YOUR_WEBSITE_NAME:

Configuración de host virtual 2.2 antigua:

Order allow,deny
Allow from all

Nueva configuración de host virtual 2.4:

Require all granted

configuración de apache 2.4

Problemas de .htaccess

Si después de la actualización algunas configuraciones no funcionan o recibe errores de redireccionamiento, verifique si esas configuraciones están en un archivo .htaccess. Si Apache no usa las configuraciones en el archivo .htaccess es porque en 2.4 la directiva AllowOverride está configurada en Ninguno por defecto, ignorando así los archivos .htaccess. Todo lo que tiene que hacer es cambiar o agregar la directiva AllowOverride All al archivo de configuración de su sitio.

También verá la directiva AllowOverride All establecida en la captura de pantalla anterior.

Falta el archivo o módulo de configuración

Según mi experiencia, otro problema durante las actualizaciones es que su archivo de configuración incluye un módulo antiguo o un archivo de configuración que ya no es necesario o compatible con 2.4, recibirá una advertencia clara de que Apache no puede incluir el archivo respectivo y todo lo que tiene que hacer es ir a su archivo de configuración y eliminar la línea que causa el problema. Luego puede buscar o instalar un módulo similar.

Otros pequeños cambios que ya conoces

Hay algunos otros cambios que debe considerar, aunque generalmente dan como resultado una advertencia y no un error:

  • MaxClients ha cambiado de nombre a MaxRequestWorkers, que describe con mayor precisión lo que hace. Para MPM asíncronos, como evento, el número máximo de clientes no es equivalente al número de subprocesos de trabajo. El nombre antiguo todavía se admite.
  • La directiva DefaultType ya no tiene ningún efecto, aparte de emitir una advertencia si se usa con cualquier valor que no sea ninguno. Necesita usar otros ajustes de configuración para reemplazarlo en 2.4.
  • EnableSendfile ahora está predeterminado en Off.
  • FileETag ahora tiene como valor predeterminado «MTime Size» (sin INode).
  • KeepAlive solo acepta valores de Activado o Desactivado. Anteriormente, cualquier valor que no fuera «Desactivado» o «0» se trataba como «Activado».
  • Las directivas AcceptMutex, LockFile, RewriteLock, SSLMutex, SSLStaplingMutex y WatchdogMutexPath se han reemplazado por una única directiva Mutex. Deberá evaluar cualquier uso de estas directivas eliminadas en su configuración 2.2 para determinar si pueden simplemente eliminarse o deberán reemplazarse usando Mutex.

Publicaciones relacionadas

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Botón volver arriba
Cerrar