Raspberry Pi にTwonkyMedia Serverを入れてマルチメディアサーバにしてみた
参照:Twonky
と言っても随分前の事なので・・・
備忘録として書いておこうとは思っていたのですけどね。体調とか他のネタとか、色々あって結局随分と日が経ってしまいました。そのため、もう忘れている事も多くて間違いがあるかもしれませんけど、取りあえず書いておきましょ。
Raspberry Pi に TwonkyMedia Server をインストールしてDLNAマルチメディアサーバにしてみました。TwonkyMedia ServerはQNAP TS-112やBuffalo LS-VLにも使用されているマルチメディアサーバソフトです。試用期間は30日。継続して使用するにはライセンス($19.95, 14.95ユーロ, ¥2,646)を購入する必要がありますが、ワタシはずっと以前に2ライセンス購入しており、そのライセンスキーが今でも使えました。
インストールの手順は、
1. TwonkyMedia Serverのダウンロード
2. インストールディレクトリを作成して、ダウンロードしたTwonky Serverを解凍
3. Raspberry Piのブート時に起動させるスクリプトを作成
4. ファイアウォール iptablesの設定(必要に応じて)
となります。
- TwonkyMedia Serverのダウンロード
Rapberry Pi用のTwonky Serverは http://www.twonkyforum.com/downloads/7.2.1/からダウンロードします。現在ではVer.8系が最新版のようですが、Raspberry Pi用があるのは Ver.7.2.1が最新のようです(*1)。ダウンロードは、以下のように /tmpの下にでも落としてきます。
# cd /tmp
# wget http://www.twonkyforum.com/downloads/7.2.1/twonky-raspbian-linaro-hf-7.2.1.zip
|
- インストールディレクトリを作成して、ダウンロードしたTwonkyMedia Serverを解凍
インストール先は "/usr/local" の下にしましょうか。
# cd /usr/local
# mkdir twonkymedia
# cd twonkymedia
# unzip /tmp/twonky-raspbian-linaro-hf-7.2.1.zip
|
解凍したら、"twonky.sh"スクリプトに実行権を付けておきます。(解凍した時、既に実行権が付いているかもしれませんが、一応念のため)
手動で起動、停止させるのであれば、このスクリプトで
# /usr/local/twonkymedia/twonky.sh start #起動の場合
# /usr/local/twonkymedia/twonky.sh stop #停止の場合
|
で良いです。
- Raspberry Piのブート時に起動させるスクリプトを作成
Raspberry Piのブート時に自動的にTwonky Serverが起動するように、"/etc/init.d/twonky" スクリプトを作成します。スクリプトはこんな感じ。
#!/bin/bash
#
### BEGIN INIT INFO
# Provides: twonky
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Required-Start: $network $remote_fs
# Required-Stop:
# Short-Description: TwonkyMedia server
# Description: Start TwonkyMedia UPnP server
### END INIT INFO
#
# main()
#
case "${1:-'}" in
'start')
cd /usr/local/twonkymedia
./twonky.sh start
;;
'stop')
cd /usr/local/twonkymedia
./twonky.sh stop
;;
'restart')
cd /usr/local/twonkymedia
./twonky.sh restart
;;
'reload'|'force-reload')
cd /usr/local/twonkymedia
./twonky.sh reload
;;
'status')
cd /usr/local/twonkymedia
./twonky.sh status
;;
*)
echo "Usage: $0 [start|stop|restart|reload|status]"
exit 1
;;
esac
exit 0
作成したら、スクリプトに実行権を付けてから自動起動するようにします。
# chmod +x /etc/init.d/twonky
# chkconfig on twonky
# chkconfig --list twonky
twonky 0:off 1:off 2:on 3:on 4:on 5:on 6:off
|
- ファイアウォール iptablesの設定
必要に応じてファイアウォール(iptables)の設定をします。ファイアウォールを有効にしていない場合は不要です。
iptablesの設定は "/etc/iptables/rules.v4" ファイルに以下のように記述を追加します。
#
# Inputチェーン
#
#
# Allow TwonkyMedia traffic
#
-A INPUT -p tcp -m tcp --dport 9000 -j ACCEPT
-A INPUT -p udp -m udp --dport 1030 -j ACCEPT
-A INPUT -p udp -m udp --dport 1900 -j ACCEPT
-A INPUT -p udp -m udp --dport 9080 -j ACCEPT
〜略〜
#
# Outputチェーン
#
#
# Allow TwonkyMedia traffic
#
-A OUTPUT -p tcp --dport 9000 -j ACCEPT
-A OUTPUT -p udp --dport 1030 -j ACCEPT
-A OUTPUT -p udp --dport 1900 -j ACCEPT
-A OUTPUT -p udp --dport 9080 -j ACCEPT
|
ファイルを修正したら設定を反映させます。
# service iptables-persistent restart
# iptables --list
Chain INPUT (policy DROP)
〜略〜
ACCEPT tcp -- anywhere anywhere tcp dpt:9000
ACCEPT udp -- anywhere anywhere udp dpt:1030
ACCEPT udp -- anywhere anywhere udp dpt:1900
ACCEPT udp -- anywhere anywhere udp dpt:9080
Chain OUTPUT (policy ACCEPT)
ACCEPT tcp -- anywhere anywhere tcp dpt:9000
ACCEPT udp -- anywhere anywhere udp dpt:1030
ACCEPT udp -- anywhere anywhere udp dpt:1900
ACCEPT udp -- anywhere anywhere udp dpt:9080
|
設定が完了したら Raspberry Piを再起動させるか、
# /etc/init.d/twonky start
|
と入力して Twonky Serverを起動させます。その後、Webブラウザで "http://Raspberry Piのホスト名、またはIPアドレス:9000" にアクセスして Twonky Serverのページが表示されれば成功です。後は購入したライセンスキーを入力し、セットアップすれば完了です。
これで Raspberry Pi をマルチメディアサーバとして使用できるようになったわけですが、ファイルサイズが大きい写真、音楽、動画を大量に入れておくには Raspberry Pi起動用のSDカードでは容量が少な過ぎますね。当然、USBポートに外付けHDD等を接続して使う事になります。
(*1):その後調べたところ、http://www.twonkyforum.com/downloads/*/Kirkwood/ がRaspberry Piで使えるようで、Ver.8系では http://www.twonkyforum.com/downloads/8.0.2/twonky-kirkwood-8.0.2.zipが現時点での最新版のようです。ライセンスキーも同じ物でアクティベートできました。今のところ動作も問題なさそうです。
|