Qualquer distribuição Linux tem as características perfeitas para implementar os mais diversos serviços web. As configurações dos serviços são normalmente realizadas em ficheiros de texto, mas existem algumas plataformas que simplificam todo o processo.
Hoje vamos ensinar os passos para ter vários sites num único servidor Web Apache. Vamos usar como distribuição o Ubuntu Server.
O Apache é um dos servidores Web mais usado em todo o mundo. Flexibilidade, documentação e uma enorme comunidade, são alguns dos pontos fortes que marcam a diferença do Apache para a concorrência.
O Apache Web Server foi criado em 1995 por Rob McCool 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, entre outros. Para instalar o Apache pode seguir este link.
Por omissão, no Ubuntu Server a diretoria por omissão para colocar sites é em /var/www/html. Relativamente à configuração do Apache (apache2.conf) o ficheiro principal de configuração encontra-se em /etc/apache2. Nesta diretoria podemos encontrar outros ficheiros de configuração e também algumas subdiretorias. Aqui fica uma pequena descrição dos mais importantes:
- apache2.conf: Ficheiro principal de configuração do Apache
- ports.conf: Ficheiro usado para indicar que portos lógicos usar quando configuramos VirtualHosts
- conf.d: Esta diretoria é usada para controlar alguns aspetos específicos da configuração do Apache. Por exemplo, dentro desta diretoria podemos encontrar os ficheiros para configurar SSL no nosso servidor
- sites-available/: Esta diretoria contem toda a informação sobre os VirtualHosts criados.
- sites-enabled/: Esta diretoria estabelece quais os sites que estão ativos
Como ter vários sites no Apache usando Virtualhosts?
Existem várias configurações que permitem ter vários sites disponíveis num único servidor Web. A forma mais simples é criando VirtualHosts e essa configuração pode ser facilmente realizada.
Para este tutorial vamos considerar as seguintes informações/configurações:
- Nome do site1 – site1.pplware.com
- Nome do site2 – site2.pplware.com
- Nome do site3 – site3.pplware.com
site1.pplware.com
A forma mais simples de configurar um VirtualHosts(VH) é copiando o modelo (/etc/apache2/sites-available/000-default que é disponibilizado pelo apache.
sudo cp /etc/apache2/sites-available/000-default.conf /etc/apache2/sites-available/site1.conf
Explicação das diretivas mais importantes:
- DocumentRoot – indicação da pasta onde está localizado o site
- ServerName – Nome associado ao site
As duas linhas finais de cada VirtualHosts referem-se aos logs (acesso e erro) para cada site.
Ativar o VirtualHost usando o utilitário a2ensite.
Para ativarem o VirtualHost usando o a2ensite, basta que usem o seguinte comando:
sudo a2ensite site1
Depois basta executar o comando para reiniciarem o Apache.
systemctl reload apache2
Nota: Não se esqueçam de criar o diretório /var/www/html/site1 e colocar lá o vosso site. Podem, para testes, simplesmente criar um ficheiro com o nome index.html e colocar alguma mensagem.
Quem não tiver um servidor de DNS disponível para efetuar configurações e criar um registo dos VH criados, pode facilmente colocar a informação no ficheiro /etc/hosts para testar num ambiente local.
Nota importante: A informação contida no ficheiro hosts leva prioridade sobre a informação do servidor de DNS definido. Assim, caso não necessitem mais das configurações, retirem as mesmas do ficheiro hosts. Se pretenderem aceder remotamente ao servidor Web, basta configurar os endereços referidos no ficheiro hosts da máquina remota (se for Windows, vejam aqui como fazer).
Como “TPC” experimentem criar os dois sites restantes e ativá-los no apache, tal como fizeram com o anterior.
Esperamos que este artigo seja de utilidade e esperamos brevemente trazer novas dicas. Se alguém tiver sugestões, não se esqueça de as deixar nos comentários.