2008年5月22日木曜日

rhythmboxでdaapサーバを見つけられないのは?

ubuntuでは、ちゃんと daapサーバを見つけて、プラグインの検索とインストールまでやってくれるのに、PC-BSDではうまく、daapサーバを見つけられない。
その辺の違いは?なんなんだろう?
環境の違いを考えてみる。

ubuntuのrhythmboxのバージョンは、0.11.5
FreeBSDのportsのrhythmboxのバージョンは、0.10.1

この違いは関係あるか?

ubuntuとPC-BSDの差として、デスクトップ環境が、
ubuntuは、gnome
PC-BSDは、KDE
で、rhythmboxは、gnome向けのアプリケーションで、PC-BSDには、僕がportsからインストールした。ports/audio/rhythmboxで"make install"で関連するportsもインストールしてくれるハズとおもってインストールした。

検索してみたところ、rhythmboxでdaapサーバを見つけるには、avahiというものが動いていないといけない、らしい。
ubuntuで、"ps -el | grep avahi"とやると、確かに"avahi-daemon"が動いている。
avahiは、LAN上でのサービスをさがす、AppleのBonjuorに相当するものらしい。
daapサービスを探すのにBonjuorを使う必要があるというのは、なんとなく納得。

そのあたりが、うまくインストール出来ていないか?設定できていないか?が、問題のようです。

avahiをportsから入れてみます。

2008年5月21日水曜日

avahiが動いている必要があるそうだ

"rhythmbox daap"で検索してみたら、どうやら、daapサーバを見つけるためには、avahiを動かしておかなくてはいけない、らしい。

僕自身は、「avahiって何?」ってな、状態、

もうちょっと勉強して、portsから入れてみようかな。

PC-BSDでは、「Windows並に、難しいとをしなくても、デスクトップOSとして使える事」を、期待し、また、そのことを確認していこうと思っていたのだけど、現時点では、「rhythmboxを動かしてiTunesサーバの楽曲を楽しむ」のは、簡単ではないのかな?

PBIインストーラを誰かが作ってくれたら、問題は解決です。
そう言う枠組みが出来ているところは、
「PC-BSDがデスクトップOSとして使える可能性を持っている」
と思わせてくれます。

2008年5月20日火曜日

VLCでも、Rhythmboxでも、daapサーバが見つからない

VLCをPBIインストールしてみたが、daapサーバは見えない。

Rhythmboxも試してみようと、ports/audio/rhythmboxから"make install"してみた。
プラグインの設定に、"daap music sharing"があり、チェックをつけてみたが、daapサーバは見えない。

ためしに、ubuntuのLiveCDをつかって、Rhythmboxを起動してみたら、ちゃんとdaapサーバが見える。

Rhythmboxのインストールの問題か?
なんだろう?

2008年5月8日木曜日

iTunesの再生もFreeBSDで!

VIA C3(Samuel2) 733MHz で、mt-daapdを動作して、とりあえずの目標は達成したわけですが、iTunesのクライアントは、まだ、FreeBSDではない。やっぱり、iTunesクライアントもFreeBSD上で動かさなくちゃね。

iTunesサーバで共有した音楽ライブラリを、再生できそうなアプリには、rhythmboxがある。
アプリの作りもiTunesを意識したGUIになっており、使い勝手はよさそうだ。
ただし、rhythmboxのPC-BSDのPBIインストーラは今のところないようだ。
もともと、rhythmboxがgnome向けのアプリで、PC-BSDがKDEを採用しているからかもしれない。

また、vlcでもdaapのクライアントになる機能があるようだ。
vlcなら、PBIインストーラが pbiDIR(http://www.pbidir.com/)に公開されている。

できるだけ、PBIインストールでやりたいので、まず、vlcをインストールして使ってみることにしよう。

2008年5月1日木曜日

Homeサーバとして使ってみる(mt-daapdのプレイリスト)

VIA C3(Samuel2) 733MHzで、Samba3とmt-daapdが起動されました。

まずは、Windowsパソコンから、VIA C3のShareが共有フォルダとして認識できるか?
Workgroupを、Sambaの設定に合わせて、再起動!
ネットワークコンピュータの近くのコンピュータ一覧に、...
ちゃんと見える!

FreeBSDには、Windowsと同じユーザを同じパスワードで作ってあり、Sambaで有効化してある。
だから、問題なく、ユーザのホームには入って、読み書きできる。

共有のShareは、ブラウズできるが、リードオンリーで書き込めない!
これは、パーミッションの問題だろう、グループのWriteパーミッションででも対処するのかな?

とりあえず、ホーム配下に、サンプル曲(AAC)をドカッと置いて、FreeBSDにログインして、Share配下のiTunesライブラリに移動した。

この時、iTunesと同じ形式で、
/ライブラリ/アーティスト/アルバム/曲順_曲名.m4a
と言う形式で格納した。

とにかく、細かな問題は有るものの、Sambaをつかって、家庭内でのファイル共有は出来そうだ。

次に、mt-daapdを再起動して、iMac上のiTunesでネットワーク内のミュージックライブラリとして認識されるか?

みてみると、ちゃんと、共有ミュージックライブラリとして認識され、サーバに設定した名前で表示される!
やるじゃん!mt-daapdさん!

さっそくクリックして中の曲名を見ようとすると、....
アーティストもアルバムもなく、一覧で表示される!
これは、分かりにくい!

どうやら、mt-daapdは、iTunesライブラリのディレクトリ配下に、
アーティスト/アルバム/曲順_曲名.m4a
と言う形式でファイルを置いても、アーティスト、アルバム、のディレクトリは無視して、ファイルだけスキャンしてくれているようだ。

mt-daapdのWebをたどたどと読むと、スマートプレイリストに似た、プレイリストがあるので、それを使えばすこし見え方がマシになりそう。

mt-daapd.conf にパスを指定したプレイリストへ、以下のようなプレイリスト項目を書けばよいらしい。

-----
"プレイリストの名前" {
  "mp3のタグ:例えば:artist" is/includes "キーワード:例えば:Beatles"

-----
例としては、
--
"The Beatles One" {
"artist" is "The Beatles" and "album" includes "Beatles One"
}
--
という感じで、書けば、書いただけ、プレイリストとして表示されるようです。

ただ、これを、手持ちの全アーティストの全アルバム作るのは、けっこう面倒くさいなぁ。

ディレクトリをなめて、プレイリストを作ってくれるスクリプトが有ればいいのか!
う〜ん、既にだれかが作っていそうな気もしますね。

とにかく、リモートのiTunesで曲をとどこおり無く再生出来たので、Homeサーバとしては、性能的にもまずまずかな?
今のところ我が家では、僕しかiTunesで再生しないからね。

iTunesサーバ(mt-daapd)のインストールと設定

さて、次は、iTunesサーバとして、mt-daapdのインストールと設定の実施!
やってみれば簡単でした。

■1) mt-daapdのインストール

--
cd /usr/ports/audio/mt-daapd
make install clean
--
で無事にインストール成功!

■2) mt-daapd.confの設定

インストールが無事成功していると、
/usr/local/etc/mt-daapd.conf と mt-daapd.conf.sampleが追加されているハズ!
インストール直後は、二つは同じものだったので、遠慮なく、mt-daapd.confを修正!

admin_pw : Webからポート3689にアクセスする時の、パスワードを指定しておく!
mp3_dir : mt-daapdサーバのmp3/aacを配置するディレクトリを指定
server_name : server_nameに設定した文字列がクライアントiTunesの他サーバ名に表れる。
playlist : iTunesサーバのplaylistを指定!

■3) rc.confへの起動設定

起動時にmt-daapdが起動されるよう、rc.confに以下の行を追加

--
mt_daapd_enable="YES"
--
ここで、”mt-daapd_enable"と書いて起動できずにハマりました!
"mtアンダーバーdaapd_enable"が正解!
他のところはみんな、"ハイフン"を使ってるので、まるで罠みたいです。

■4) 再起動

再起動して、mt-daapdが起動されれば、取り合えずOK!

■5) Webからのコントロール

mt-daapdもSambaのSWATほどではないにしろ、Webインタフェイスを持っています。

Webブラウザから、以下のURLにアクセス
http://mt-daapdのアドレス:3689/

ユーザ、パスワードを聞かれるので、
ユーザ : admin-root
パスワードには、mt-daapd.confで指定したパスワードを入力!

Webインタフェイスには、[config]タブと[status]タブがあり、設定や状態を見ることができます。
デーモンの再起動などもできますが、コンフィグの書き換えはうまく行かなかった。パーミッションの問題かもしれません。

Sambaのインストールと設定

cvsupによるportsのアップデートが終わったので、さっそく、portsから、
Sambaをインストールして設定しよう。


■1) Sambaのメーク

--
cd /usr/ports/net/samba3
make install clean
--
で問題なくインストール成功!やった!
VIA C3(Samuel2) 733MHz では、ほぼまる一日かかってmake完了しました。

■2) SWATを使えるように、inetd.confを修正

/etc/inetd.confの中でSWATの行の#コメント#を外してリクエストに対して、
inetdからSWATが起動出来るようにする。

■3) WebブラウザからSWATへアクセス

ブラウザから以下のURLへアクセスしてSWATを起動し、Sambaの初期設定を実施。

設定は主に、以下のような設定

[Globals]タブ
workgroup : MSHOMEにすると普通のXP-home等からはすぐに見えるけど、ひねった値を設定!
netbios name : hostnameと同じ値に設定した!
server strings : "Samba Server"って書いた、ここはストレート!
security : "USER"にした、何となく、
hosts allow : Sambaにアクセスする可能性のあるホストの名前か、IPアドレス、まずは、自分のサブネット全体を許可しておいた!

[Shares]タブ
"homes"と"netdrive"を作成!
"homes"は、UNIXのUSERのhome-directoryをSambaで各ユーザに見せるというもの、
"netdrive"は、RAID1で構成したディスクをそのままmountしてそれをShareとして公開している。
どちらのShareも、
read-only : "NO" に設定しないと、書き込みが出来ないのでご用心!

[Password]タブ
Samba上でのユーザアカウントの有効化をする。UNIX上(FreeBSDなんだけど)でUserアカウントを作って、その上で、SWATから、Samba上でそのアカウントを追加して有効化する。という手順。
LDAPなどで、ユーザ管理をすれば、UNIX(FreeBSD)上にアカウントを作らなくても運用できるハズ(まだ、やったことないので)!
LDAP等を使ったアカウント管理は今後の課題として残しておきます。(^_^;)

作業としては、「ローカルマシンのパスワード管理」で、
UNIX上のアカウントを[新規ユーザ追加](この時パスワードも指定、これがSabmaのパスワードになるみたい)
次に、そのアカウントを[ユーザの有効化]する。

[Status]タブのところでsmbd,nmbd,winbinddを起動して試しても良いハズだが、起動時にデーモンが立ち上がるようにrc.confを修正!

■4) rc.confにSamba起動の設定を追加

rc.confに以下の3行を追加
--
samba_enable="YES"
nmbd_enable="YES"
smbd_enable="YES"
--

■5) 再起動

再起動してsmbdが起動されれば、取り合えず、OK!