[OFF TOPIC] htaccess, Xampp, DNS: como acessar subdomínios na rede?

705 views
Skip to first unread message

Jonas Magalhães

unread,
Aug 18, 2010, 3:50:53 PM8/18/10
to list...@googlegroups.com
Pessoal,

Tenho um servidor na rede com Xampp instalado e htaccess habilitado. A rede está no domínio "empresa"

Criei um subdomínio de teste "http://teste.sub/".

Estando no servidor, eu consigo acessar corretamente os conteúdos de "http://localhost/", "http://127.0.0.1/" e "http://teste.sub/", mas se eu usar outra máquina na rede, não consigo acessar o endereço "http://teste.sub/", apesar do endereço "http://empresa/" funcionar corretamente.

Alguém sabe como eu consigo configurar subdomínios (htaccess) e disponibilizá-los também na rede?

Aliás, tecnicamente, alguém sabe o nome disso que eu quero fazer?

Agradeço qualquer ajuda!


[]s

Jonas

Bernardo Vieira

unread,
Aug 18, 2010, 5:39:39 PM8/18/10
to list...@googlegroups.com
Isso chama resolução de nome, do lado do cliente, e virtual host baseado em nomes, do lado do apache.
O lado do apache é mais simples, você tem apenas 1 ip, o apache escuta por requisições na porta 80 deste ip e decide qual é o virtual host baseado no nos headers da requisição. Não há nehuma verificação da existência do nome do host ou domínio..

Do lado do cliente a coisa é um pouco mais complicada porque resolução de nome não é a coisa mais simples do mundo. Usualmente você teria uma entrada de dns apontando teste.sub para o endereço ip do servido, mas como isso é um teste provavelmente não faz sentido registrar um dominio e mantar um servidor de dns só por isso, ademais, provavelmente esse servidor terá um ip interno e não é uma boa idéia apontar endereços públicos de dns para ips internos. Existem várias formas de fazer isso funcionar, uma delas é manter um servidor de dns interno que sabe resolver teste.sub para o ip do servidor, desta forma qualquer cliente nesta rede que usa este servidor de dns saberia resolver este nome. Configurar um servidor de dns local dá um bocado de trabalho mas a vantagem  é que você pode criar vários desses domínios de teste sem maiores dificuldades não precisa configurar cada cliente separadamente. Outra solução é editar o arquivo de hosts do cliente (/etc/hosts no linux e mac %systemroot%\System32\drivers\etc\hosts no windows) e cirar a entrada lá. Esta segunda opção é extremamente simples de implementar e não requer nenhum software adicional, porém cada cliente tem que cuidar do seu arquivo de hosts. Resta ainda um segunda questão: por que http://empresa funciona? Bom, normalmente a ordem de resolução de nomes é:
1. verificar se o nome requisitado é o nome da propria máquina
2. verificar se o nome existe no arquivo de hosts
3. consultar o servidor de dns
Acontece que, no windows, se o nome não é encontrado nestas 3 etapas, o sistema operacional ainda tenta outras 2:
4. consultar o active directory (ou wins dependendo da versão do controlador de domíno)
5. tentar encontrar a host via netbios (se a máquina não faz parte de um domínio ou se o domínio não encontrou a máquina)
No seu caso a condição 4 provavelmente foi satisfeita e foi asism que o SO encontrou http://empresa, mas caso tivesse falhado - digamos que você tivesse tentando acessar o xampp instalado em outra máquina da rede - o windows mandaria um broadcast netbios para toda a rede com o nome do host a ser resolvido e se houver uma máquina com este nome na rede ela responderá com o seu ip.

Trocando em miudos, e para resolver seu problema rápido, edite o arquivo de hosts da sua máquina e coloque uma entrada:
<ip do servidor>    teste.sub

Ah, e não se esqueça de verificar se o firewall do servidor vai permitir a conexão.

2010/8/18 Jonas Magalhães <info...@gmail.com>
--
============================================================
LEIAM SEMPRE AS REGRAS DA LISTA:
http://groups.google.com.br/group/listaphp/web/regras-da-lista-php
--
LISTA PHP > http://groups.google.com.br/group/listaphp
--
REVISTA PHP > http://www.revistaphp.com.br
--
AJAX-BRASIL > http://groups.google.com/group/ajax-brasil
--
PYTHON-GOOGLE > http://groups.google.com.br/group/python-google
--
DOTNET-BRASIL > http://groups.google.com.br/group/dotnet_br
============================================================

Suissa

unread,
Aug 18, 2010, 5:41:05 PM8/18/10
to list...@googlegroups.com
Nossa com essa apostila se o cara nao conseguir se aposente =p

2010/8/18 Bernardo Vieira <bvieir...@gmail.com>



--
Jean C. Nascimento aka Suissa
Prof. Análise e Soluções Web Fafit/Facic - Itararé - SP

NoSQL Evangelist - MongoDB Contributor
nosqlbr.com.br/

iGrape Evangelist - Coordenador Geral
http://igrape.org

TheWebMind Evangelist - Coordenador de Interface & NoSQL
http://thewebmind.org/


Jonas Magalhães

unread,
Aug 18, 2010, 7:14:02 PM8/18/10
to list...@googlegroups.com
Bernando,

Era de uma explicação assim que eu precisava. Caiu como uma luva! Resolveu meu problema.

Muito obrigado!

Abraço,


Jonas Magalhães
Reply all
Reply to author
Forward
0 new messages