Instalação Apache2

Para instalar o servidor Web apache2, numa distribuição baseada em Debian (neste exemplo usamos Debian 5), podemos utilizar o comando apt-get conforme detalhamento a seguir.

apt-get install apache2

Para testar a instalação que acaba de ser feita, aponte seu navegador para o endereço:

http://localhost

Se a configuração estiver correta, você verá uma tela semelhante a figura a seguir:

Após a instalação, o seguinte diretório será criado o diretório:

/etc/apache2

contendo os seguintes arquivos de configuração:

Arquivo/Diretório Descrição
apache2.conf O principal arquivo de configuração do apache. Este arquivo contém uma diretiva que inclui automaticamente todos os arquivos contidos no diretório conf.d.
conf.d/ Este diretório é o local mais adequado para a inclusão de diretivas de configuração adicionais.
httpd.conf Arquivo vazio (arquivo de configuração antigo do Apache. Mantido apenas por razões históricas)
mods-available/ Este diretório contém todos os módulos disponíveis nesta instalação do Apache. Este diretório contém uma seŕie de arquivos .load e .conf. Os arquivos .load contém as diretivas necessárias para carregar o módulo em questão. O arquivo .conf respectivo contém diretivas de configuração necessárias a utilização do módulo em questão.
mods-enabled/ Este diretório contém todos os módulos habilitados nesta instalação do Apache. Para realmente habilitar um módulo no Apache2, é necessário um link simbólico neste diretório para o arquivo .load (e para o arquivo .conf se ele existir) associados com o módulo no diretório mods-available/. Por exemplo: cgi.load → /etc/apache2/mods-available/cgi.load
ports.conf Diretivas de configuração para as portas e endereços nas quais este servidor estará atendendo requisições
sites-available/ Como mods-available/, exceto que ele contém diretivas de configuração para diferentes virtual hosts que podem ser usados com este servidor. Note que o hostname não corresponde exatamente com o nome do arquivo. 'default' é o site default.
sites-enabled/ Similar na funcionalidade ao mod-enabled/, sites-enabled contém links simbólicos para sites no diretório sites-available que o administrador deseja habilitar. Exemplo: dedasys → /etc/apache2/sites-available/dedasys

Módulos

O servidor web Apache2 é um programa modular, permitindo adicionar funcionalidades incluindo uma série de módulos. Os módulos do Apache2 disponíveis para instalação via apt-get podem ser encontrados com o comando:

erica@pop-00:~$ sudo apt-cache search ^libapache2

As ferramentas a2enmod e a2dismod estão disponíveis para habilitar e desabilitar módulos no Apache2. Suponha que queiramos que nosso servidor Web seja capaz de hospedar páginas PHP5. Para isso é necessário instalar o módulo que suporta PHP5 no apache através do comando:

erica@pop-00:~$ sudo apt-get install libapache2-mod-php5

Ao instalar via apt-get, o módulo já é habilitado. Posteriormente, se houver necessidade, este módulo poderá ser desabilitado via comando:

erica@pop-00:~$ sudo a2dismod php5

Para habilitá-lo novamente, o comando abaixo pode ser usado:

erica@pop-00:~$ sudo a2enmod php5

É importante salientar que após o uso do a2enmod ou a2dismod o apache2 precisará ser reiniciado via comando:

erica@pop-00:~$ sudo /etc/init.d/apache2 restart

Alguns módulos já vem previamente instalados no apache2, como por exemplo o módulo userdir. Note que o módulo vem instalado mas não habilitado. Assim, ainda há a necessidade de habilitá-lo e reiniciar o servidor Web através do comando:

erica@pop-00:~$ sudo a2enmod userdir; /etc/init.d/apache2 restart

O módulo userdir habilita um usuário a ter seu site dentro da sua pasta pessoal. Para isso, basta que o usuário crie uma pasta no seu home, com o nome public_html, e que esta página tenha permissão 755, como mostrado no exemplo a seguir:

erica@pop-00:~$ ls -ld public_html
drwxr-xr-x 2 erica erica 4096 2009-10-13 18:25 public_html/

Suponha que exista um usuário chamado erica cujo home é /home/erica. Este usuário precisaria executar os seguintes comandos para ter sua página pessoal acessada via http://fqdn_do_servidor/~erica.

erica@pop-00:~$ mkdir public_html
erica@pop-00:~$ cp index.html /home/erica/public_html/

Sites

O Apache2 permite a hospedagem de múltiplos sites simultaneamente através de um conceito chamado Virtual Hosts. Os sites podem ser identificados tanto pelo IPs como por FQDNs do servidor. Para habilitar/desabilitar sites, as ferramentas a2ensite e a2dissite são disponibilizadas.

Exemplo de uso

Supondo que exista um arquivo chamado /etc/apache2/sites-available/pop-00 cujo conteúdo seja:

/etc/apache2/sites-avaliable/default
 
ServerAdmin webmaster@pop-00.redesasa.lb
DocumentRoot /var/www/
ErrorLog /var/log/apache2/redesasa-error.log
CustomLog /var/log/apache2/redesasa-access.log combined
 

Assumindo que este arquivo contém a configuração do site www.pop-00.redesasa.lb, para habilitar este site no apache2, deve-se executar os seguintes comandos:

Habilitando um site

# a2ensite gerencianacional

Note que não é necessário estar no diretório que contém o arquivo gerencianacional para que a habilitação seja feita com sucesso. O comando acima procura um arquivo chamado pop-00 no diretório /etc/apache2/sites-available/ e, caso encontre, faz um link simbólico /etc/apache2/sites-enabled/pop-00 apontando para o referido arquivo.

/etc/apache2/sites-enabled/pop-00 -> /etc/apache2/sites-available/pop-00

Reiniciando o serviço

# /etc/init.d/apache2 restart

Relendo o arquivo de configuração

# /etc/init.d/apache2 reload