Apache - configurando domínios com vhost

De Pontão Nós Digitais
Revisão de 15h17min de 15 de junho de 2015 por Felipecabral (discussão | contribs)

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

Referências