Atualizando da versão 1.3 para 2.0 - Servidor HTTP Apache

Servidor HTTP Apache Versão 2.2

Apache > Servidor HTTP > Documentação > Versão 2.2

# Atualizando da versão 1.3 para 2.0

Línguas Disponíveis: de | en | ja | ko | pt-br | ru

Esta tradução pode estar desatualizada. Verifique a versão em Inglês para mudanças recentes.

Com a finalidade de ajudar as pessoas na atualização do servidor, nós mantemos um documento que descreve informações críticas para os usuários já existentes do Apache. Essas informações tem o intuito de serem breves notas e você deverá encontrar mais informações no documento Novas Funcionalidades, ou no arquivo `src/CHANGES`.

### Veja também

- Descrição das novas funcionalidades do Apache 2.0

## Mudanças na Configuração em tempo de Compilação

- O Apache agora usa o sistema `autoconf` e `libtool` para configurar o processo de construção. A utilização desse sistema é similar, mas não o mesmo, a usar o sistema APACI do Apache 1.3
- Além da seleção habitual de módulos que você pode escolher para compilar, o Apache 2.0 mudou a parte principal de processamentos de pedidos para os Módulos Multi-Processamento (MPMs).

## Mudanças na Configuração em tempo de Execução

- Muitas diretrizes que estavam no núcleo do servidor no Apache 1.3 estão agora nos MPMs. Se você desejar que o funcionamento do servidor seja o mais similar possível ao do Apache 1.3, você deve selecionar o MPM `prefork`. Os outros MPMs terão diretrizes diferentes para controlar a criação de processos e o processamento de pedidos.
- O módulo proxy foi reconstruído para o padrão HTTP/1.1. Ao longo das mudanças importantes, o controle de acesso ao proxy agora fica dentro de um bloco `<Proxy>`, ao invés de um bloco `<Directory proxy:>`.
- A operação com `PATH_INFO` (informação de caminho procedente depois do nome do arquivo verdadeiro) mudou para alguns módulos. Módulos que eram previamente implementados como manipuladores mas agora são implementados como filtros não podem mais aceitar pedidos com `PATH_INFO`. Filtros como INCLUDES ou PHP são implementados no topo dos manipuladores principais, rejeitando pedidos com `PATH_INFO`. Você pode usar a diretriz `AcceptPathInfo` para forçar o manipulador principal a aceitar pedidos com `PATH_INFO` e assim restaurar a habilidade de usá-lo em inclusões por parte do servidor (SSI).
- A diretriz `CacheNegotiatedDocs` agora aceita o argumento `on` ou `off`. Instâncias existentes de `CacheNegotiatedDocs` deverão ser substituídas por `CacheNegotiatedDocs on`.
- A diretriz `ErrorDocument` não usa mais aspas no começo do argumento para indicar mensagens de texto. Ao invés disso, você deve colocar a mensagem inteira entre aspas. Por exemplo, instâncias existentes de

  `ErrorDocument 403 "Alguma mensagem`

  devem ser substituídas por

  `ErrorDocument 403 "Alguma mensagem"`

  Contanto que o segundo argumento não seja uma URL válida ou um caminho de arquivo, irá ser tratado como uma mensagem de texto.
- As diretrizes `AccessConfig` e `ResourceConfig` não existem mais. Instâncias existentes dessas diretrizes podem ser substituídas com a diretriz `Include` que possui uma funcionalidade equivalente. Se você estava fazendo uso dos valores padrões dessas diretrizes sem incluí-las nos arquivos de configuração, você provavelmente terá que adicionar `Include conf/access.conf` e `Include conf/srm.conf` ao seu `httpd.conf`. Com o fim de assegurar que o Apache leia os arquivos de configuração na mesma ordem que as diretrizes velhas usavam, a diretriz `Include` deve ser colocada no final do `httpd.conf`, com uma entrada para `srm.conf` antes de `access.conf`.
- As diretrizes `BindAddress` and `Port` não existem mais. Uma funcionalidade equivalente é fornecida com uma diretriz mais flexível `Listen`.
- Outro uso da diretriz `Port` no Apache-1.3 era ajustar o número da porta usada em URLs auto-referenciáveis. O equivalente no Apache-2.0 é a nova sintaxe `ServerName`: ela foi modificada para permitir que sejam especificados ambos "hostname" e o número da porta para URLs auto-referenciáveis em uma só diretriz.
- A diretriz `ServerType` não existe mais. O método usado para atender pedidos é determinado pela seleção de MPM. Atualmente não existe nenhuma MPM projetada para ser executada pelo inetd.
- Os módulos `mod_log_agent` e `mod_log_referer` que forneciam as diretrizes `AgentLog`, `RefererLog` e `RefererIgnore` foram removidas. Registros de agentes e referências ainda estão disponíveis usando a diretriz `CustomLog` do `mod_log_config`.
- As diretrizes `AddModule` e `ClearModuleList` não existem mais. Essas diretrizes eram usadas para garantir que módulos pudessem ser habilitados na ordem correta. A nova API do Apache 2.0 permite que os módulos especifiquem explicitamente a sua ordem, eliminando a necessidade dessas diretrizes.
- A diretriz `FancyIndexing` foi removida. A mesma funcionalidade está disponível através da opção `FancyIndexing` da diretriz `IndexOptions`.
- A técnica de negociação de conteúdo (content-negotiation) MultiViews fornecida pelo `mod_negotiation` se tornou mais rigorosa em sua combinação de arquivo padrão. Ela irá selecionar apenas arquivos negociáveis (negotiable). O comportamento antigo pode ser restaurado usando a diretriz `MultiviewsMatch`.
- (desde a versão 2.0.51)

  A funcionalidade da diretriz `ErrorHeader` foi colocada em conjunto com a diretriz `Header`, já que era um uso de um nome impróprio. Utilize

  `Header always set foo bar`

  para obter o comportamento desejado.

## Mudanças Gerais

- O módulo `mod_auth_digest`, que era experimental no Apache 1.3, é agora um módulo padrão.
- O módulo `mod_mmap_static`, que era experimental no Apache 1.3, foi substituído com `mod_file_cache`.
- A distribuição foi completamente reorganizada para não conter mais um diretório `src` independente. Em seu lugar, os fontes são organizados logicamente no diretório principal da distribuição e a instalação do servidor compilado deve ser direcionada à um diretório separado.

## Módulos de Terceiros

Mudanças extensivas foram feitas na API do servidor no Apache 2.0. Módulos existentes projetados para a API do Apache 1.3, não funcionarão no Apache 2.0 sem modificações. Detalhes serão fornecidos na documentação do desenvolvedor.

Línguas Disponíveis: de | en | ja | ko | pt-br | ru