
Bonjour é uma tecnologia adorável. Gostaria que todos os meus vhosts personalizados no meu mac (Snow Leopard) fossem transmitidos via bonjour. Qual é a melhor maneira de fazer isso, sem precisar habilitar cada vhost separadamente?
Responder1
Vou presumir que você está usando o servidor Apache integrado, então...
Se você abrir o seu, httpd.conf
geralmente poderá ver na parte inferior:
Include /private/etc/apache2/other/*.conf
O diretório "other" contém php.conf e bonjour.conf
Bonjour.conf tem algumas peculiaridades, por exemplo, o arquivo padrão não inclui algumas das opções possíveis. Pelo que eu sei, existem apenas três opções possíveis:
RegisterDefaultSite
Isso transmite o site principal, não um VHost, e usa o nome da máquina (conforme definido por "Nome do computador" nas preferências de compartilhamento) como o título do serviço Bojour.
RegisterUserSite
isso leva uma das três opções:
<a username>
all-users
customized_users
Os dois primeiros são autoexplicativos, mas customized_users
bastante inteligentes; verifica se cada usuário fez alterações no index.html em ~/Sites
; nesse caso, a página desse usuário é transmitida.
RegisterResource
Este é provavelmente o que você está procurando; aceita dois argumentos, um nome de serviço e um caminho.
Ex:
RegisterResource HelloLan /
Minha sugestão:
Eu tentaria colocar um RegisterResource em cada VHost, embora não use VHosts e, portanto, não tentei sozinho.
Ouvi dizer que o mod_bonjour
que é enviado por padrão tem alguns problemas com várias RegisterResource
opções, veja aqui:http://deeperdesign.wordpress.com/2010/06/13/apples-mod_bonjour-is-broken-in-snow-leopard-so-i-fixed-it/.
Alguém deixando um comentário na página mencionada parecia sugerir que o VHost Bonjour é possível.
então boa sorte!
Responder2
Só para esclarecer, você deseja registrar registros A/CNAME alternativos (por exemplo: devsite1.local, devsite2.local, ...) para sua máquina para que outras máquinas possam acessar os hosts virtuais que você criou? Não há uma maneira fácil de fazer isso, pois a API Bonjour (ao contrário do Avahi) não permite o registro de nomes de registros arbitrários.
Responder3
No debian eu fiz:
a2enmod mod-dnssd
cat /etc/apache2/mods-enabled/mod-dnssd.conf
# This is the config file for mod_dnssd.<br>
< IfModule mod_dnssd.c><br>
DNSSDEnable On<br>
< /IfModule>
isso se aplica a todos os vhosts de uma só vez.