
Bonjour는 사랑스러운 기술입니다. 내 Mac(Snow Leopard)에 있는 모든 사용자 정의 가상 호스트를 Bonjour를 통해 방송하고 싶습니다. 모든 가상 호스트를 별도로 활성화하지 않고도 이를 수행하는 가장 좋은 방법은 무엇입니까?
답변1
나는 당신이 내장된 Apache Server를 사용하고 있다고 가정할 것이므로...
파일을 열면 httpd.conf
일반적으로 맨 아래에서 다음을 볼 수 있습니다.
Include /private/etc/apache2/other/*.conf
"other" 디렉토리에는 php.conf와 bonjour.conf가 모두 포함되어 있습니다.
Bonjour.conf에는 몇 가지 이상한 점이 있지만, 그 중 하나는 기본 파일에 가능한 옵션 중 일부가 포함되어 있지 않다는 것입니다. 내가 아는 한 가능한 옵션은 세 가지뿐입니다.
RegisterDefaultSite
이는 VHost가 아닌 기본 사이트를 브로드캐스트하고 시스템 이름(공유 환경 설정의 "컴퓨터 이름"으로 정의됨)을 Bojour 서비스 제목으로 사용합니다.
RegisterUserSite
여기에는 세 가지 옵션 중 하나가 필요합니다.
<a username>
all-users
customized_users
처음 두 개는 자명하지만 customized_users
다소 영리합니다. 각 사용자가 의 index.html을 변경했는지 확인합니다 ~/Sites
. 그렇다면 해당 사용자의 페이지가 브로드캐스트됩니다.
RegisterResource
이것은 아마도 당신이 찾고 있는 것일 것입니다. 서비스 이름과 경로라는 두 가지 인수를 허용합니다.
전:
RegisterResource HelloLan /
나의 제안:
VHost를 사용하지 않기 때문에 직접 시도하지는 않았지만 각 VHost에 RegisterResource를 배치하려고 합니다.
mod_bonjour
기본적으로 제공되는 제품에는 여러 RegisterResource
옵션 에 몇 가지 문제가 있다고 들었습니다 . 여기를 참조하세요.http://deeperdesign.wordpress.com/2010/06/13/apples-mod_bonjour-is-broken-in-snow-leopard-so-i-fixed-it/.
앞서 언급한 페이지에 누군가 댓글을 남기면서 VHost Bonjour가 가능하다고 제안하는 것 같았습니다.
행운을 빕니다!
답변2
명확히 말하자면, 다른 컴퓨터가 귀하가 만든 가상 호스트에 액세스할 수 있도록 컴퓨터에 대한 대체 A/CNAME 레코드(예: devsite1.local, devsite2.local, ...)를 등록하시겠습니까? Bonjour API(Avahi와 달리)는 임의의 레코드 이름을 등록하는 것을 허용하지 않기 때문에 이를 수행하는 쉬운 방법은 없습니다.
답변3
데비안에서는 다음을 수행했습니다.
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>
이는 모든 가상 호스트에 동시에 적용됩니다.