Hello Tiger
ComputingI had to replace my home server’s [broken Ubuntu][1]. It is an ancient Mac Cube, so going back to MacOSX Tiger seemed like the easiest thing to do.
Using [MacPorts][2], I installed [Apache2][3], [SVN][4], [SSL][5] etc.
With a WebDAV repository setup, I needed a way to broadcast it’s URL over the local subnet using [Bonjour][6], ironically for a Mac there did not seem to be a way to do it.
MacOS Client comes with a Bonjour Module for Apache 1.3, MacOSX Server comes with one for Apache2 (but I do not have it). Linux can use [mod_dnssd][7] but as it is based on [Avahi][8], I am pretty sure it won’t work on MacOSX.
A bit of Googling and I found the [dns-sd][9] command. The man page says it is designed for testing only, but it seems to work fine, fired off once at startup.
I use this plist, placed in /Library/LaunchDaemons/
[1]: {% post_url 2007-10-21-grotty-gibbon %} [2]: http://www.macports.org/ [3]: http://httpd.apache.org/docs/2.2/ [4]: http://subversion.tigris.org/ [5]: http://www.openssl.org/ [6]: http://www.apple.com/macosx/technology/bonjour.html [7]: http://0pointer.de/lennart/projects/mod_dnssd/ [8]: http://avahi.org/ [9]: http://developer.apple.com/documentation/Darwin/Reference/Manpages/man1/dns-sd.1.html
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>Debug</key>
<false/>
<key>Label</key>
<string>org.fiveone.shared-dav-dns-sd</string>
<key>OnDemand</key>
<false/>
<key>ProgramArguments</key>
<array>
<string>/usr/bin/dns-sd</string>
<string>-R</string>
<string>Shared-DAV</string>
<string>_webdav._tcp</string>
<string>local</string>
<string>80</string>
<string>path=/Shared/</string>
</array>
<key>RunAtLoad</key>
<true/>
<key>ServiceDescription</key>
<string>Bonjour Shared</string>
</dict>
</plist>