Migrar su instalación de la versión 1.3 a la 2.0 - Servidor HTTP Apache

Versión 2.0 del Servidor HTTP Apache

Apache > Servidor HTTP > Documentación > Versión 2.0

# Migrar su instalación de la versión 1.3 a la 2.0

Idiomas disponibles: de | en | es | fr | ja | ko | ru

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`.

### Consulte también

- Visión general de las nuevas funcionalidades de Apache 2.0

## Cambios en el proceso de configuración y compilación

- Apache usa ahora `autoconf` y `libtool` en el proceso de compilación. Este sistema es parecido aunque no igual al sistema APACI de Apache 1.3.
- Además de la selección de módulos habitual que puede hacer al compilar, en Apache 2.0 la mayor parte del procesamiento de las petición es llevada a cabo por los Módulos de MultiProcesamiento (MPMs).

## Cambios en el proceso de la configuración inicial del servidor

- Muchas directivas que no pertenicían al conjunto básico en Apache 1.3 están ahora en los MPMs. Si desea que el nuevo servidor de comporte de la forma más parecida posible a Apache 1.3, debe seleccionar el Módulo de MultiProcesamiento `prefork`. Otros MPMs tienen diferentes directivas para controlar el proceso de creación y procesamiento de peticiones.
- El módulo proxy ha sido remodelado para ponerlo al día con la especificación HTTP/1.1. Entre los cambios más importantes está el que ahora el control de acceso al proxy está dentro de un bloque `<Proxy>` en lugar de en un bloque `<Directory proxy:>`.
- El procesamiento de`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.
- La directiva `CacheNegotiatedDocs` toma ahora como argumento `on` u `off`. Las instacias existentes de `CacheNegotiatedDocs` deben reemplazarse por `CacheNegotiatedDocs on`.
- La directiva `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`

  debe sustituirse por

  `ErrorDocument 403 "Mensaje"`

  Si el segundo argumento no es una URL o una ruta válida a un archivo, será tratado como un mensaje de texto.
- Las directivas `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`.
- Las directivas `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.
- Otro uso de la directiva `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.
- La 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.
- Los módulos `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`.
- las directivas `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.
- La directiva `FancyIndexing` se ha eliminado. La funcionalidad que cubría está ahora disponible a través de la opción `FancyIndexing` de la directiva `IndexOptions`.
- La técnica de negociación de contenido MultiViews ofrecida por `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`.

## Cambios de menor importancia

- El módulo `mod_auth_digest`, que era experimental en Apache 1.3, es ahora un módulo estándar.
- El módulo `mod_mmap_static`, que era experimental en Apache 1.3, ha sido sustituido por el módulo `mod_file_cache`.
- La distribución de Apache ha sido reorganizada por completo para que no contenga a partir de ahora el directorio independiente `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.

## Módulos de terceras partes

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.

Idiomas disponibles: de | en | es | fr | ja | ko | ru