こんばんは
あいおんです。
今回は、メディアサーバーとしてのDLNAサーバーを立ててみたいと思います。
音楽、ビデオ、写真などなどをネットワークで共有したいという方向けです。
そもそも、DLNAとは、というところから始まるんですが、
これは、Digital Living Network Allianceの略です。(Wikipedia参照)
何というか、メーカーとかの境界を取っ払っていろんな再生機で
音楽やビデオなどのマルチメディアを再生できたらうれしいなということだと思います。
そのサーバーから、再生するときは、PS3やREGZAタブレット、テレビなどなど幅広い対応機種があります。
それでは構築していきましょう。
と、その前に参考サイト様を紹介しておきます。
http://centossrv.com/mediatomb.shtml
このサイト様はCentOSサーバを構築するにあたって非常に分かりやすく記述してあると思います。
今回はDLNAサーバソフトのMediaTombをインストールします。
今回もOSはCentOS6.6(x86_64)を使用します。
1.必要なパッケージがあるので、yumでインストールします。
1 |
yum install sqlite-devel mysql-devel libexif-devel taglib-devel file js-devel zlib-devel expat-devel rpmbuild gcc gcc-c++ |
MediaTombをインストールするときに必要なものです。
私の詰まった点としてはrpmbuildとgcc及びgcc-c++が入っていなくてコンパイラが失敗したり、
RPMを作成することが出来なかった点です。
これは他のサイト様では出てこなかったので、参考にしていただけるといいかなと思います。
2.MediaTombインストール
これ以降の操作は/root/ディレクトリで行いますので、rootユーザになっておいてくださいね。
現時点(2015/10/31)でMediaTombの最新バージョンは0.12.1なのでこれをインストールします。
1 |
wget http://jaist.dl.sourceforge.net/sourceforge/mediatomb/mediatomb-0.12.1.tar.gz |
あ、勿論、wgetがなければyum install wgetでインストールしてくださいね。
ここからはトントン書きます。
1 |
tar xzvf mediatomb-0.12.1.tar.gz |
このコマンドで解凍。
以下の三つのコマンドでディレクトリ作成、及び必要ファイルのコピーを行っています。
1 2 3 |
mkdir -p rpmbuild/{SOUCES,SPECS} cp mediatomb-0.12.1/mediatomb.spec rpmbuild/SPECS/ cp mediatomb-0.12.1.tar.gz rpmbuild/SOURCES/ |
そして、以下のコマンドで設定ファイルを編集します。
1 2 3 4 5 |
変更前: BuildRequires: sqlite-devel, mysql-devel, libexif-devel, taglib-devel, file-devel, js-devel, zlib-devel 変更後: BuildRequires: sqlite-devel, mysql-devel, libexif-devel, taglib-devel, file, js-devel, zlib-devel, expat-devel |
file-develをfileにするのと、expat-develを追加します。
次に、rpmを作成します。
1 |
rpmbuild -bb --clean rpmbuild/SPECS/mediatomb.spec |
ここで、エラーが出る際は、前提パッケージが入っていませんので、
エラーが出たパッケージをyumでインストールしてください。
また、rpmbuildがないよ、ってエラーの時も、rpmbuildをインストールしてください。
また、buildの際にもエラーが出る場合は、gccあるいはgcc-c++がないのでインストールしてください。
1.でインストールしていればそろっているはずですが。
rpmが無事完成したら、rpmを使用してMediaTombをインストールします。
1 2 3 4 |
32ビットの場合: yum -y localinstall --nogpgcheck rpmbuild/RPMS/i386/mediatomb-0.12.1-1.*.rpm 64ビットの場合: yum -y localinstall --nogpgcheck rpmbuild/RPMS/x86_64/mediatomb-0.12.1-1.*.rpm |
そして、rpmが出来たら、rpmを作るためにそろえたファイルは消しましょう。
1 2 3 4 5 6 7 8 9 10 |
32ビットの場合: rm -f rpmbuild/RPMS/i386/mediatomb-* 64ビットの場合: rm -f rpmbuild/RPMS/x86_64/mediatomb-* rpmbuild --rmsource --rmspec rpmbuild/SPECS/mediatomb.spec rm -rf mediatomb-0.12.1 rm -f mediatomb-0.12.1.tar.gz |
3.次にDBを整備します。今回はmysqlを使っていきます。
mysql -u root -p
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 |
(mysqlを初めて使う場合は service mysql start chkconfig mysql on これでmysqlを起動し、スタートアップ登録する) mysql -u root (rootのパスワードを設定している場合は mysql -u root -p) create database mediatomb; (データベース作成) grant all privileges on mediatomb.* to mediatomb@localhost identified by 'mediatomb'; (mediatombのデータベースにアクセスできるユーザを作成。最後の''の中は自由にパスワードを設定してもらって構わない) exit; (mysqlログアウト) mysql -p mediatomb < /usr/share/mediatomb/mysql.sql (これでデータベースの初期設定を行う) ここでパスワードを入力 |
4.MediaTombの設定
設定ファイルを編集します。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 |
vi /etc/mediatomb.conf この中のファイルの MT_INTERFACE="NOT_SET" の記述を MT_INTERFACE="eth0" にする。(ネットワークはeth0を使用している場合) /etc/rc.d/init.d/mediatomb start /etc/rc.d/init.d/mediatomb stop (config.xmlを作る) vi /etc/mediatomb/config.xml ファイルを編集する。 <sqlite3 enabled="yes"> この記述を、 <sqlite3 enabled="no"> にする。(今回はmysqlを使用するので、sqlite3は無効化) <mysql enabled="no"> この記述を、 <mysql enabled="yes"> にする。(Mysql有効化のため) 更に、 <username>mediatomb</username> の下に <password>mediatomb</password> を追加。(ここは先ほどmysqlにて設定したパスワードを入力) <protocolInfo extend="no"/><!-- For PS3 support change to "yes" --> この行を、 <protocolInfo extend="yes"/><!-- For PS3 support change to "yes" --> こうする。(PS3を有効にする。) <import hidden-files="no"> この行の下に、 <filesystem-charset>UTF-8</filesystem-charset> <metadata-charset>CP932</metadata-charset> の2行を追加 <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"/> こうする。(コメントアウト解除) |
ちょっと長いですが頑張ってください。
4.MediaTomb起動
1 2 3 4 5 |
service mediatomb start (起動) chkconfig mediatomb on (スタートアップ設定) |
これでOKです。
iptablesなどのファイアーウォールを設定していなければ、http://サーバーのIPアドレス:50500にてアクセスできます。
している場合は、
iptables -A INPUT -p tcp –dport 50500 -j ACCEPT
でファイアーウォール通過出来ると思います。
ウェブブラウザで開いたら、左側のFileSystemから、追加するディレクトリを選んでください。
選んだら右側のプラスをクリックすれば大丈夫です。
最後に。
これで構築出来たかなと思います。
PS3などのDLNA対応機器で見てみてください。
ちなみに、Windowsからも見れます。
ネットワークのメディア機器に含まれると思います。
エラーなどでインストールできなかった方のためになればよいかなと思います。
exit 77:などのエラーだとおそらくgccなどが入っていないために生じるエラーなので。
では良いDLNAライフを!