2011/07/07

AtomでDebianでMediaTombなメディアサーバ

先日書いたとおり去年暮れ頃にメディアサーバを新調した.


Atom Media Server略してAMSと安易な名前が付いている.

色々説明を飛ばして要約するとAtomな低消費電力マシンのDebian上で,MediaTombを走らせてDLNAサーバにしようという簡単な事だ.
もちろんDLNAサーバなのでPS3等から動画音楽画像と色々再生できる.
冒頭で「新調」と書いたようにこれは2代目である.
これと同じ機能を果たしていた1代目は玄箱PROをDebian化して四苦八苦しながら運用していた.
本来玄箱PROはGbEなので上り下り共に理論値120MB/sec程の転送速度があるはずである.
しかしなぜか10MB/sec程と全く速度が出ない.
そのためファイルをサーバにコピーするにしても,少しビットレートの高い動画を再生しようとしても問題が起こる.
とにかく他にも何かしらの問題点があり挙げていると限がないので話を先へ進める.

ハードウェアの構成は以下のとおり.

Intel BOXD510MO
HGST HDS721010CLA332 1TB
岡谷エレクトロニクス MX1202-BK

メモリは余っていた1GBを使用.
1TBのHDDは後に2TBのHDDに換装している.
ブートドライブはUSBメモリを使用している.
なぜUSBメモリを使っているのかという大変長々しい経緯は割愛.
MX1202-BK付属の200W電源があまりにもうるさかったので70mmファンを交換済み.
\2万強でだいたい全てのものを用意できたはずだ(たぶん).

以下よりソフトウェアの導入過程.完全に自分用メモ.

1.OSのインストール
光学ドライブを繋ぐのが煩わしいのでDebianはUSBからのインストールを行う.
つまりUSBメモリからブートしてUSBメモリにインストールを行うわけだ.
起動フラグをインストール先に設定.
GRUBのインストール先をインストール先のUSBメモリ(/dev/sd*)に設定.
パーティションはHDDに/homeを個別に割り当てておく.

初回起動時にGRUBを編集する.
DebianのインストールされたUSBメモリ(ext.hd(0,0))に設定.
無事起動したら/boot/grub/menu.lstを変更しておく.
HDDのマウント(/etc/fstab)も編集しておく.
/dev/sd**を正しく訂正.

2.SSHとSAMBA
SSHをインストール.
設定は特になしでそのまま.

SAMBAのインストール.
所属させたいワークグループ名→いいえの順で設定.

/etc/samba/smb.conf
[global]
dos charset = CP932
unix charset = UTF-8
display charset = EUC-JP
path = /home/任意のユーザ名/media

smbpasswd -a 任意のユーザ名

どちらも特に特殊な設定は行わない.

3.MediaTombのインストール下準備
以下をインストール.apt-getで問題なし.
sysv-rc-conf gcc g++ sqlite3 libsqlite3-dev make libmagic-dev ffmpeg libmozjs-dev expat

expatはソースからもインストールが必要.
wget http://sourceforge.net/projects/expat/files/expat/2.0.1/expat-2.0.1.tar.gz
tar -zxvf *
cd *
./configure
make install

以下もできればインストールしておいてもよい.
http://ffmpeg.org/releases/ffmpeg-0.5.3.tar.gz
http://ftpmirror.gnu.org/libextractor/libextractor-0.6.2.tar.gz

この辺で一度rebootして休憩.

4.MediaTombのインストール
ソースから普通にmakeしてインストール.
configureで問題が起きたら何かモジュールが足りないので3へ戻る.

wget http://downloads.sourceforge.net/mediatomb/mediatomb-0.12.1.tar.gz
tar -zxvf *
cd *
./configure
make install

普通にインストールしただけでは自動起動して裏で動いてくれないのでinit.dにスクリプトを書く.

# cd /etc/init.d
# cp skeleton mediatomb
# vi mediatomb

skeletonをベース変更を加える.

export LANG=ja_JP.UTF-8

NAME=mediatomb
DAEMON=/usr/local/bin/mediatomb

case "$1" in
start)
echo -n "Starting $DESC: $NAME"
$DAEMON -d -c /root/.mediatomb/config.xml
echo "Starting mediatomb "
;;
stop)
echo -n "Stopping $DESC: $NAME"
killall $NAME
echo "Stopping mediatomb"
;;

update-rc.d mediatomb defaultsで設定変更しておく.

5.MediaTombの設定
~/.mediatomb/config.xmlだったり何だったりを自分好みに変更する.
ここでは割愛.

/usr/local/share/mediatomb/js/import.jsを弄り倒せばいいDBが構築できる.

6.より使いやすくするために
WOLに対応していれば使わないのは損だ.
ethtoolのインストールを行いWOLを有効にする.
# /usr/sbin/ethtool -s eth0 wol g

NICのMACアドレスを調べておきメモする.
# ifconfig -a

玄箱を使用していた時も陥ったtune2fsの罠(?)がある.
デフォルトの設定では一定回数マウントを行うとfsckが走る.
このため起動途中に停止してしまったように見えてしまう.

# tune2fs -i 0 -c 0 /dev/sd**

と設定を変更し自動でのfsckを止めてしまう.
しかしHDDのメンテは定期的に行おう.

7.メモのメモ
WebUIのファイル郡
/usr/local/share/mediatomb/web/
PS3側から見えるアイコン
/usr/local/share/mediatomb/web/icons/mt-icon**.bmp
/usr/local/share/mediatomb/web/icons/mt-icon**.png

0 件のコメント:

コメントを投稿