Pular para o conteúdo

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.
Celso S. Faria djcelsodub
Hits: 30.466 Categoria: Linux Subcategoria: Internet
  • Indicar
  • Impressora
  • Denunciar
O Viva o Linux depende da receita de anúncios para se manter. Ative os cookies aqui para nos patrocinar.
Não conseguimos carregar os anúncios. Se usa bloqueador, considere liberar o Viva o Linux para nos patrocinar.

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.

O Viva o Linux depende da receita de anúncios para se manter. Ative os cookies aqui para nos patrocinar.
Não conseguimos carregar os anúncios. Se usa bloqueador, considere liberar o Viva o Linux para nos patrocinar.
O Viva o Linux depende da receita de anúncios para se manter. Ative os cookies aqui para nos patrocinar.
Não conseguimos carregar os anúncios. Se usa bloqueador, considere liberar o Viva o Linux para nos patrocinar.
   1. Considerações iniciais
   2. Sites sem SSL (HTTP)
   3. Sites com SSL (HTTPS)

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

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

SOCKS - Acessando Hosts remotos via OpenSSH

Servidor FTP externo no Ubuntu 12.04 - Criação e configuração

QRCODE - Código de barras bidimensional

Configurando modem MF622 no Linux com velocidade superior a 512K

Certificação Digital no Linux - Apache2

#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

Entre na sua conta para comentar.