blob: a8c3ff35d0b7590b3233797fc05030e4587e5af7 [file]
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE manualpage SYSTEM "./style/manualpage.dtd">
<?xml-stylesheet type="text/xsl" href="./style/manual.pt-br.xsl"?>
<!-- English Revision: 1933437:1935203 (outdated) -->
<!-- Portuguese(BR) translation: leonardolara --><!-- Reviewed by: leonardolara -->
<!--
Licensed to the Apache Software Foundation (ASF) under one or more
contributor license agreements. See the NOTICE file distributed with
this work for additional information regarding copyright ownership.
The ASF licenses this file to You under the Apache License, Version 2.0
(the "License"); you may not use this file except in compliance with
the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
-->
<manualpage metafile="install.xml.meta">
<title>Compilando e Instalando</title>
<summary>
<p>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 <a
href="platform/windows.html">Usando o Servidor HTTP Apache com o Microsoft
Windows</a> e <a
href="platform/win_compiling.html">Compilando o Apache para o Microsoft Windows</a>.
Para outras plataformas, consulte a documentação da <a
href="platform/">platforma</a>.</p>
<p>O Apache httpd usa <code>libtool</code> e <code>autoconf</code>
para criar um ambiente de compilação semelhante a muitos
outros projetos de código aberto.</p>
<p>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 <a
href="#upgrading">atualização</a>.</p>
</summary>
<seealso><a href="programs/configure.html">Configurar a árvore do código-fonte</a></seealso>
<seealso><a href="invoking.html">Iniciando o httpd Apache</a></seealso>
<seealso><a href="stopping.html">Parando e Reinicializando</a></seealso>
<section id="overview"><title>Visão geral para o
ansioso</title>
<dl>
<dt>Instalando no Linux Fedora/CentOS/Red Hat Enterprise</dt>
<dd>
<highlight>
sudo yum install httpd
sudo systemctl enable httpd
sudo systemctl start httpd
</highlight>
<note type="warning">Versões mais recentes dessas distribuições usam
<code>dnf</code> em vez de <code>yum</code>. Consulte a <a
href="https://fedoraproject.org/wiki/Apache_HTTP_Server">documentação
do projeto Fedora</a> para observações específicas dessa plataforma.</note>
</dd>
<dt>Instalando no Ubuntu/Debian</dt>
<dd>
<highlight>
sudo apt install apache2
sudo service apache2 start
</highlight>
<note type="warning">Consulte a <a href="https://help.ubuntu.com/lts/serverguide/httpd.html">documentação do Ubuntu</a> para observações específicas dessa plataforma.</note>
</dd>
<dt>Instalando a partir do código-fonte</dt>
<dd>
<table>
<columnspec><column width=".13"/><column width=".80"/></columnspec>
<tr>
<td><a href="#download">Download</a></td>
<td>Baixe a última versão em <a href="http://httpd.apache.org/download.cgi#apache24">http://httpd.apache.org/download.cgi</a>
</td>
</tr>
<tr>
<td><a href="#extract">Extração</a></td>
<td><code>$ gzip -d httpd-<em>NN</em>.tar.gz<br />
$ tar xvf httpd-<em>NN</em>.tar<br />
$ cd httpd-<em>NN</em></code></td>
</tr>
<tr>
<td><a href="#configure">Configuração</a></td>
<td><code>$ ./configure --prefix=<em>PREFIX</em></code>
</td>
</tr>
<tr>
<td><a href="#compile">Compilação</a></td>
<td><code>$ make</code> </td>
</tr>
<tr>
<td><a href="#install">Instalação</a></td>
<td><code>$ make install</code> </td>
</tr>
<tr>
<td><a href="#customize">Personalização</a></td>
<td><code>$ vi <em>PREFIX</em>/conf/httpd.conf</code> </td>
</tr>
<tr>
<td><a href="#test">Teste</a></td>
<td><code>$ <em>PREFIX</em>/bin/apachectl -k start</code>
</td>
</tr>
</table>
<p><em>NN</em> deve ser substituído pelo número da versão atual
e <em>PREFIX</em> deve ser substituído pelo
caminho do sistema de arquivos no qual o servidor deve ser instalado. Se
<em>PREFIX</em> não for especificado, o padrão será
<code>/usr/local/apache2</code>.</p>
<p>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.</p>
</dd>
</dl>
<note type="warning">Não encontrou sua plataforma favorita mencionada
aqui? <a href="http://http://httpd.apache.org/docs-project/">Ajude-nos
a melhorar esta documentação.</a></note>
</section>
<section id="requirements"><title>Requisitos</title>
<p>Os seguintes requisitos existem para a compilação do httpd Apache:</p>
<dl>
<dt>APR e APR-Util</dt>
<dd>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 <a href="http://apr.apache.org/">Apache APR</a>, descompacte-as
em <code>/httpd_source_tree_root/srclib/apr</code> e <code>/httpd_source_tree_root/srclib/apr-util</code>
(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 <code>--with-included-apr</code> do <code>./configure</code>.
Em algumas plataformas, pode ser necessário instalar os
pacotes <code>-dev</code> correspondentes para permitir que o httpd seja compilado
com sua cópia instalada do APR e do APR-Util.</dd>
<dt>Biblioteca de Expressões Regulares Compatível com Perl (PCRE)</dt>
<dd>Esta biblioteca é necessária, mas não é mais fornecida com o httpd.
Baixe o código-fonte em <a href="http://www.pcre.org/">http://www.pcre.org</a>,
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 <code>--with-pcre</code>. Em algumas plataformas,
pode ser necessário instalar o pacote <code>-dev</code> correspondente
para permitir que o httpd seja compilado com a sua cópia instalada
do PCRE.</dd>
<dt>Espaço em Disco</dt>
<dd>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.</dd>
<dt>Compilador e sistema de construção ANSI-C</dt>
<dd>Certifique-se de ter um compilador ANSI-C instalado. O <a
href="http://gcc.gnu.org/">compilador
C GNU (GCC)</a> da <a
href="http://www.gnu.org/">Free Software Foundation (FSF)</a>
é 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 <code>PATH</code> precisa conter
ferramentas básicas de compilação, como <code>make</code>.</dd>
<dt>Manutenção precisa do horário</dt>
<dd>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 <code>ntpdate</code> ou <code>xntpd</code> são usados ​​para
esse propósito e são baseados no Network Time Protocol (NTP).
Consulte a <a href="http://www.ntp.org">página inicial do NTP</a>
para obter mais detalhes sobre o software NTP e servidores
públicos de horário.</dd>
<dt><a href="http://www.perl.org/">Perl 5</a>
[OPCIONAL]</dt>
<dd>Para alguns dos scripts de suporte, como <program>
apxs</program> ou <program>dbmmanage</program> (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 <program>configure</program>, você não poderá usar
os scripts de suporte afetados. É claro que você ainda poderá
compilar e usar o httpd Apache.</dd>
</dl>
</section>
<section id="download"><title>Baixando o Apache</title>
<p>O Servidor HTTP Apache pode ser baixado do <a
href="http://httpd.apache.org/download.cgi">site de download
do Servidor HTTP Apache</a>, 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 <code>INSTALL.bindist</code> dentro da distribuição.</p>
<p>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 <a
href="http://http://httpd.apache.org/download.cgi#verify">página de download</a>
e um exemplo detalhado está disponível descrevendo o <a
href="http://http://httpd.apache.org/dev/verification.html">uso do
PGP</a>.</p>
</section>
<section id="extract"><title>Extraindo</title>
<p>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:</p>
<example>
<highlight language="sh">
$ gzip -d httpd-<em>NN</em>.tar.gz
$ tar xvf httpd-<em>NN</em>.tar
</highlight>
</example>
<p>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 (<code>cd</code>) antes de prosseguir com
a compilação do servidor.</p>
</section>
<section id="configure"><title>Configurando a estrutura do código</title>
<p>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 <program>configure</program> 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 <code>autoconf</code> e o <code>libtool</code> instalados e
precisarão executar o <code>buildconf</code> antes de prosseguir com os próximos
passos. Isso não é necessário para versões oficiais.)</p>
<p>Para configurar a estrutura do código usando todas as opções padrão,
basta digitar <code>./configure</code>. Para alterar as opções padrão,
o <program>configure</program> aceita uma variedade de variáveis
e opções de linha de comando.</p>
<p>A opção mais importante é o local <code>--prefix</code>
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 <a
href="programs/configure.html#installationdirectories">opções de
adicionais do configure</a>.</p>
<p>Neste ponto, você também pode especificar quais
<a href="programs/configure.html#optionalfeatures">recursos</a> você
deseja incluir no Apache, habilitando e desabilitando <a
href="mod/">módulos</a>. O Apache vem com uma ampla gama de módulos
incluídos por padrão. Eles serão compilados como
<a href="dso.html">objetos compartilhados (DSOs)</a> 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
<code>--enable-<var>module</var>=static</code>.</p>
<p>Módulos adicionais são habilitados usando a opção
<code>--enable-<var>module</var></code>, onde
<var>module</var> é o nome do módulo com a
string <code>mod_</code> removida e com qualquer sublinhado convertido
em um hífen. Da mesma forma, você pode desabilitar módulos com a opção
<code>--disable-<var>module</var></code>. Tenha cuidado ao
usar essas opções, pois o <program>configure</program> não pode avisá-lo
se o módulo especificado não existir; ele simplesmente ignorará a
opção.</p>
<p>Além disso, às vezes é necessário fornecer ao script
<program>configure</program> 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 <program>configure</program>. Para obter mais informações, consulte a
página de manual do <program>configure</program>. Ou execute
<program>configure</program> usando a opção <code>--help</code>.</p>
<p>Para uma prévia das possibilidades disponíveis, aqui
está um exemplo típico que compila o Apache no caminho
<code>/sw/pkg/apache</code> com um compilador e opções específicos
mais os dois módulos adicionais <module>mod_ldap</module> e
<module>mod_lua</module>:</p>
<example>
<highlight language="sh">
$ CC="pgcc" CFLAGS="-O2" \
./configure --prefix=/sw/pkg/apache \
--enable-ldap=shared \
--enable-lua=shared
</highlight>
</example>
<p>Quando o programa <program>configure</program> 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.</p>
<p>Detalhes sobre todas as diferentes opções de <program>configure</program> estão
disponíveis na página do manual de <program>configure</program>.</p>
</section>
<section id="compile"><title>Compilando</title>
<p>Agora você pode compilar as várias partes que formam o pacote Apache
simplesmente executando o comando:</p>
<example>$ make</example>
<p>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.</p>
</section>
<section id="install"><title>Instalando</title>
<p>Agora é hora de instalar o pacote no diretório de instalação configurado
<em>PREFIX</em> (consulte a opção <code>--prefix</code>
acima) executando:</p>
<example>$ make install</example>
<p>Normalmente, esta etapa exigirá privilégios de root, já que
<em>PREFIX</em> geralmente é um diretório com permissões de
escrita restritas.</p>
<p>Se você estiver atualizando, a instalação não sobrescreverá
seus arquivos ou documentos de configuração.</p>
</section>
<section id="customize"><title>Personalizando</title>
<p>Em seguida, você pode personalizar seu Servidor HTTP Apache editando
os <a href="configuring.html">arquivos de configuração</a> em
<code><em>PREFIX</em>/conf/</code>.</p>
<example>$ vi <em>PREFIX</em>/conf/httpd.conf</example>
<p>Consulte o manual do Apache em
<code><em>PREFIX</em>/docs/manual/</code> ou consulte <a
href="http://httpd.apache.org/docs/&httpd.docs;/"
>http://httpd.apache.org/docs/&httpd.docs;/</a> para obter a versão mais recente
deste manual e uma referência completa das <a
href="mod/directives.html">diretivas de configuração</a> disponíveis.</p>
</section>
<section id="test"><title>Teste</title>
<p>Agora você pode <a href="invoking.html">iniciar</a> seu servidor Apache
HTTP executando imediatamente:</p>
<example>$ <em>PREFIX</em>/bin/apachectl -k start</example>
<p>Você deverá então conseguir solicitar seu primeiro documento
através da URL <code>http://localhost/</code>. A página web que você vê está localizada
em <directive module="core">DocumentRoot</directive>,
que geralmente será <code><em>PREFIX</em>/htdocs/</code>.
Em seguida, <a href="stopping.html">interrompa</a> o servidor novamente
executando:</p>
<example>$ <em>PREFIX</em>/bin/apachectl -k stop</example>
</section>
<section id="upgrading"><title>Atualizando</title>
<p>O primeiro passo para a atualização é ler o anúncio de lançamento
e o arquivo <code>CHANGES</code> 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.</p>
<p>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 <code>make install</code>
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 <program>configure</program>, 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 <program>configure</program> idêntica, um arquivo de
configuração idêntico e todos os seus módulos continuarão
funcionando.</p>
<p>Para atualizar entre versões secundárias, comece encontrando o
arquivo <code>config.nice</code> no diretório <code>build</code> 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
<program>configure</program> 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 <code>config.nice</code> para a árvore de origem da nova
versão, editá-lo para fazer as alterações desejadas e, em seguida,
executar:</p>
<example>
<highlight language="sh">
$ ./config.nice
$ make
$ make install
$ <em>PREFIX</em>/bin/apachectl -k graceful-stop
$ <em>PREFIX</em>/bin/apachectl -k start
</highlight>
</example>
<note type="warning">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 <code>--prefix</code> diferente e uma
porta diferente (ajustando a diretiva <directive
module="mpm_common">Listen</directive>) para testar quaisquer
incompatibilidades antes de fazer a atualização final.</note>
<p>Você pode passar argumentos adicionais para <code>config.nice</code>,
que serão anexados às suas opções originais de
<program>configure</program>:</p>
<example>
$ ./config.nice --prefix=/home/test/apache --with-port=90
</example>
</section>
<section id="thirdp"><title>Pacotes de terceiros</title>
<p>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.</p>
<p>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.</p>
<p>Uma <a
href="https://cwiki.apache.org/confluence/display/httpd/DistrosDefaultLayout">descrição
dessas distribuições de terceiros</a> é 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.</p>
</section>
</manualpage>