Neste artigo descrevo como utilizar um mesmo servidor Web Apache para hospedar diversos sites que utilizam, ou não, SSL. As configurações apresentadas foram testadas no CentOS versões 5.9 e 6.3, mas funcionarão normalmente também para qualquer distribuição, apenas realizando pequenos ajustes.
Antes de mais nada, verificamos se os pacotes do Apache, mod_ssl e OpenSSL estão instalados:
# rpm -qa | grep httpd
# rpm -qa | grep ssl
Se não estiverem, instale-os com o comando:
# yum install httpd mod_ssl openssl -y
Obs.: como boa prática, faça cópias de segurança dos arquivos de configuração antes de alterá-los.
Neste artigo utilizaremos quatro sites: site1.com, site2.com, site3.com e site4.com.
Crie um diretório para cada site utilizado:
# mkdir /var/www/site{1,2,3,4}.com
Cada um destes diretórios será utilizado como base para cada site configurado.
Crie um arquivo "index.html"em cada diretório com um conteúdo simples que identifique cada site, como "Site X", por exemplo.
Para os testes desta configuração, apenas inseri no arquivo hosts do cliente os nomes dos sites, apontando-os para o IP do servidor Web. Funciona perfeitamente.
Assim:
172.16.1.192 www.site1.com
172.16.1.192 www.site2.com
172.16.1.192 www.site3.com
172.16.1.192 www.site4.com
Em ambientes de produção, o DNS (interno ou externo) deve resolver os nomes dos sites para o IP do seu servidor Web para que consiga acessar os sites por nome.
[7] Comentário enviado por djcelsodub em 26/07/2013 - 13:26h
Olá mayconbelfort,
Por padrão a porta de HTTP é 80 e HTTPS é 443.
No seu caso, você alterou o "Listen 80" para "Listen 8001". Sendo assim, você deve substituir "80" por "8001" em todas as configurações que referenciam a porta default "80". O mesmo vale para a porta HTTPS.
Como a porta default não precisa ser especificada (pois é implícito na requisição) ao servidor, se esta porta é alterada ela precisa ser especificada na URL.
Como exemplo utilizando a sua configuração na porta 8001, os sites que citei no artigo devem ser acessados assim: