サーバーをPowerMac G4 Cube(PowerPC G4 450MHz)からMac mini(Intel Core2Duo 2GHz)に入れ替えたことで、サーバーの処理能力が大幅に向上しました。そして、Webサービスだけでは使いきれない、有り余るCPU資源を活用すべく、Xcodeの分散ビルドサーバーを立てて見た。
まず、最初にサーバーのファイアーウォールに穴を開けます。
MacOS X Serverの場合は、サーバー管理ツールのファイアーウォール設定で、「分散コンパイラ ポート3632」を許可します。
MacOS X クライアントの場合は、システム環境設定のセキュリティのファイアーウォール設定で、実行ファイル/usr/bin/distccdに対して、受信接続を許可にします。
なお、/usrディレクトリ内部のファイルは、初期状態では選択できないので、エイリアスやシンボリクリンクなどをうまく使う必要があります。
つぎに、Xcode環境設定の分散ビルドで、「共有ワークグループビルドのためにこのコンピュータを共有」にチェックを入れる。これで、分散ビルドのサーバープロセスが起動するので、アクティビティモニタを見て、distccdというプロセスが幾つか起動しているのを確認しよう。なお、分散ビルドの設定が終わったら、その後Xcodeを終了させて、ログアウトしても、分散ビルドサーバーは起動し続けます。

サーバー側で分散ビルドのサーバープロセスが起動すると、クライアント側には、そのホスト名などが表示され、ステータスが「共有」になります。もしも、ステータスが赤字で「到達不能」などと出た場合は、Bonjourによってホストを認識しているので、レイヤー2のEthernetレベルではパケットが通るけど、レイヤー3のIPレベルでパケットが通らないということになるので、サーバーとクライアントのIPアドレスの設定や、ファイアーウォールでブロックされていないかなどを調べよう。または、手動でセットとホストを新規に追加し、ホスト名にIPアドレスを直接入力して見るのも手です。
分散ビルドサーバーをうまく認識したところで、「共有ワークグループビルドでビルドを分散」にチェックを入れると、あとは普通にビルドを実行するだけで分散ビルドになります。
うちでは、サーバーとクライアントが、ギガイーサーで接続されているので結構快適に動作します。サーバーもクライアントもCPUがCore2Duoなので、コア数が合計4コアになって、4つのソースファイルを同時にコンパイルするようになりました。