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 MPMs tienen
diferentes directivas para controlar el proceso de creación
y procesamiento de peticiones.<Proxy>
en lugar de en un bloque
<Directory proxy:>
.PATH_INFO
(la informacion de
path que aparece tras un nombre de fichero válido) ha
cambiado para algunos módulos. Módulos que fueron
previamente implementados como un handle pero ahora son
implementados como filtros puede que no acepten ahora peticiones
que incluyan PATH_INFO
. Filtros como INCLUDES o PHP están implementados
encima del handler principal (core handler) core handler, y por
tanto rechazan 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 habilidad de
usar PATH_INFO
en server-side includes.CacheNegotiatedDocs
toma
ahora como argumento on
u off
. Las
instacias existentes de CacheNegotiatedDocs
deben reemplazarse por
CacheNegotiatedDocs on
.ErrorDocument
no usa ya dobles
comillas al principio del argumento para indicar el mensaje de
texto que tiene que mostrarse. En lugar de esto, se debe poner
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 sustituirse por la
directiva Include
que tiene
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 asegurarse de 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 MPM 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 logs 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. Estan directivas se usaban para asegurarse de 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 estas 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
.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 hecerse 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.