Skip to main content

Configurações básicas no Apache2 - Parte 2

Dando continuidade nesta série dividida em três partes com um artigo escrito por mim para a revista InfraMagazine da DevMedia em maio de 2011.

Depois da instalação padrão, o Apache já pode ser utilizado normalmente, eliminando a necessidade de inúmeras configurações adicionais. Para testá-lo, basta abrir o seu browser e acessar o endereço http://localhost. Neste momento você verá uma mensagem de confirmação do Apache.

O próximo passo será realizar algumas alterações no httpd.conf e demonstrar como habilitar o suporte a módulos, que estendem as possibilidades de utilização do servidor. Como exemplo, será instalado o módulo do PHP5, por este ser um dos recursos mais utilizados no Apache e pelo PHP ser uma das principais linguagens de programação voltadas à internet atualmente.

Quando o Apache é compilado, o arquivo de configuração é um só, o httpd.conf. Na instalação via gerenciador de pacotes no Ubuntu, esse arquivo é fragmentado para facilitar sua utilização. Todas as configurações citadas neste artigo podem ser realizadas em qualquer um dos ambientes, porém, a base será na configuração fragmentada que, de certa forma, acaba sendo um pouco mais complexa.

Os arquivos de configuração encontram-se no diretório /etc/apache2. ServerName Nossa primeira alteração no httpd.conf será o parâmetro ServerName. Este parâmetro é utilizado quando o servidor Apache irá responder por um endereço do tipo www.meusite.com.br. Na instalação padrão, o ServerName não é especificado, ficando a critério do administrador utilizá-lo ou não. Este parâmetro pode ser inserido no início do arquivo de configuração apache2.conf da seguinte forma: ``` ServerName “www.meusite.com” (caso seja uma URL) ou ServerName “111.11.111.11” (caso seja um IP)

### Virtual Hosts

Mas o que fazer se o servidor for responder por mais de um site ou possuir subdomínios? Neste caso deve-se editar outro arquivo, responsável pelos Virtual Hosts dentro do Apache, que pode ser encontrado no diretório /etc/apache2/sites-avaliable/default.

Na configuração padrão, existe um Virtual Host configurado que é responsável pelo domínio padrão do seu servidor. Um novo Virtual Host pode ser configurado, apenas copiando as configurações de um já existente e alterando-se o parâmetro Document Root, que indica o diretório que ficarão armazenados os respectivos arquivos.

Existe também a possibilidade de criar diferentes arquivos ao invés de utilizar o arquivo default. Se isso for feito, para que o Apache reconheça este arquivo, precisa-se adicioná-lo à lista de sites habilitados com o comando:

a2ensite nome-do-arquivo

Depois é necessário fazer com que o Apache recarregue as configurações e reconheça o novo arquivo com os novos Virtual Hosts. Isto pode ser feito através do comando:

/etc/init.d/apache reload

Dentro de cada Virtual Host é possível configurar diversos “subdiretórios” entre os parâmetros <directory></directory>. Dessa forma pode-se criar configurações personalizadas para determinados diretórios ou até apontá-los para outros lugares.

Um exemplo de configuração de um Virtual Host no Apache pode ser visto na Listagem 1. Listagem 1. Exemplo de Configuração de um Virtual Host

<virtualhost *:80="
      ServerAdmin [email protected]

      ServerName www.meusite.com.br
      ServerAlias meusite.com.br www.meusite.com.br
      DocumentRoot /var/www/meusite.com.br

      ExpiresActive On
      <filesmatch "\.(gif|jpg|jpeg|png|css|js|swf|gif|jpg|jpeg|png|txt|txt)$"="
              ExpiresDefault "access plus 1 year"
      </filesmatch>

      <directory meusite.com.br="" var="" www="
              Options -FollowSymLinks +SymLinksIfOwnerMatch
              AllowOverride None
              Deny from all
     </directory>

      CustomLog /var/log/apache2/meusite.com.br.log combined
</virtualhost>

No exemplo acima tem-se uma configuração para o domínio www.meusite.com.br. Nele foram adicionados alguns parâmetros para melhorar o acesso ao site, são eles:

<ServerAlias>: Parâmetro que permite que o site responda em mais de um endereço. Configura-se esse parâmetro para que o site responda também sem o www na frente do endereço. Muitos administradores se esquecem de fazer isto e quando o usuário tenta acessar o site sem utilizar o www o Apache retorna um erro.

<ExpiresActive>: Esta funcionalidade do Apache é um recurso muito interessante e pouco utilizado. Com ele, pode-se determinar o tempo que o browser do cliente fará cache de determinados tipos de arquivo, reduzindo assim a quantidade de requisições feitas ao servidor, sem falar na velocidade de carregamento do site, que será visivelmente incrementada. Pode não parecer, mas pequenas configurações como esta muitas vezes não são feitas pelos administradores e acabam gerando um elevado número de requisições repetidas e desnecessárias ao servidor Web.