差分
このページの2つのバージョン間の差分を表示します。
両方とも前のリビジョン前のリビジョン次のリビジョン | 前のリビジョン | ||
darwin:install [2006/04/17 17:10] – osamu | darwin:install [2008/06/01 18:12] (現在) – osamu | ||
---|---|---|---|
行 1: | 行 1: | ||
+ | ====== OpenDarwinでiTunes Mac/ | ||
+ | OpenDarwinを古いPCにインストールして、iTunes Macのファイルサーバー兼daapサーバーにする。 | ||
+ | ===== 最初はLinuxで試してみた ===== | ||
+ | OpenDarwinを試す前に、Linux (Fedora Core)をファイルサーバーにして使ってみた。ファイル名の扱いはMacもFedora CoreもUTF-8なので、メインのiTunes機であるMac miniからはサーバーのハードディスクを直接NFSでマウントしたところ、濁点つきのカナが入ったファイル名の扱いがおかしくて、ファイルを読んで書き戻すと一見同じ名前のファイルが2つできたりする。UTF-8の「方言」で、濁点つきカナを1文字としてハンドルするか、文字本体と濁点の2文字でコンポーズするかの違いらしい。 | ||
+ | |||
+ | 結局、Linuxのファイルシステムのまま、MacからはAppleTalk (netatalk)で、WindowsからはSambaでアクセスするようにし、FTPでの読み書きはファイルサーバー自身の中でSamba経由でマウントしてファイル名をShift-JISにして見せて、テレビにつないだiTunes Winからジュークボックス的にアクセスするときはmt-daapd経由でつなぐという、あまり気持ちよくない使いかただった。 | ||
+ | |||
+ | OpenDarwinをサーバーにすれば、いろんなところがネイティブになって、もっとスマートで安定して使えるんじゃないかという期待。 | ||
+ | |||
+ | ===== OpenDarwin x86のインストール ===== | ||
+ | Darwin 8.0.1はSSE2の載ったCPUでないと動かないので、OpenDarwin 7.2.1 をインストール。 | ||
+ | ネットワークカードは、よくあるRTL8139(カニ印)チップのものはドライバが無いので使えない。DEC Tulipや3Com 3C905などのカードを探してくること。ジャンク屋に行けば100円ぐらいで売られている。 | ||
+ | |||
+ | インストールCD-ROMのISOイメージをCD-Rに焼いて、CD-ROMブートするとインストール開始。 | ||
+ | インストール後、rootのパスワードを設定、ユーザーを登録してから、リブート。 | ||
+ | リブート時、'' | ||
+ | |||
+ | ==== ブートオプションを設定 ==== | ||
+ | 一旦立ち上がったら、上記の'' | ||
+ | ''/ | ||
+ | < | ||
+ | < | ||
+ | '' | ||
+ | |||
+ | ===== OpenDarwinの設定 ===== | ||
+ | [[http:// | ||
+ | |||
+ | |||
+ | ==== IPアドレスを静的に指定 ==== | ||
+ | インストールした状態では、IPアドレスをDHCPから取得する設定になっているが、サーバーにするために固定のアドレスを指定する。 | ||
+ | ncutilコマンドを使って''/ | ||
+ | <code tcsh> | ||
+ | # ncutil setprop '/ | ||
+ | # ncutil setprop '/ | ||
+ | # ncutil setprop '/ | ||
+ | # ncutil setprop '/ | ||
+ | # ncutil setprop '/ | ||
+ | </ | ||
+ | |||
+ | ==== sshd起動 ==== | ||
+ | SSH でログインできるようにしておこう。 | ||
+ | OpenDarwin 7.2 は Mac OS X 10.3 相当だから、sshd は xinetd 経由。 | ||
+ | ''/ | ||
+ | <code xinetd> | ||
+ | | ||
+ | </ | ||
+ | |||
+ | ==== Timezone設定 ==== | ||
+ | http:// | ||
+ | <code sh> | ||
+ | # rm -f / | ||
+ | # ln -s / | ||
+ | </ | ||
+ | |||
+ | ==== ntp設定 ==== | ||
+ | ''/ | ||
+ | |||
+ | < | ||
+ | server time.asia.apple.com minpoll 12 maxpoll 17 | ||
+ | server ntp1.jst.mfeed.ad.jp | ||
+ | server time.windows.com minpoll 12 maxpoll 17 | ||
+ | </ | ||
+ | |||
+ | ''/ | ||
+ | < | ||
+ | TIMESYNC=-YES- | ||
+ | </ | ||
+ | '' | ||
+ | <code sh> | ||
+ | # / | ||
+ | </ | ||
+ | |||
+ | ===== プログラムのインストール ===== | ||
+ | |||
+ | ==== DarwinPorts ==== | ||
+ | http:// | ||
+ | |||
+ | http:// | ||
+ | |||
+ | (注:opendarwin.org はすでに活動停止しているので、現在は http:// | ||
+ | |||
+ | <code sh> | ||
+ | $ ftp http:// | ||
+ | $ tar xjvf DarwinPorts-1.1.tar.bz2 | ||
+ | $ cd DarwinPorts-1.1 | ||
+ | $ ./configure | ||
+ | $ make | ||
+ | $ sudo make install | ||
+ | </ | ||
+ | ''/ | ||
+ | * '' | ||
+ | <code sh> | ||
+ | set path=($path / | ||
+ | </ | ||
+ | * '' | ||
+ | <code sh> | ||
+ | $PATH=$PATH:/ | ||
+ | export $PATH | ||
+ | </ | ||
+ | |||
+ | 最新版に自動アップデートして、データベースも更新。 | ||
+ | < | ||
+ | $ sudo port -d selfupdate | ||
+ | </ | ||
+ | |||
+ | ==== NFS設定 ==== | ||
+ | NetInfoまたは''/ | ||
+ | http:// | ||
+ | |||
+ | OpenDarwin 7.2.1 の初期設定状態では、NFSの起動時にエラーが出ていた。スタートアップスクリプト ''/ | ||
+ | 同じく '' | ||
+ | <code sh> | ||
+ | sudo port install procmail | ||
+ | sudo port install am-utils | ||
+ | </ | ||
+ | |||
+ | ==== daapデーモン ==== | ||
+ | iTunes共有のサーバーの役割をするdaapデーモン。 | ||
+ | daapd と mt-daapd がある。 | ||
+ | daapdのほうは、DarwinPortsにあるバージョンでそのまま動くが、mt-daapdはDarwinPortsにあるバージョンでは最新のiTunesで認識されないバグがあるので、mt-daapdを使う場合はソースからmakeする。 | ||
+ | 機能面では、mt-daapdのほうが積極的にアップデートされているので、おすすめ。たとえば、daapdではジャンル名がうまく表示されなかったり、コンピレーションのフラグがついている曲がアルバムとしてまとまって表示されないなど不満点がある。 | ||
+ | |||
+ | === daapd === | ||
+ | http:// | ||
+ | |||
+ | DarwinPortsでインストール | ||
+ | <code sh> | ||
+ | $ sudo port install daapd | ||
+ | </ | ||
+ | |||
+ | ''/ | ||
+ | < | ||
+ | Port 3689 | ||
+ | ServerName | ||
+ | DBName | ||
+ | Password | ||
+ | Root ~/ | ||
+ | Cache | ||
+ | Timescan | ||
+ | Rescan | ||
+ | </ | ||
+ | |||
+ | === mt-daapd === | ||
+ | gdbm、libid3tag、zlibが入っていなければ、入れる。 | ||
+ | < | ||
+ | sudo port install gdbm | ||
+ | sudo port install libid3tag | ||
+ | sudo port install zlib | ||
+ | </ | ||
+ | 一度 port install mt-daapd して、DarwinPortsに自動的にこれらをインストールさせるというのも、あり。 | ||
+ | DarwinPorts が使えなければ、ソースからビルドするのが早いかも。 | ||
+ | |||
+ | [[http:// | ||
+ | |||
+ | < | ||
+ | curl http:// | ||
+ | tar xvfz mt-daapd.tar.gz'' | ||
+ | </ | ||
+ | |||
+ | できたmt-daapdのソースディレクトリに移動してconfigure、make。 | ||
+ | 最新のバージョン 0.2.4 で試したところ、ポート番号の取り扱いにバグがあるようで、iTunesから接続すると、iTunes側に変なエラーが出てつながらない。daapのポートである3689番につなごうとしているのにmDNS(Rendezvous改めBonjour)は26894番という違うポート番号を返している様子。ポート番号のバイト順が違う模様(big endianとlittle endianの問題)。 | ||
+ | で、プログラムをちょっと修正。srcディレクトリの中のrend-osx.cを開いて、rend_callback()という関数の中、 | ||
+ | < | ||
+ | usPort=msg.port; | ||
+ | </ | ||
+ | という行を | ||
+ | < | ||
+ | usPort=htons(msg.port); | ||
+ | </ | ||
+ | に書き換える(この修正はmt-daapdのご本家には[[http:// | ||
+ | |||
+ | 書き換えたら、 | ||
+ | < | ||
+ | ./configure | ||
+ | </ | ||
+ | gdbm.hがどこにあるか分からないというエラーが出る場合は、gdbmのインクルードファイルとライブラリのパスを指定。 | ||
+ | < | ||
+ | ./configure --with-gdbm-includes=/ | ||
+ | </ | ||
+ | |||
+ | < | ||
+ | make | ||
+ | sudo make install | ||
+ | </ | ||
+ | で、できあがり。 | ||
+ | contribディレクトリの中のmt-daapd.confを/ | ||
+ | あとは、自動起動するようにしておく。くわしくは、[[http:// | ||
+ | |||
+ | ==== Bonjour (Rendezvous) のホスト名設定 ==== | ||
+ | <code tcsh> | ||
+ | # scutil --set ComputerName " | ||
+ | # scutil --set LocalHostName " | ||
+ | </ | ||
+ | LocalHostNameが、Bonjour(元Rendezvous)でアクセスするときのホスト名。上の場合、darwin.localでアクセスできる。ComputerNameは表示用の「コンピューター名」。 |