Servidor HTTP Apache Versão 2.4

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.
Visão geral para o
ansioso
Requisitos
Baixando o Apache
Extraindo
Configurando a estrutura do código
Compilando
Instalando
Personalizando
Teste
Atualizando
Pacotes de terceirossudo yum install httpd sudo systemctl enable httpd sudo systemctl start httpd
dnf em vez de yum. Consulte a documentação
do projeto Fedora para observações específicas dessa plataforma.sudo apt install apache2 sudo service apache2 start
| Download | Baixe a última versão em http://httpd.apache.org/download.cgi |
| Extração | $ gzip -d httpd-NN.tar.gz |
| 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.
Os seguintes requisitos existem para a compilação do httpd Apache:
/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.--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.PATH precisa conter
ferramentas básicas de compilação, como make.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.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.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.
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.
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.
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.
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.
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.
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
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
--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
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.