Guia de Configuração de Servidores Web Virtuais (Apache)
Classificado em Computação
Escrito em em
português com um tamanho de 3,29 KB
1. Servidores Web Virtuais
Basicamente, um servidor virtual é um host virtual hospedado em uma máquina onde já roda outro servidor Web. Os programas servidores Web têm a capacidade de hospedar mais de um site em uma única máquina, utilizando um ou mais endereços IP.
2. Exemplo de Configuração de Hosts Virtuais
Texto baseado no artigo de Carlos Morimoto em: Guia de Servidores Linux.
Para ativar o uso dos hosts virtuais, o primeiro passo é criar uma pasta separada para cada site que será hospedado. Você pode usar a própria pasta "/var/www", como em:
# mkdir /var/www/joao# mkdir /var/www/maria
Em seguida, é necessário adicionar uma nova seção dentro da configuração do Apache para cada um, logo depois da configuração do site default. Nas distribuições derivadas do Debian, são usados arquivos de configuração separados para cada site, armazenados na pasta /etc/apache2/sites-available.
Imagine que vamos hospedar os sites "www.joao.com.br" e "www.maria.com.br", usando as duas pastas criadas anteriormente. Criaríamos, então, um arquivo para cada site:
- /etc/apache2/sites-available/joao:
<VirtualHost *:80> ServerAdmin [email protected] ServerName www.joao.com.br ServerAlias joao.com.br www.joao.com.br DocumentRoot /var/www/joao </VirtualHost>
- /etc/apache2/sites-available/maria:
<VirtualHost *:80> ServerAdmin [email protected] ServerName www.maria.com.br ServerAlias maria.com.br www.maria.com.br DocumentRoot /var/www/maria </VirtualHost>
Note que foi adicionada a diretiva ServerAlias, que permite que o site seja acessado com ou sem o "www". A linha ServerAdmin é opcional e contém o e-mail de contato do administrador.
Após a configuração, ative ambos os sites usando o comando a2ensite, o que criará links na pasta /etc/apache2/sites-enabled:
# a2ensite joao# a2ensite maria
Para que a configuração funcione, edite o arquivo /etc/apache2/sites-available/default, substituindo:
NameVirtualHost * <VirtualHost *>
Por:
NameVirtualHost *:80 <VirtualHost *:80>
Essa configuração é necessária para ativar o suporte a SSL. Sempre que alterar a configuração, atualize o Apache com o parâmetro reload:
# /etc/init.d/apache2 reload
3. Exemplo de Configuração de IPs Virtuais
Considerando os mesmos domínios, mas utilizando IPs virtuais na mesma máquina:
- joao.com.br no IP 192.168.0.10
- maria.com.br no IP 192.168.0.20
No arquivo httpd.conf, acrescente:
<VirtualHost 192.168.0.10:80> ServerAdmin [email protected] ServerName www.joao.com.br ServerAlias joao.com.br www.joao.com.br DocumentRoot /var/www/joao </VirtualHost> <VirtualHost 192.168.0.20:80> ServerAdmin [email protected] ServerName www.maria.com.br ServerAlias maria.com.br www.maria.com.br DocumentRoot /var/www/maria </VirtualHost>