Apache - configurando domínios com vhost
Quando temos um servidor próprio, isto é, um servidor autonomamente configurado ou ainda uma conta do tipo cloud ou VPS, precisaremos configurar manualmente o Apache para resolver diferentes endereços de domínio numa mesma máquina. Em outras palavras, uma vez tendo um servidor que vai hospedar diferente sites com diferentes endereços precisaremos dizer para o apache onde estão as pastas que devem responder aos respectivos endereços.
O Apache divide suas funcionalidades e componentes em unidades individuais que podem ser personalizadas e configuradas independentemente. A unidade básica que descreve um determinado site ou um domínio é chamada virtual host.
Cada domínio que esteja configurado irá direcionar o visitante para um diretório específico que mantém as informações daquele site, nunca indicando que o mesmo servidor também é responsável por outros sites. Este esquema é expansível sem qualquer limite de software desde que seu servidor possa suportar a carga.
Vamos ver como isso funciona.
Pre requisitos
- Apache ou Lamp completo instalado.
- Usuário non-root para configurar o domínio e permissões de acesso
- Estamos tomando como base um servidor linux Debian 8.0 devidamente instalado e com ip fixo configurado;
Estrutura de diretórios
O primeiro passo é criar uma estrutura de diretório que irá armazenar os dados do(s) site(s) que estará(ão) servindo aos visitantes.
Nosso document root (o diretório de nível superior que o Apache olha para encontrar o conteúdo para servir) será definido para diretórios individuais sob o diretório /var/www. Por padrão o Apache coloca o endereço /var/www/html, mas vamos criar um diretório especial.
Dentro de cada um desses diretórios, vamos criar o diretório public_html que irá manter nossos arquivos reais. Isto nos dá certa flexibilidade em nossa hospedagem.
Por exemplo, para nossos sites, nós vamos criar nossos diretórios assim:
sudo mkdir -p /var/www/site1.com.br/public_html sudo mkdir -p /var/www/site2.org.br/public_html
As partes em vermelho representam os nomes de domínio que estamos querendo servir através de nossos VPS.
3 - Acrescente também, no endereçamento interno da máquina, os endereços que quiser. No arquivo /etc/hosts coloque as linhas:
127.0.0.1 testando.teste.com.br testando 127.0.0.1 dominio.teste1.net dominio