Olá! Saturday, 20 de April de 2024.



Dicas CódigoFonte.net
Friday, 28 de December de 2007

Subdomínios no localhost

Olá pessoal,

Igual a mim devem ter inúmeras pessoas que utilizam de algum servidor HTTP para rodar suas aplicações de teste localmente, para logo após publicá-las no site online.

Alguns dias para cá senti a necessidade de criar um subdomínio para que pudesse acessar minha aplicação localmente sem ter que percorrer todo o caminho de pastas após o localhost.

Por exemplo: para eu chegar na aplicação AppTeste eu teria que percorrer http://localhost/aplicacoes/testes/AppTeste

Mas com a configuração do host virtual no apache poderia fazer algo parecido com:
http://appteste.localhost

Mas como fazer isto?

Bom, tendo o Apache instalado, procure pelo arquivo httpd.config que é responsável pelas configurações do apache.

No final do arquivo, geralmente, procure pelo trecho que fala sobre Virtual Host, que provavelmente estará comentado com # no começo de cada linha.

Altere a seguinte linha:

#NameVirtualHost *



Para:

NameVirtualHost 127.0.0.1:80



E adicione o seguinte:

DocumentRoot C:\apache2triad\htdocs ServerName localhost DocumentRoot C:\apache2triad\htdocs\aplicacoes\esteappteste ServerName appteste.localhost



Veja que a linha DocumentRoot deve ser preenchida com o caminho absoluto para se chegar a pasta que deseja abrir ao acessar o endereço http://appteste.localhost, que no meu caso é C:apache2triadhtdocsaplicacoes esteappteste

Já o parâmetro ServerName define o nome do servidor que pode servir como endereço, no meu caso sendo o appteste.localhost

Veja que estes nomes são apenas de exemplo, mas você poderá adicionar quais desejar. Como por exemplo, minha.aplicacao.com que será acessada da seguinte forma: http://minha.aplicacao.com

Mas não acabou! Ainda tem uma configuração importante para que funcione corretamente. Devemos alterar o arquivo hosts do Windows.

Ele fica localizado em C:WindowsSystem32driversetchosts (sem a extensão mesmo)

Eu recomendo você abrir o bloco de notas e clicar no menu 'Abrir', logo após cole o caminho para o arquivo hosts que falei anteriormente.

Alterando o hosts

Após aberto o arquivo, seu conteúdo geralmente termina com uma lista de IPs e nomes que o Windows irá traduzir, por exemplo:

127.0.0.1 localhost ::1 localhost



E para adicionarmos aquele nome de servidor que configuramos no apache, apenas incluímos uma linha neste arquivo:

127.0.0.1 codigofonte.local 127.0.0.1 localhost ::1 localhost



Pronto. Salve o arquivo que você alterou e reinicie o Apache. Tente acessar o endereço que você criou no seu navegador: http://appteste.local

Caso não funcione tente reiniciar o Windows.

Algumas considerações importantes

Note que este arquivo hosts é do Windows e caso você escolha definir um endereço de domínio para sua aplicação, como por exemplo, www.uol.com.br, você não mais conseguirá acessar o site do Uol nesta máquina, pois o Windows estará entendendo que deve traduzir o nome www.uol.com.br para o IP local da sua máquina, que é o 127.0.0.1

Lembre-se também de criar um ponto de restauração do sistema, antes de alterar estes arquivos, para caso aconteça algum problema com sua navegação.

Bom. Por hoje é só pessoal.

Até a próxima.


Comentários do artigo [Novo comentário]

Jeferson Gomide Silva - 12 de February de 2010 - 10:08
Meu !
Seu exemplo é claro e simples que estou até com raiva dos tutoriais lixos que encontrei pelo caminho até encontrar esta página.
Nem a própria documentação do apache explica tão bem.
Estou tentando fazer isso a meses e todos os documentos que eu encontrava referiam-se ao linux, então eu não encontrava nenhuma referencia para configuração de hosts do windows.
Me cadastrei no site só pra comentar e agradecer, valeuzão mesmo !
melkzedek - 22 de July de 2010 - 18:31
patabéns pelo artigo. gostaria também de tirar uma dúvida, baseado no que foi usado acima, como configuro para acesso externo?
Rodrigo - 31 de October de 2011 - 10:30
Complementando o post:

Lembrando que diretórios que tenham pastas com espaços em seu nome, têm de serem escritos na propriedade DocumentRoot do httpd.conf entre aspas duplas:

<VirtualHost 127.0.0.1>
DocumentRoot "C:\usuarios\minha pasta com espaço no nome\site"
ServerName localhost
</VirtualHost>

Se não o Apache não inicializa o serviço.
Para adicionar um comentário você deve efetuar o login


Gostou do CódigoFonte.net? Quer indicar a um amigo?
Preencha os campos a seguir.
Seu Nome:
Seu E-mail:
E-mail de seu Amigo:


CodigoFonte.net » Meu Mural » Competiva - Criação de Sites » Todos os Direitos Reservados © 2002/2010