MediaTomb を導入して DLNA サーバを構築する.
MediaTomb のインストール
# wget http://downloads.sourceforge.net/mediatomb/mediatomb-0.11.0.tar.gz
# tar zxvf mediatomb-0.11.0.tar.gz
# cp mediatomb-0.11.0/mediatomb.spec /usr/src/redhat/SPECS/
# cp mediatomb-0.11.0.tar.gz /usr/src/redhat/SOURCES/
# vi /usr/src/redhat/SPECS/mediatomb.spec
BuildRequires: sqlite-devel, mysql-devel, libexif-devel, taglib-devel, file, js-devel, zlib-devel, expat-devel
# rpmbuild -bb --clean /usr/src/redhat/SPECS/mediatomb.spec
エラー: ビルド依存性の失敗:
sqlite-devel は mediatomb-0.11.0-8.x86_64 に必要とされています
mysql-devel は mediatomb-0.11.0-8.x86_64 に必要とされています
libexif-devel は mediatomb-0.11.0-8.x86_64 に必要とされています
taglib-devel は mediatomb-0.11.0-8.x86_64 に必要とされています
js-devel は mediatomb-0.11.0-8.x86_64 に必要とされています
zlib-devel は mediatomb-0.11.0-8.x86_64 に必要とされています
expat-devel は mediatomb-0.11.0-8.x86_64 に必要とされています
依存関係で叱られたため,必要なものをインストールしていく. taglib-devel と js-devel は公式リポジトリに存在しないためRPMforge のリポジトリを登録してインストールした.
# yum -y install sqlite-devel mysql-devel libexif-devel taglib-devel js-devel zlib-devel expat-devel
# rpmbuild -bb --clean /usr/src/redhat/SPECS/mediatomb.spec
# rpm -ivh /usr/src/redhat/RPMS/x86_64/mediatomb-0.11.0-8.x86_64.rpm
準備中... ########################################### [100%]
1:mediatomb ########################################### [100%]
# rm -f /usr/src/redhat/RPMS/x86_64/mediatomb-*
# rpmbuild --rmsource --rmspec /usr/src/redhat/SPECS/mediatomb.spec
# rm -rf mediatomb-0.11.0
# rm -f mediatomb-0.11.0.tar.gz
MySQL でデータベース作成
# mysql -u root -p
Enter password:
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 1514
Server version: 5.0.86 Source distribution
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
mysql> create database mediatomb;
Query OK, 1 row affected (0.03 sec)
mysql> grant all privileges on mediatomb.* to mediatomb@localhost identified by 'hogehoge';
Query OK, 0 rows affected (0.02 sec)
mysql> exit
Bye
# mysql -p mediatomb < /usr/share/mediatomb/mysql.sql
Enter password:
MediaTomb の設定
# vi /etc/mediatomb.conf
## Network interface on which the server will run, you need to edit this!
MT_INTERFACE="eth0"
# /etc/rc.d/init.d/mediatomb start ← 一度起動して config.xml を作成する
Applying multicast settings to eth0... Starting mediatomb: [ OK ]
# /etc/rc.d/init.d/mediatomb stop
Shutting down mediatomb: [ OK ]
# vi /etc/mediatomb/config.xml
<!-- <sqlite3 enabled="yes"> -->
<sqlite3 enabled="no">
<!-- <mysql enabled="no"> -->
<mysql enabled="yes">
<password>設定したパスワード</password>
<!-- <protocolInfo extend="no"/>--><!-- For PS3 support change to "yes" -->
<protocolInfo extend="yes"/><!-- For PS3 support change to "yes" -->
<import hidden-files="no">
<filesystem-charset>UTF-8</filesystem-charset>
<metadata-charset>CP932</metadata-charset>
<scripting script-charset="UTF-8">
<extension-mimetype ignore-unknown="no">
<map from="jpg" to="image/jpeg"/>
<map from="jpeg" to="image/jpeg"/>
<map from="gif" to="image/gif"/>
<map from="png" to="image/png"/>
<map from="m4v" to="video/mp4"/>
<map from="mp4" to="video/mp4"/>
<map from="mpg" to="video/mpeg"/>
<map from="mpeg" to="video/mpeg"/>
<!-- <map from="avi" to="video/divx"/> -->
<map from="avi" to="video/divx"/>
iptables の設定, MediaTomb の起動および自動起動設定
# iptables -A INPUT -s 192.168.0.0/24 -p udp --dport 1900 -j ACCEPT
# iptables -A INPUT -s 192.168.0.0/24 -p tcp --dport 50500 -j ACCEPT
# service iptables save
ファイアウォールのルールを /etc/sysconfig/iptables に保存中[ OK ]
# service iptables restart
ファイアウォールルールを適用中: [ OK ]
チェインポリシーを ACCEPT に設定中filter [ OK ]
iptables モジュールを取り外し中 [ OK ]
iptables ファイアウォールルールを適用中: [ OK ]
iptables モジュールを読み込み中ip_conntrack_netbios_ns [ OK ]
# service mediatomb start
Applying multicast settings to eth0... Starting mediatomb: [ OK ]
# chkconfig mediatomb on
# chkconfig --list mediatomb
mediatomb 0:off 1:off 2:on 3:on 4:on 5:on 6:off