表題通り。元ネタのソースは http://deeperdesign.wordpress.com/2010/06/13/apples-mod_bonjour-is-broken-in-snow-leopard-so-i-fixed-it/ になります
Mac には mod_bonjour ってなApacheのモジュールがついています
www.opensource.apple.com にソースがありますが、Apple製のようですね。 普段 Linux ばっかり触ってるので、OSXの仕様に寄せたモジュールは新鮮です。
デモ
/etc/apache2/other/bonjour.conf をいじることで 任意のURLをbonjourで共有(ブロードキャスト?)できます
下記のような設定を書くと...
<IfModule bonjour_module> RegisterUserSite customized-users # "http://<Macのホスト名>/perl というURLがブロードキャストされる RegisterResource “hibomaのperl" "/perl" </IfModule>
Safariでこんな風↓に表示されます。 なお、予めSafariの設定でBonjourを有効にしてください
実名やら余計なの混じってますが、気にせずに。
DNS/hosts を用意していなくてもホスト名でHTTP接続することができます。
だが、しかし mod_bonjour はバグってる
ところがですね、元ネタ によると 元から入ってるmod_bonjour はバグもちなので, https://github.com/orj/mod_bonjour の修正版ソースを使うと良いようです。バグの内容は、複数の RegisterResource を書いても一個しか反映されないという挙動らしいです。Appleさん...
修正版の mod_bonjour ビルドの手順は下記になります
# githubで更新されたらここのURL変わるので、注意ね $ wget https://download.github.com/orj-mod_bonjour-ef5af6a.tar.gz $ tar xvfz orj-mod_bonjour-ef5af6a.tar.gz $ cd orj-mod_bonjour-ef5af6a # warning 結構出る。無視 $ make $ sudo make install $ sudo apachectl restart
インストール後、Safariで確認してみましょう