Versión 2.0 del Servidor HTTP Apache
Este documento recoge infomación crítica sobre el proceso de actulización de la versión de Apache que usa. Se trata de pequeños comentarios. Puede encontrar más información tanto en Nuevas funcionalidades, como en el archivo src/CHANGES
.
autoconf
y libtool
en el proceso de compilación. Este sistema es parecido aunque no igual al sistema APACI de Apache 1.3.prefork
. Otros módulos de multiprocesamiento tienen diferentes directivas para controlar la creación de procesos y el procesamiento de peticiones.<Proxy>
en lugar de en un bloque <Directory proxy:>
.PATH_INFO
(la información que aparece detrás de un nombre de fichero válido) ha cambiado en algunos módulos. Los módulos que fueron previamente implementados como un handler pero que ahora son implementados como un filtro puede que no acepten peticiones que incluyan PATH_INFO
. Filtros como INCLUDES o PHP están implementados sobre el handler principal (core handler), y por tanto rechazarán peticiones con PATH_INFO
. Puede usar la directiva AcceptPathInfo
para forzar al handler principal a aceptar peticiones con PATH_INFO
y por tanto restaurar la posibilidad de usar PATH_INFO
en server-side includes.CacheNegotiatedDocs
toma ahora como argumento on
u off
. Las instancias existentes de CacheNegotiatedDocs
deben reemplazarse por CacheNegotiatedDocs on
.ErrorDocument
no usa ya dobles comillas al principio del argumento para indicar el mensaje de texto a mostrar. En lugar de esto, ponga entre comillas todo el mensaje. Por ejemplo,
ErrorDocument 403 "Mensaje
ErrorDocument 403 "Mensaje"
AccessConfig
y ResourceConfig
han desaparecido. Las instancias existentes de estas directivas pueden ser sustituidas por directivas Include
que tienen una funcionalidad equivalente. Si hacía uso de los valores por defecto de esas directivas sin incluirlas en los ficheros de configuración, puede que necesite añadir Include conf/access.conf
e Include conf/srm.conf
a su fichero httpd.conf
. Para asegurar que Apache lee el fichero de configuración en el mismo orden que asumían las antiguas directivas, las directivas Include
deben ser reemplazadas al final del fichero httpd.conf
, con la de srm.conf
precediendo a la de access.conf
.BindAddress
y Port
no existen ya. Las funcionalidades que ofrecían esas directivas están ahora cubiertas por la directiva Listen
, que es mucho más flexible.Port
en Apache 1.3 era fijar el número de puerto que se usaba para URLs autoreferenciadas. La directiva equivalente en Apache 2.0 es la nueva directiva ServerName
: este cambio se ha introducido para permitir la especificación del nombre de host y del número de puerto para URLs autorreferenciadas en una sola directiva.ServerType
ha dejado de existir. El método usado para servir peticiones está ahora determinado por la selección del módulo de multiprocesamiento. Actualmente no hay diseñado un módulo de multiprocesamiento que pueda ser ejecutado por inetd.mod_log_agent
y mod_log_referer
que contenían las directivas AgentLog
, RefererLog
y RefererIgnore
han desaparecido. Los registros de "agente" y de "referer" están disponibles todavía usando la directiva CustomLog
del módulo mod_log_config
.AddModule
y ClearModuleList
no están presentes en la nueva versión de Apache. Estas directivas se usaban para asegurar que los módulos pudieran activarse en el orden correcto. La nueva API de Apache 2.0 permite a los módulos especificar explícitamente su orden de activación, eliminando la necesidad de las antiguas directivas.FancyIndexing
se ha eliminado. La funcionalidad que cubría está ahora disponible a través de la opción FancyIndexing
de la directiva IndexOptions
.mod_negotiation
es ahora más estricta en su algoritmo de selección de ficheros y solo seleccionará ficheros negociables. El antiguo comportamiento puede restaurarse usando la directiva MultiviewsMatch
.La funcionalidad de la directiva ErrorHeader
se ha unido con la de la directiva Header
, porque se estaba usando un término equivocado. Use
Header always set foo bar
en lugar de conseguir el comportamiento deseado.
mod_auth_digest
, que era experimental en Apache 1.3, es ahora un módulo estándar.mod_mmap_static
, que era experimental en Apache 1.3, ha sido sustituido por el módulo mod_file_cache
.src
. En su lugar, el código fuente se ha organizado a partir del directorio principal de la distribución, y las intalaciones del servidor compilado deben hacerse en un directorio diferente.La API de Apache 2.0 ha sufrido grandes cambios respecto a la versión 1.3. Los módulos que se diseñaron para la API de Apache 1.3 no funcionarán si no se hacen las modificaciones necasarias para adaptarlos a Apache 2.0. En la documentación para desarrolladores puede encontrar información detallada sobre este asunto.