
Bonjour ist eine tolle Technologie. Ich möchte, dass alle meine benutzerdefinierten virtuellen Hosts auf meinem Mac (Snow Leopard) über Bonjour übertragen. Wie kann ich das am besten erreichen, ohne es für jeden virtuellen Host einzeln aktivieren zu müssen?
Antwort1
Ich gehe davon aus, dass Sie den integrierten Apache-Server verwenden, also ...
Wenn Sie Ihre öffnen, httpd.conf
sehen Sie normalerweise ganz unten:
Include /private/etc/apache2/other/*.conf
Das Verzeichnis "other" enthält sowohl php.conf als auch bonjour.conf
Bonjour.conf weist jedoch einige Merkwürdigkeiten auf. So fehlen in der Standarddatei einige der möglichen Optionen. Soweit ich weiß, gibt es nur drei mögliche Optionen:
RegisterDefaultSite
Dadurch wird die Hauptseite und nicht ein VHost gesendet, und der Name der Maschine (wie in den Freigabeeinstellungen unter „Computername“ definiert) wird als Titel des Bojour-Dienstes verwendet.
RegisterUserSite
Dies erfordert eine der folgenden drei Optionen:
<a username>
all-users
customized_users
Die ersten beiden sind selbsterklärend, aber customized_users
ziemlich clever: Es wird geprüft, ob jeder Benutzer Änderungen an der Datei index.html vorgenommen hat. ~/Sites
Wenn dies der Fall ist, wird die Seite dieses Benutzers gesendet.
RegisterResource
Dies ist wahrscheinlich das, wonach Sie suchen; es akzeptiert zwei Argumente, einen Dienstnamen und einen Pfad.
Ex:
RegisterResource HelloLan /
Mein Vorschlag:
Ich würde versuchen, in jedem VHost eine RegisterResource zu platzieren, obwohl ich keine VHosts verwende und es daher nicht selbst ausprobiert habe.
Ich habe gehört, dass mod_bonjour
es bei der standardmäßig ausgelieferten Version einige Probleme mit mehreren RegisterResource
Optionen gibt, siehe hier:http://deeperdesign.wordpress.com/2010/06/13/apples-mod_bonjour-is-broken-in-snow-leopard-so-i-fixed-it/.
Jemand, der auf der oben genannten Seite einen Kommentar hinterlassen hat, schien darauf hinzudeuten, dass VHost Bonjour möglich sei.
also viel Glück!
Antwort2
Nur zur Klarstellung: Sie möchten alternative A/CNAME-Einträge (z. B. devsite1.local, devsite2.local, ...) für Ihren Computer registrieren, damit andere Computer auf die von Ihnen erstellten virtuellen Hosts zugreifen können? Dies ist nicht einfach möglich, da die Bonjour-API (im Gegensatz zu Avahi) die Registrierung beliebiger Eintragsnamen nicht zulässt.
Antwort3
Unter Debian habe ich Folgendes gemacht:
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>
dies gilt für alle virtuellen Hosts gleichzeitig.