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 |
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/
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