
Bonjour es una tecnología encantadora. Me gustaría que todos mis vhosts personalizados en mi Mac (Snow Leopard) transmitieran vía bonjour. ¿Cuál es la mejor manera de hacer esto sin tener que habilitar cada vhost por separado?
Respuesta1
Voy a suponer que estás usando el servidor Apache integrado, así que...
Si abres tu, httpd.conf
normalmente podrás ver en la parte inferior:
Include /private/etc/apache2/other/*.conf
El directorio "otro" contiene tanto php.conf como bonjour.conf
Bonjour.conf tiene algunas rarezas, por un lado, el archivo predeterminado no incluye algunas de las opciones posibles. Hasta donde yo sé, sólo hay tres opciones posibles:
RegisterDefaultSite
Esto transmite el sitio principal, no un VHost, y utiliza el nombre de la máquina (como se define en "Nombre de la computadora" en las preferencias de uso compartido) como título del servicio Bojour.
RegisterUserSite
esto requiere una de tres opciones:
<a username>
all-users
customized_users
Los dos primeros se explican por sí solos, pero customized_users
son bastante inteligentes; comprueba si cada usuario ha realizado cambios en index.html en ~/Sites
; si es así, se difunde la página de ese usuario.
RegisterResource
Probablemente este sea el que estás buscando; acepta dos argumentos, un nombre de servicio y una ruta.
Ex:
RegisterResource HelloLan /
Mi sugerencia:
Intentaría colocar un RegisterResource en cada VHost, aunque no uso VHosts y por eso no lo he probado yo mismo.
He oído que el modelo mod_bonjour
que se envía de forma predeterminada tiene algunos problemas con múltiples RegisterResource
opciones, consulte aquí:http://deeperdesign.wordpress.com/2010/06/13/apples-mod_bonjour-is-broken-in-snow-leopard-so-i-fixed-it/.
Alguien que dejó un comentario en la página antes mencionada pareció sugerir que VHost Bonjour es posible.
¡mucha suerte!
Respuesta2
Solo para aclarar, ¿desea registrar registros A/CNAME alternativos (por ejemplo: devsite1.local, devsite2.local, ...) para su máquina para que otras máquinas puedan acceder a los hosts virtuales que ha creado? No existe una manera fácil de hacer esto ya que la API Bonjour (a diferencia de Avahi) no permite registrar nombres de registros arbitrarios.
Respuesta3
En Debian hice:
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>
esto se aplica a todos los vhosts a la vez.