Qualquer distribuição Linux tem as características perfeitas para implementar os mais diversos serviços de rede. Num dos últimos tutoriais ensinamos a instalar o servidor Web mais popular do mundo, o Apache.
Hoje vamos mostrar como podem ter, no CentOS 7, vários sites num único servidor Web.
Apache Web Server
O Apache Web Server foi criado em 1995 por Rob McCoolque, que na altura era funcionário da NCSA (National Center for Supercomputing Applications).
Este servidor Web é distribuído numa variedade de plataformas impressionante, deste o Windows, Linux, Novel, Mac, OS/2 BeOS e muitos outros. O Apache continua a ser um dos serviços Web mais populares, de acordo com a NetCraft.
CentOS 7 instalado? Vamos instalar o servidor Web Apache
Como ter vários sites no Apache usando Virtual Hosts?
Existem diversas configurações que permitem ter vários sites disponíveis num único servidor Web. A forma mais simples é criando Virtual Hosts. A criação de Virtual Hosts permite que, numa única máquina, possamos ter vários sites, sendo que cada um pode estar associado a um nome ou a um endereço IP.
O Apache suporta dois tipos de VHs (Virtual Hosts)
- VHs baseados em nome: ou seja, num único endereço IP é possível ter um número ilimitado de VHs, sendo que o Apache os distingue pelo nome;
- VHs baseados no endereço IP: é necessário que para cada VHs exista um endereço IP, sendo que o Apache distingue os VHs pelo endereço IP da ligação;
Para este tutorial vamos considerar as seguintes informações/configurações:
- Nome do site1– idog.pplware.com
- Alojado em /var/www/html/idog
- Nome do site2– icat.pplware.com
- Alojado em /var/www/html/icat
- Nome do site3– ishark.pplware.com
- Alojado em /var/www/html/ishark
Criar estrutura
Vamos então começar por criar os diretórios para cada site. Para isso basta que usem o seguinte comando:
mkdir idog icat ishark
Em seguida criem um ficheiro (podem usar o editor nano) com o nome index.html, em cada um dos diretórios. Por exemplo, para o ficheiro index.html do diretório icat vamos colocar a seguinte informação:
Façam o mesmo para o index.html do diretório idog e ishark. Para testarem já nesta fase podem, por exemplo, indicar o endereço IP do servidor /diretório do vosso site. No caso do icat o resultado deverá ser o seguinte.
Aceder aos sites por nome
Uma vez que pretendemos aceder aos sites por nome, vamos agora criar os seguintes diretórios:
mkdir /etc/httpd/sites-available
mkdir /etc/httpd/sites-enabled
sites-available – Neste diretório vamos guardar as configurações de todos os sites que iremos ter na máquina.
sites-enabled – Neste diretório vamos ter um link simbólico para os sites que pretendemos ter ativos no servidor.
Depois de criados os diretórios anteriores, devem indicar no ficheiro de configuração do Apache (/etc/httpd/conf/httpd.conf) que deverão ser carregadas as configurações dos sites que se encontram no diretório sites-enabled. Não se esqueçam de fazer um backup do ficheiro de configuração do Apache.
A informação a colocar no final do ficheiro httpd.conf é a seguinte:
IncludeOptional sites-enabled/*.conf
Criar um Virtual Host
Vamos agora para o diretório/etc/httpd/sites-available para criar os virtual hosts para cada um dos sites. Para este tutorial vamos ensinar como criar para o site icat.conf.
Nota: Devem criar o diretório /var/log/httpd/<nome_do_site>
Explicação das directivas mais importantes:
- ServerName –Nome associado ao site
- DocumentRoot –indicação da pasta onde está localizado o site
Ativar Virtual Hosts
Para ativar um Virtual Host basta que crie um link simbólico do ficheiro de configuração no diretório sites-enabled.
ln -s /etc/httpd/sites-available/icat.conf /etc/httpd/sites-enabled/icat.conf
No final de todas as configurações devem reiniciar o Apache usando o comando:
systemctl restart httpd
Como testar…
A forma mais simples de testar e uma vez que não temos um serviço de DNS disponível, é mapear os nomes do sites no respetivo endereço do servidor no ficheiro hosts. No macOS, para este tutorial, usamos a ferramenta Hosts. De referir que esta é uma máquina que se encontra na rede local e tem acesso ao servidor.
Estando tudo configurado, basta acederem da máquina onde alteraram o ficheiro hosts ao servidor web… só que desta vez podem fazê-lo por nome.
Como desafio, criem agora os restantes Virtual Hosts. Depois de tudo bem configurado, reiniciem o Apache e testem a partir de outra máquina na rede. Caso tenham algum problema com as configurações, deixem nos comentários que nós damos uma ajuda.