iTunesサーバの構築 (Centos7)
いままで、自宅のSMBに音楽ファイルを置いて、必要な物はMacbookに落としてきてiTunesで管理するという方式をとっていました。
外でMacbookを使って音楽も聞かないし、容量が圧迫されるし、なんだかなぁと思っていたところ、iTunesサーバなるものがあると知り、構築してみました。
OSなど
OS: Centos 7.1
mt-daapd 0.2.4-1
調査
調べたところ、DAAP(Digital Audio Access Protocol)サーバを構築する方法としては、
- firefly(mt-daap)
- これで作っている例が多い
- forked-daapd
- mt-daapdからの派生らしい(ubuntuだと簡単に入りそう?)
を使う方法があるらしい。mt-daapdの記事がよく引っかかるが、forked-daapdの方が新しいらしい。(ほとんどUbuntu)
この記事を見るとforked-daapdをCentOSに入れているが、色々と面倒そう。
SilverHawk: Finally, the How-To for forked-daapd on CentOS 6.2 64 Bit
ということで、今のところCentOSではfireflyで構築したほうがいいっぽいので、fireflyでいきます。
インストール
結局これもyumに存在しないため、SRPMからのインストールになります。
### 必要パッケージのインストール % sudo yum install rpm-build gcc make sqlite avahi-compat-howl avahi-compat-howl-devel sqlite-devel libid3tag libid3tag-devel --enablerepo=epel ### SRPMをダウンロード % wget http://sourceforge.net/projects/mt-daapd/files/mt-daapd/0.2.4/mt-daapd-0.2.4-1.src.rpm/download -O mt-daapd-0.2.4-1.src.rpm ### 一度SRPMを展開 % rpm -ivh mt-daapd-0.2.4-1.src.rpm ### SPECファイルを編集 (howlの依存, howlのインクルードパスを修正) % vim ~/rpmbuild/SPECS/mt-daapd.spec - Requires: libid3tag gdbm howl + Requires: libid3tag gdbm avahi-compat-howl - ./configure --prefix=$RPM_BUILD_ROOT/usr --enable-howl --with-howl-includes=/usr/include/howl-0.9.8 + ./configure --prefix=$RPM_BUILD_ROOT/usr --enable-howl --with-howl-includes=/usr/include/avahi-compat-howl ### SRPMをビルド % rpmbuild -bb --clean ~/rpmbuild/SPECS/mt-daapd.spec ### mt-daapdのインストール % sudo yum install rpmbuild/RPMS/x86_64/mt-daapd-0.2.4-1.x86_64.rpm
mt-daapd.confがないので、ソースから取得。
### mt-daapdを開始 (mt-daapd,confが存在しない) % sudo systemctl start mt-daapd % sudo systemctl status mt-daapd ... 11月 29 19:26:44 local-pc mt-daapd[14837]: Error reading config file (/etc/mt-daapd.conf) ... ### ソースを解凍 % tar xvzf rpmbuild/SOURCES/mt-daapd-0.2.4.tar.gz -C ~/rpmbuild/SOURCES ### 設定ファイルをコピー % sudo cp ~/rpmbuild/SOURCES/mt-daapd-0.2.4/contrib/mt-daapd.conf /etc ### 設定ファイルを編集 % sudo vim /etc/mt-daapd.conf - mp3_dir /mnt/mp3 + mp3_dir /media/touro/Music/myMusic - #logfile /var/log/mt-daapd.log + logfile /var/log/mt-daapd.log ### ファイアウォール開放 % sudo firewall-cmd --add-port=3689/tcp --zone=public --permanent % sudo firewall-cmd --reload
起動
起動する際にmp3ファイルを全部読みに行くので、時間がかかると起動に失敗するが、ちゃんと動いるっぽいです。
### 起動 % sudo systemctl start mt-daapd Starting mt-daapd (via systemctl): Job for mt-daapd.service failed. See 'systemctl status mt-daapd.service' and 'journalctl -xn' for details. [失敗] ### ログファイルを見る % cat /var/log/mt-daapd.log 2015-11-29 20:10:39: Starting signal handler 2015-11-29 20:10:40: Loading playlists 2015-11-29 20:10:40: Initializing database 2015-11-29 20:10:40: Starting mp3 scan 2015-11-29 20:10:41: Starting web server from /usr/share/mt-daapd/admin-root on port 3689 2015-11-29 20:10:41: Registering rendezvous names 2015-11-29 20:10:41: Scanned 2821 songs in 2 seconds ### psで見てみる % ps auxww | grep mt-daapd mt-daapd 15535 0.0 0.0 109864 1336 ? Sl 20:10 0:00 mt-daapd mt-daapd 15536 0.3 0.2 335180 9504 ? Sl 20:10 0:02 mt-daapd
起動したらちょっと管理ページにアクセスしてみます。
初期設定だと、user: admin, pass: mt-daapdでログインできます。
http://(インストールしたPCのIP):3689/
iTunesの左上の家マークをクリックすると、mt-daapdが表示されています。
文字化けしているものも幾つかありますが、ID3タグの文字コードを編集することで回避できそうです。
まとめ
DAAPサーバを構築することで、ローカルマシンに音楽ファイルを置くことなく、まとめて音楽を管理できるようになりました。
mt-daapdについてはあまり新しい情報がなく、手探りで進める部分も多かったです。(Ubuntuならもっと簡単そう)
今後使っていくうえで何かあればまた書いていこうかなと思っています。
追記
2015/12/07 追記
サーバーサイドでライブラリが管理されているため
等にはやはり難があります。。