Linux slogan
Visite também: Segurança Linux · BR-Linux.org · Dicas-L · Doode · NoticiasLinux · SoftwareLivre.org · UnderLinux



» Screenshot
Linux: GNOME
Por davi182
» Login
Login:
Senha:

Se você ainda não possui uma conta, clique aqui.

Esqueci minha senha



Artigo

Virtual Host com Apache
Linux user
johnson
09/11/2004
Virtual Host é a capacidade de hospedar mais do que um web site numa única máquina, com um endereço IP ou mais. Nesse artigo aprenderemos os fundamentos básicos para se configurar virtual hosts no servidor.
Por: Johnson Teixeira do Nascimento
[ Hits: 121929 ]
Conceito: 10.0   5 voto(s)5 voto(s)5 voto(s)5 voto(s)5 voto(s) + quero dar nota ao artigo

Apache

Adiante vou explicar como configurar vários domínios em uma única máquina. Vou levar em consideração que você está em um máquina Linux com o Apache corretamente instalado.

Tudo bem, mão na massa!

Vamos usar como exemplo dois endereços diferentes:
  • www.meusite1.com
  • www.meusite2.org

Vamos modificar dois arquivos:
  • /etc/hosts
  • httpd.conf1

1: arquivo normalmente localizado em /usr/local/apache2/conf/, /etc/httpd/conf/ ou /etc/apache/conf/.

Abra o arquivo /etc/hosts e acrescente as seguintes linhas:

127.0.0.1    meusite1   www.meusite1.com   meusite1
127.0.0.1    meusite2   www.meusite2.org     meusite2

Abra o httpd.conf e no final do arquivo, acrescente o seguinte:

NameVirtualHost *

  <VirtualHost *>
    ServerName localhost
    DocumentRoot /usr/local/apache2/htdocs
  </VirtualHost>

  <VirtualHost *>
    ServerName www.meusite1.com
    DocumentRoot /usr/local/apache2/htdocs/meusite1
  </VirtualHost>

  <VirtualHost *>
    ServerName www.meusite2.org
    DocumentRoot /usr/local/apache2/htdocs/meusite2
  </VirtualHost>

OBS: Você deve ter os diretórios meusite1 e meusite2 no seu DocumentRoot. Preste atenção nas linhas DocumentRoot. Se o seu DocumentRoot está em /var/www/html, você deve modificar a linha para "DocumentRoot /var/www/http/meusite1".

Próxima página >>




Páginas do artigo
   1. Apache
   2. Solucionando problemas

Outros artigos deste autor

Leitura recomendada

Comentários
[1] Comentário enviado por removido em 09/11/2004 - 19:27h:

Showw de bola o artigo simples e direto ao assunto... Parabéns..


[2] Comentário enviado por alphainfo em 09/11/2004 - 22:00h:

Legal o artigo. Mas não seria melhor se ao invés de usar o arquivo hosts, você usasse servidor DNS?

[]'s

Daniel Freire

[3] Comentário enviado por alphainfo em 09/11/2004 - 22:10h:

Ah, esqueci tb, na solução de problemas, existe uma outra solução, que é setar a diretiva "DirectoryIndex" e discriminar os arquivos que o Apache pegará como index. Tipo:

DirectoryIndex index.htm index.html index.php

E, lógico, se não for respoitório de arqquivos e tal, BLOQUEAR Multiviews impede que isso aconteça.

[]'s

Daniel Freire

[4] Comentário enviado por yusuke em 10/11/2004 - 04:13h:

sugiro um artigo sobre como criar um certificado no apache com ssl
estou procurando a um bom tempo...

[5] Comentário enviado por HackSpy em 10/11/2004 - 15:25h:

O Virtual Host para leigos é um bicho de sete cabeças, mas bastando ter um IP fixo e conhecimento em protocolos em LINUX, é possível realizar hospedagens e muito mais em sua própria residência. Parabéns pelo artigo!

[6] Comentário enviado por johnson em 10/11/2004 - 16:52h:

Resposta ao alphainfo.

Não falei sobre configuração de servidor dns porque complicaria mais o artigo, que no caso não era a minha intenção. Minha intenção era que a pessoa, em poucas linhas, criar domínios virtuais.

[7] Comentário enviado por sh0x em 11/11/2004 - 04:59h:

Tah bacana o artigo, mais porem mesmo assim, a maquina ainda naum vai responder pelos Dominios certo!?
pra isso teriamos que quer um servidor DNS certo!? ou dessa forma os dominios jah responderiam ?

[8] Comentário enviado por johnson em 11/11/2004 - 14:33h:

Claro... numa rede isto não seria o correto. Tem que ter um servidor dns com um ip que realmente exista, etc...



[9] Comentário enviado por jhonny em 23/11/2004 - 01:00h:

Meus parabéns pelo artigo irmão; simples e objetivo!

[10] Comentário enviado por Hiram em 18/02/2005 - 11:12h:

muito bem explicado amigo!!! Geralmente as documentações oficiais são totalmente confusas ou pouco intuitivas... raramente vão direto ao assunto...

isso ae parabéns.. vai pro favoritos pra vc faturar 100 pts hahaah!

[]s

[11] Comentário enviado por mastergeekcd em 01/10/2005 - 03:49h:

Muito bom este artigo! fiz e funfa legal!

[12] Comentário enviado por sapiras em 13/12/2005 - 15:41h:

Legal, tem como fazer pelo Alias também?

[13] Comentário enviado por pitt3r_p4rk3r em 14/12/2005 - 16:32h:

Bom artigo...

Simples, Direto, Pratico e Funcional.

[14] Comentário enviado por mrc5 em 05/01/2006 - 20:06h:

Muito bom esse artigo, fiz e funcionou tudo certinho.
Parabéns.

[15] Comentário enviado por kady em 09/01/2006 - 13:23h:

Até o momento tudo certo
mais como poderei deixar para que quando alguem entrar em http://meuip
entre em determinada pasta?

eu configurei e gostaria que se fosse digitado somento o ip ir para uma determinada pasta..
jah com virtual host que foi mostrado eu terei que por http://meuip/pasta

alguem pode me ajudar?

OBS preciso dos dois casos
http://meuip/
http://meuip/pasta

porem usuarios diferentes


[16] Comentário enviado por beto_pena em 07/06/2006 - 08:46h:

A respeito do DNS:
você só precisa acidionar as linhas de novas zonas no 'named.conf' e criar os arquivos das zonas (M.site.com.br e dominio/S.site.com.br, por exemplo) dentro da pasta root do seu named.

[17] Comentário enviado por beto_pena em 07/06/2006 - 08:57h:

Ao KADY:
sobre entrar digitando o IP, é só digitar o IP mesmo...eheh. Não faz diferença...
em relação à distinção de usuários:
- Dentro do diretório que vai ser restrito vc cria um arquivo '.htaccess':
$ vi $root_do_apache/restrito/.htaccess
#AuthName "Acesso restrito"
#AuthType Basic
#AuthUserFile $root_do_apache/acesso_restrito.pwd
#Require valid-user
#Satisfy All
:x

Agora vc cria o(s) usuário(s):
$htpasswd -c $local_do_pwd/acesso-restrito.pwd usuario

Pronto. Agora é só relaxar, testar e aproveitar.
(Ah, o -c do htpasswd é só pra indicar onde vc vai criar o arquivo de usuários)



[18] Comentário enviado por beto_pena em 07/06/2006 - 09:07h:

ah, antes que eu me esqueça..suponho que vc já tenha configurado o:
<Directory "$root_do_apache/restrio">
AllowOverride AuthConfig
<IfModule mod_access.c>
Order allow,deny
Allow from All (ou Allow from suarede/máscara)
</IfModule>
</Directory>

[19] Comentário enviado por vinivend em 25/10/2007 - 08:42h:

otimo artigo, simples e bem explicativo

[20] Comentário enviado por flavi0 em 23/11/2007 - 17:39h:

olá,
você usou

NameVirtualHost *

<VirtualHost *>
ServerName localhost
DocumentRoot /usr/local/apache2/htdocs
</VirtualHost>

com asterisco (*)
gostaria de saber se eu poderia usar alguma outra coisa no lugar do asterisco

obrigado ^^

[21] Comentário enviado por gpr.ppg.br em 16/12/2007 - 00:01h:

nao consigo acessar pela rede intranet

ex: www3.meusite.com.br

só no servidor. que faço? onde arrumo isso?

abraços,
gpr.

[22] Comentário enviado por gpr.ppg.br em 16/12/2007 - 00:53h:

algo nao acertei.

meu www3.minhaintranet.com.br

nao funciona na rede só no servidor, porque será?

algo errado no bind??? ou no apache???


abraços,
gpr.

[23] Comentário enviado por ares em 12/05/2008 - 14:08h:

?comentario=Acho que seria melhor usado com named.conf e sites-available.

[24] Comentário enviado por levisa em 10/12/2009 - 16:02h:

pessoal tem como eu fazer essa referencia(redirecionamento) do virtualHost para outra maquina algo do tipo:

<VirtualHost *>
ServerName localhost
DocumentRoot http:\\196.255.255.255\meusite2
</VirtualHost>


Contribuir com comentário


  
Para executar esta ação você precisa estar logado no site, caso contrário, tudo o que for digitado será perdido.
Responsável pelo site: Fábio Berbert de Paula - Conteúdo distribuído sob licença GNU FDL
Site hospedado por:

Viva o Linux

A maior comunidade Linux da América Latina! Artigos, dicas, tutoriais, fórum, scripts e muito mais. Ideal para quem busca auto-ajuda em Linux.