Apache: 03 - Configurando hospedeiros virtuais

É muito comum em um servidor serem diversos sites. Cada um desses sites poderia ser armazenado em seu próprio servidor ou máquina virtual, mas caso determinado site não gere alto tráfego de dados, isso não é muito prático, eleva os custos e não é muito eficiente pois mantém diversos recursos do servidor ociosos, o que não é algo muito atrativo em um servidor. O conceito de hospedeiros virtuais pemite que em um mesmo servidor vários sites podem ser hospedados, o que reduz a quantidade de infraestrutura utilizada necessária para hospedar esses sites.

O diretório /var/www é a localização padrão em que o Apache busca pelos arquivos necessários a prover o conteúdo dos sites. Se forem hospedados diversos sites em um mesmo servidor será necessário criar várias pastas nesse diretório, uma para cada site. Por exemplo, se está sendo hospedado o site agendaonline.com e equalizadorweb.com, poderá ser criado a seguinte estrutura de diretórios:

/var/www/agendaonline.com/html
/var/www/equalizadorweb.com/html

Nesse exemplo, foram criados diretórios em diversos níveis, então é possível usar a flag -p com o comando mkdir para criar os diretórios e seus filhos.

Desse modo, cada site terá seu próprio diretório e o conteúdo estará separado de forma conveniente. Para que todo o conteúdo seja acessado e o conteúdo do site disponibilizado no navegador é necessário ajustar as permissões:

# chmod 755 -R /var/www/<nameofsite>

Para criar um hospedeiro virtual, é necessário criar um arquivo de configuração nele. No Debian, há uma configuração padrão que pode ser utilizada como ponto de partida, sendo possível iniciar com o seguinte arquivo:

/etc/apache2/sites-available/000-default.conf

Esse arquivo serve como um bom ponto de referência para criação de um hospedeiro virtual. Se for utilizado, é necessário copiar o diretório criado para o hospedeiro virtual:

# cp /etc/apache2/sites-available/000-default.conf /etc/apache2/sites-available/agendaonline.com.conf

No Fedora, o diretório /etc/apache2/sites-available não é criado por padrão, por isso será necessário fazer isso manualmente. Para que o Apache leia os sites presentes nesse diretório, é necessário adicionar ao fim do arquivo /etc/httpd/conf/httpd.conf a linha:

IncludeOptional sites-available/*.conf

Abaixo há um exemplo de arquivo de configuração do hospedeiro virtual. No Debian o diretório é /etc/apache2/sites-available/tryadtech.com.conf, no Fedora apache2 é substituído por httpd. Esse exemplo foi tomado a partir do arquivo 000-default.conf mencionado anteriormente, removendo as linhas comentadas para a explicação ser mais breve. A primeira linha em negrito não se fazia presente e a segunda foi modificada:

<VirtualHost *:80>
ServerAdmin webmaster@localhost
ServerName agendaonline.com
DocumentRoot /var/www/agendaonline.com/html
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>

Como pode se perceber, está sendo feito referência ao diretório html abaixo do diretório agendaonline. Para desenvolver o site, você deverá armazenar os arquivos do site no diretório html, e após reiniciar o Apache, será possível acessar o diretório do navegador web.

O servidor Apache redirecionará os visitantes ao servidor com o IP registrado no DNS para o site acessado, que deverá ser aquele que estiver registrado pelo servidor registrado na linha ServerName. Esse mesmo servidor hospeda dois sites, nesse exemplo, mas como o usuário requisitou acesso à um dos sites, o servidor acessará o diretório específico de um dos sites. Se o IP do servidor for alterado essas configurações também terão que ser.

Os próximos passos que deverão realizados são: divisão da rede em sub-redes (para avançar clique aqui), o roteamento do tráfego TCP/IP (para avançar clique aqui) e adição de servidores de redundância para o DHCP e o DNS (para avançar clique aqui).

Comentários

Postagens mais visitadas