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.