Apache/pt-br

O Apache HTTP Server é um servidor web eficiente e extensível. É um dos mais populares servidores web usados na Internet.

Multi-Processing Module
If you want to use the Apache event or worker MPM, enable the Apache threads USE flag:

If you want to use the Apache event MPM, then add the following to make.conf:

If you want to use the Apache worker MPM, then add the following to make.conf:

If no Multi-Processing Module (MPM) is selected, the default MPM is used. The default MPM depends on platform capabilities (like threads support), read more in the official Apache docs.

Then emerge Apache:

Suporte global
Habilitar a USE flag global  fornece suporte ao Apache em outros pacotes. Isto deve fazer com que seja instalado automaticamente se um pacote dependente do Apache foi instalado.

Após configurar as variáveis USE, atualize o sistema para que as mudanças tenham efeito:

Arquivos
Há dois arquivos principais que configuram o comportamento do Apache2 no sistema:


 * Arquivo de configuração do script de inicialização do Apache2 no Gentoo


 * Arquivo convencional de configuração do servidor Apache2

O arquivo do em  é o arquivo de configuração do script de inicialização do Gentoo. A única linha ativa neste arquivo é a linha da variável APACHE2_OPTS :

Esta linha define opções que serão interpretadas por vários arquivos de configuração usando a expressão  para ativar ou desativar alguma parte da configuração toda. Isto será retornado mais tarde no artigo.

O arquivo é o arquivo convencional de configuração do Apache. De fato este arquivo é apenas um ponto de entrada para a configuração. O arquivo todo é dividido em vários outros no diretório, os quais são reunidos usando a diretiva. Por exemplo, a expressão, em , visa incluir todos os arquivos em  cujo nome termine em.

Levando em conta o que foi dito na subseção acima, e como arquivos de configuração de módulos (arquivos em ) quase sempre começam com, o conteúdo de um arquivo em , será anexado ao resto da configuração APENAS se a opção correspondente está definida usando uma flag   na variável APACHE2_OPTS no arquivo. O arquivo de configuração é uma exceção à esta regra, já que ele não inicia com uma expressão   e portanto é sempre incluído na configuração resultante.

Padrões
Após a instalação limpa de um servidor Apache, a configuração resultante da junção dos diferentes arquivos de configuração é como a seguir. Comece com o ponto de entrada.

Primeiro sinal de vida
Como visto na configuração inicial acima, o diretório do  do host virtual pré-instalado é  e seu nome de servidor é localhost. Além disso um arquivo index.html é fornecido na pasta, sendo assim, para checarmos se tudo está corretamente instalado ou não, aponte um navegador para http://localhost/.

Uma mensagem de "It works!" deve ser exibida na página.

Habilitando mod_security
ModSecurity is a rule-based web application firewall that monitors web service traffic, to block attacks exploiting known vulnerabilities.

Instale :

Habilite o módulo  na variável APACHE2_OPTS do arquivo :

Controle este módulo editando os arquivos e, e então reinicie o Apache.

Habilitando suporte a PHP
Instale o PHP com a USE flag  e habilite o módulo:

Antes de testar se o módulo PHP funciona, verifique se o arquivo existe e contém a seguinte definição:

Se ele não existir, crie-o.

Para verificar se o módulo PHP funciona, crie uma página de teste:

Agora, omita ou renomeie e abra a página de teste:

Uma tabela descrevendo as configurações do PHP deve estar visível.

Modificar versões do PHP
Para alterar a versão do PHP manipulada pelo Apache, primeiro liste as versões disponíveis para a interface SAPI (Server Application Programming Interface) do :

Altere para a versão de sua escolha:

Substitua  no exemplo acima pelo número solicitado na saída do comando  como exibido anteriormente.

Hosts virtuais
Para cada host virtual, forneça um diretório  alcançável e acessível pelo daemon do Apache. Adicione um arquivo de configuração de host vitual na pasta, a qual usa este   e o nome de servidor do host virtual. Não esqueça de adicionar uma entrada para este nome de domínio em.

Para atribuir a propriedade de usuário/grupo para o apache nos arquivos de host virtuais, use como no exemplo a seguir:

Abaixo estão dois exemplos de definição de host virtual, uma para domainname1.com e outra para domainname2.com. Repare as diferentes diretivas de  e   mesmo que o host em si  permaneça o mesmo:

É recomendado fornecer uma definição host virtual baseado em IP também. Isto permite ao administrador colocar uma mensagem aos usuários que tentarem acessar um site neste endereço IP:

Após inserir os hosts virtuais, o servidor precisa ser (graciosamente) reiniciado para os novos sites se tornarem ativos.

Habilitando PHP por fcgid
Instale e. O pacote PHP requer a USE flag  definida:

Edite o arquivo :

Crie a pasta necessária:

Crie um link simbólico para o wrapper do PHP:

Habilite o módulo :

Por fim reinicie o Apache e verifique o site  criado anteriormente. O valor de  deve ser CGI/FastCGI

Habilitando PHP-FPM pelo mod_proxy_fcgi no Apache 2.4
Os seguintes pré-requisitos devem ser cumpridos para permitir PHP-FPM através do mod_proxy_fcgi:
 * >= PHP 5.3
 * >= Apache 2.4

Furthermore, there are a few restrictions on the availability of functionality within Apache 2.4:
 * >= Apache 2.4.9, if you want to communicate with PHP-FPM over UNIX sockets
 * >= Apache 2.4.10, if you want to use SetHandler instead of ProxyPassMatch.

A seguinte configuração só funciona com o Apache 2.4.10 e mais recentes. Baseia-se na diretiva  e será colocado dentro da principal configuração ou. A localização do socket UNIX é determinada pela diretiva  no arquivo de configuração, permitindo especificar grupos separados por local ou função.

No exemplo a seguir,  é colocado dentro do arquivo de módulo de configuração do PHP module do Apache:

Or, you can use ProxPassMatch -- the only option if the Apache version is between 2.4.0 and 2.4.8, inclusive.

Por padrão a diretiva  não é definida para um socket. Primeiro crie o diretório para o arquivo de socket:

Depois, atualize o arquivo como a seguir:

Então habilite o módulo tanto do  quanto o de  :

Web frameworks and Apache
Some of the web frameworks that can work with Apache are covered on the wiki:


 * Rails
 * Django

HTTPS with TLS certificates from Let’s Encrypt
It is important that any public-facing web server provide "secure" HTTPS access. Often, sites providing HTTPS will be configured to redirect HTTP requests to the HTTPS equivalent URL.

Let’s Encrypt is a not-for-profit certificate authority that issues free TLS certificats. is a utility available in the Gentoo repository for easily requesting and installing TLS certificates, and automatically setting up HTTPS access for Apache.

See the Let’s Encrypt article for information about using. The EFF also have specific instructions on using on Gentoo to configure Apache.

OpenRC
Inicie o servidor Apache:

Adicione o Apache ao runlevel padrão:

Reinicie o serviço do Apache:

Recarregue os arquivos de configuração do Apache:

systemd
Inicie o servidor do Apache:

Adicione o Apache ao runlevel padrão:

Reinicie o serviço do Apache:

Recursos
O servidor Apache pode ser difícil de configurar corretamente. Abaixo estão alguns recursos que podem ser úteis quando isso ocorrer:


 * Guia de resolução de problemas

Teste
Verificando as interfaces IP e portar onde o Apache2 está rodando e ouvindo:

Testando se uma conexão com o servidor Apache está funcionando no localhost:

Interrompa o teste de conexão pressionando + e.

apr_sockaddr_info_get failed for 
Error:

apache2: apr_sockaddr_info_get failed for System_Hostname

Resolution:

Quando isto ocorrer, adicione o nome do host ao arquivo :

Veja também

 * Lighttpd - Um servidor web leve e rápido.
 * Nginx - Um proxy reverso e servidor HTTP leve, rápido e performático.

Recursos externos

 * Slicehost article: Installing Apache on Gentoo
 * Slicehost article: Apache configuration files on Gentoo
 * Slicehost article: Configuring the Apache MPM on Gentoo
 * Slicehost article: Apache configuration on Gentoo
 * Slicehost article: Apache Virtual Hosts on Gentoo
 * Slicehost article: Enabling and using apache's mod_status on Gentoo
 * apache.org documentation
 * Apache2 mod_pagespeed