Servidor Apache hospedando diversos sites com e sem SSL

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.

[ Hits: 29.067 ]

Por: Celso S. Faria em 22/03/2013


Considerações iniciais



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.

    Próxima página

Páginas do artigo
   1. Considerações iniciais
   2. Sites sem SSL (HTTP)
   3. Sites com SSL (HTTPS)
Outros artigos deste autor

Nagios - Configurando níveis de acesso e autenticação centralizada no Active Directory

Integrando Nagios e Google Maps

Apache Mod_Proxy como Front-End de acesso e balanceamento de diversas aplicações web

Openfire integrado em uma floresta Active Directory

Restauração e registro do RedHat após utilização de repositórios CentOS

Leitura recomendada

Como hospedar um site no seu próprio micro

Transformando o Linux em um Access Point com hostapd

Balanceamento de carga e alta disponibilidade com Bonding Driver e Iproute2

Simulando aplicações simples com TinyOS e Cooja

Instalando o Nagios-mysql no Debian Etch

  
Comentários
[1] Comentário enviado por danniel-lara em 22/03/2013 - 09:39h

Parabéns pelo Artigo muito bom mesmo

[2] Comentário enviado por MarceloTheodoro em 22/03/2013 - 11:46h

Artigo veio em boa hora. :)
Valeu!!

[3] Comentário enviado por djcelsodub em 22/03/2013 - 12:38h

Daniel e Marcelo:

Obrigado por seus comentários.
Fico feliz em saber que o artigo ajudou.

Celso Faria
Americana/SP

[4] Comentário enviado por Teixeira em 28/03/2013 - 19:29h

Parabéns pelo artigo.

[5] Comentário enviado por djcelsodub em 29/03/2013 - 20:41h

Teixeira,

Obrigado pelo seu comentário.

Celso Faria
Americana/SP

[6] Comentário enviado por mayconbelfort em 26/07/2013 - 10:21h

Caro djcelsodub,

No meu caso, o apache está configurado para a porta 8001, mas ao digitar o nome do site não deu nada!

O que pode ser?

Obrigado.

[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:

www.site1.com:8001
www.site3.com:8001

Espero ter ajudado.

Abs.

Celso Faria
Americana/SP


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts