<-
Apache > Servidor HTTP > Documentação > Versão 2.4

Compilando e Instalando

Línguas Disponíveis:  de  |  en  |  es  |  fr  |  ja  |  ko  |  pt-br  |  tr 

Este documento cobre a compilação e a instalação do Servidor HTTP Apache somente em sistemas Unix e similares. Para compilação e instalação no Windows, consulte Usando o Servidor HTTP Apache com o Microsoft Windows e Compilando o Apache para o Microsoft Windows. Para outras plataformas, consulte a documentação da platforma.

O Apache httpd usa libtool e autoconf para criar um ambiente de compilação semelhante a muitos outros projetos de código aberto.

Se você estiver atualizando de uma versão secundária para a próxima (por exemplo, de 2.4.8 para 2.4.9), pule para a seção de atualização.

Veja também

top

Visão geral para o ansioso

Instalando no Linux Fedora/CentOS/Red Hat Enterprise
sudo yum install httpd
sudo systemctl enable httpd
sudo systemctl start httpd
Versões mais recentes dessas distribuições usam dnf em vez de yum. Consulte a documentação do projeto Fedora para observações específicas dessa plataforma.
Instalando no Ubuntu/Debian
sudo apt install apache2
sudo service apache2 start
Consulte a documentação do Ubuntu para observações específicas dessa plataforma.
Instalando a partir do código-fonte
Download Baixe a última versão em http://httpd.apache.org/download.cgi
Extração $ gzip -d httpd-NN.tar.gz
$ tar xvf httpd-NN.tar
$ cd httpd-NN
Configuração $ ./configure --prefix=PREFIX
Compilação $ make
Instalação $ make install
Personalização $ vi PREFIX/conf/httpd.conf
Teste $ PREFIX/bin/apachectl -k start

NN deve ser substituído pelo número da versão atual e PREFIX deve ser substituído pelo caminho do sistema de arquivos no qual o servidor deve ser instalado. Se PREFIX não for especificado, o padrão será /usr/local/apache2.

Cada seção do processo de compilação e instalação é descrita com mais detalhes abaixo, começando com os requisitos para compilar e instalar o httpd Apache.

Não encontrou sua plataforma favorita mencionada aqui? Ajude-nos a melhorar esta documentação.
top

Requisitos

Os seguintes requisitos existem para a compilação do httpd Apache:

APR e APR-Util
Certifique-se de que o APR e o APR-Util já estejam instalados em seu sistema. Caso contrário, ou se preferir não usar as versões fornecidas pelo sistema, baixe as versões mais recentes do APR e do APR-Util em Apache APR, descompacte-as em /httpd_source_tree_root/srclib/apr e /httpd_source_tree_root/srclib/apr-util (certifique-se de que os nomes dos diretórios não contenham números de versão; por exemplo, a distribuição do APR deve estar em /httpd_source_tree_root/srclib/apr/) e use a opção --with-included-apr do ./configure. Em algumas plataformas, pode ser necessário instalar os pacotes -dev correspondentes para permitir que o httpd seja compilado com sua cópia instalada do APR e do APR-Util.
Biblioteca de Expressões Regulares Compatível com Perl (PCRE)
Esta biblioteca é necessária, mas não é mais fornecida com o httpd. Baixe o código-fonte em http://www.pcre.org, ou instale um pacote. Se o seu sistema de compilação não encontrar o script pcre-config instalado pela compilação do PCRE, indique-o usando o parâmetro --with-pcre. Em algumas plataformas, pode ser necessário instalar o pacote -dev correspondente para permitir que o httpd seja compilado com a sua cópia instalada do PCRE.
Espaço em Disco
Certifique-se de ter pelo menos 50 MB de espaço livre temporário em disco. Após a instalação, o servidor ocupa aproximadamente 10 MB de espaço em disco. Os requisitos reais de espaço em disco variam consideravelmente dependendo das opções de configuração escolhidas, dos módulos de terceiros e, claro, do tamanho do(s) site(s) que você tem no servidor.
Compilador e sistema de construção ANSI-C
Certifique-se de ter um compilador ANSI-C instalado. O compilador C GNU (GCC) da Free Software Foundation (FSF) é recomendado. Se você não tiver o GCC, certifique-se de que o compilador do seu fornecedor seja compatível com ANSI. Além disso, seu PATH precisa conter ferramentas básicas de compilação, como make.
Manutenção precisa do horário
Os elementos do protocolo HTTP são expressos como o horário do dia. Portanto, é hora de configurar algum recurso de sincronização de horário em seu sistema. Normalmente, os programas ntpdate ou xntpd são usados ​​para esse propósito e são baseados no Network Time Protocol (NTP). Consulte a página inicial do NTP para obter mais detalhes sobre o software NTP e servidores públicos de horário.
Perl 5 [OPCIONAL]
Para alguns dos scripts de suporte, como apxs ou dbmmanage (que são escritos em Perl), o interpretador Perl 5 é necessário (versões 5.003 ou mais recentes são suficientes). Se nenhum interpretador Perl 5 for encontrado pelo script configure, você não poderá usar os scripts de suporte afetados. É claro que você ainda poderá compilar e usar o httpd Apache.
top

Baixando o Apache

O Servidor HTTP Apache pode ser baixado do site de download do Servidor HTTP Apache, que lista vários espelhos. A maioria dos usuários do Apache em sistemas do tipo Unix se beneficiará mais baixando e compilando uma versão do código-fonte. O processo de compilação (descrito abaixo) é fácil e permite personalizar o servidor de acordo com suas necessidades. Além disso, as versões binárias geralmente não estão atualizadas com as versões de código-fonte mais recentes. Se você baixar um binário, siga as instruções no arquivo INSTALL.bindist dentro da distribuição.

Após baixar, é importante verificar se você possui uma versão completa e não modificada do Servidor HTTP Apache. Isso pode ser feito testando o arquivo .tar baixado em relação à assinatura PGP. Detalhes sobre como fazer isso estão disponíveis na página de download e um exemplo detalhado está disponível descrevendo o uso do PGP.

top

Extraindo

Extrair o código-fonte do arquivo tar do servidor HTTP Apache é uma questão simples de descompactar e, em seguida, extrair o arquivo tar:

$ gzip -d httpd-NN.tar.gz
$ tar xvf httpd-NN.tar

Isso criará um novo diretório no diretório atual contendo o código-fonte da distribuição. Você deve mudar para este diretório (cd) antes de prosseguir com a compilação do servidor.

top

Configurando a estrutura do código

O próximo passo é configurar a estrutura do código-fonte do Apache para sua plataforma específica e requisitos pessoais. Isso é feito usando o script configure incluído no diretório raiz da distribuição. (Desenvolvedores que baixarem uma versão não lançada da estrutura de código-fonte do Apache precisarão ter o autoconf e o libtool instalados e precisarão executar o buildconf antes de prosseguir com os próximos passos. Isso não é necessário para versões oficiais.)

Para configurar a estrutura do código usando todas as opções padrão, basta digitar ./configure. Para alterar as opções padrão, o configure aceita uma variedade de variáveis e opções de linha de comando.

A opção mais importante é o local --prefix onde o Apache será instalado posteriormente, pois o Apache precisa ser configurado para funcionar corretamente nesse local. Um controle mais preciso da localização dos arquivos é possível com opções de adicionais do configure.

Neste ponto, você também pode especificar quais recursos você deseja incluir no Apache, habilitando e desabilitando módulos. O Apache vem com uma ampla gama de módulos incluídos por padrão. Eles serão compilados como objetos compartilhados (DSOs) que podem ser carregados ou descarregados no momento da execução. Você também pode optar por compilar módulos estaticamente usando a opção --enable-module=static.

Módulos adicionais são habilitados usando a opção --enable-module, onde module é o nome do módulo com a string mod_ removida e com qualquer sublinhado convertido em um hífen. Da mesma forma, você pode desabilitar módulos com a opção --disable-module. Tenha cuidado ao usar essas opções, pois o configure não pode avisá-lo se o módulo especificado não existir; ele simplesmente ignorará a opção.

Além disso, às vezes é necessário fornecer ao script configure informações adicionais sobre a localização do seu compilador, bibliotecas ou arquivos de cabeçalho. Isso é feito passando variáveis ​​de ambiente ou opções de linha de comando para configure. Para obter mais informações, consulte a página de manual do configure. Ou execute configure usando a opção --help.

Para uma prévia das possibilidades disponíveis, aqui está um exemplo típico que compila o Apache no caminho /sw/pkg/apache com um compilador e opções específicos mais os dois módulos adicionais mod_ldap e mod_lua:

$ CC="pgcc" CFLAGS="-O2" \
  ./configure --prefix=/sw/pkg/apache \
  --enable-ldap=shared \
  --enable-lua=shared

Quando o programa configure for executado, levará alguns minutos para testar a disponibilidade de recursos em seu sistema e gerar arquivos make que serão usados ​​posteriormente para compilar o servidor.

Detalhes sobre todas as diferentes opções de configure estão disponíveis na página do manual de configure.

top

Compilando

Agora você pode compilar as várias partes que formam o pacote Apache simplesmente executando o comando:

$ make

Por favor, tenha paciência, pois uma configuração básica leva vários minutos para compilar e o tempo pode variar bastante dependendo do seu equipamento e do número de módulos que você habilitou.

top

Instalando

Agora é hora de instalar o pacote no diretório de instalação configurado PREFIX (consulte a opção --prefix acima) executando:

$ make install

Normalmente, esta etapa exigirá privilégios de root, já que PREFIX geralmente é um diretório com permissões de escrita restritas.

Se você estiver atualizando, a instalação não sobrescreverá seus arquivos ou documentos de configuração.

top

Personalizando

Em seguida, você pode personalizar seu Servidor HTTP Apache editando os arquivos de configuração em PREFIX/conf/.

$ vi PREFIX/conf/httpd.conf

Consulte o manual do Apache em PREFIX/docs/manual/ ou consulte http://httpd.apache.org/docs/2.4/ para obter a versão mais recente deste manual e uma referência completa das diretivas de configuração disponíveis.

top

Teste

Agora você pode iniciar seu servidor Apache HTTP executando imediatamente:

$ PREFIX/bin/apachectl -k start

Você deverá então conseguir solicitar seu primeiro documento através da URL http://localhost/. A página web que você vê está localizada em DocumentRoot, que geralmente será PREFIX/htdocs/. Em seguida, interrompa o servidor novamente executando:

$ PREFIX/bin/apachectl -k stop

top

Atualizando

O primeiro passo para a atualização é ler o anúncio de lançamento e o arquivo CHANGES na distribuição do código-fonte para encontrar quaisquer alterações que possam afetar seu site. Ao mudar entre versões principais (por exemplo, de 2.0 para 2.2 ou de 2.2 para 2.4), provavelmente haverá grandes diferenças na configuração de tempo de compilação e tempo de execução que exigirão ajustes manuais. Todos os módulos também precisarão ser atualizados para acomodar as alterações na API do módulo.

A atualização de uma versão secundária para a seguinte (por exemplo, de 2.2.55 para 2.2.57) é mais fácil. O processo make install não sobrescreverá nenhum dos seus documentos, arquivos de registro ou arquivos de configuração existentes. Além disso, os desenvolvedores fazem todos os esforços para evitar alterações incompatíveis nas opções do configure, na configuração de tempo de execução ou na API do módulo entre versões secundárias. Na maioria dos casos, você poderá usar uma linha de comando configure idêntica, um arquivo de configuração idêntico e todos os seus módulos continuarão funcionando.

Para atualizar entre versões secundárias, comece encontrando o arquivo config.nice no diretório build do seu servidor instalado ou na raiz da árvore de origem da sua instalação antiga. Este arquivo conterá a linha de comando exata do configure que você usou para configurar a árvore de origem. Em seguida, para atualizar de uma versão para a próxima, basta copiar o arquivo config.nice para a árvore de origem da nova versão, editá-lo para fazer as alterações desejadas e, em seguida, executar:

$ ./config.nice
$ make
$ make install
$ PREFIX/bin/apachectl -k graceful-stop
$ PREFIX/bin/apachectl -k start
Você deve sempre testar qualquer nova versão em seu ambiente antes de colocá-la em produção. Por exemplo, você pode instalar e executar a nova versão junto com a antiga usando um --prefix diferente e uma porta diferente (ajustando a diretiva Listen) para testar quaisquer incompatibilidades antes de fazer a atualização final.

Você pode passar argumentos adicionais para config.nice, que serão anexados às suas opções originais de configure:

$ ./config.nice --prefix=/home/test/apache --with-port=90

top

Pacotes de terceiros

Um grande número de terceiros fornece suas próprias distribuições empacotadas do Servidor HTTP Apache para instalação em plataformas específicas. Isso inclui as várias distribuições Linux, vários pacotes de terceiros para Windows, Mac OS X, Solaris e muitas outras.

Nossa licença de software não apenas permite mas também incentiva esse tipo de redistribuição. No entanto, isso resulta em uma situação em que o layout de configuração e os valores padrão da sua instalação do servidor podem diferir do que está descrito na documentação. Embora lamentável, essa situação provavelmente não mudará tão cedo.

Uma descrição dessas distribuições de terceiros é mantida no wiki do Servidor HTTP e deve refletir o estado atual dessas distribuições de terceiros. No entanto, você precisará se familiarizar com o gerenciamento de pacotes e os procedimentos de instalação da sua plataforma específica.

Línguas Disponíveis:  de  |  en  |  es  |  fr  |  ja  |  ko  |  pt-br  |  tr