今回は、SambaとMediaTombをインストールして、市販のNASが持っているメディアサーバの機能をCuBoxで実現しましょう。
メディア・ファイルは大容量の外付けHDDに格納することにします。そのメディア・ファイル格納領域をSambaで公開して、他のマシンにあるメディア・ファイルを簡単にコピーできるようにします。そして、DLNAサーバのMedhiaTombでミュージックサーバなどがメディア・ファイルにアクセスして再生できるようにします。
市販の大容量の外付けHDDは購入時にはNTFSでフォーマットされていることが多いです。
2TBまでならば、CuBoxは自動で認識してマウントすることができます。3TB以上の場合は認識はしますがマウントできませんので、Linuxのext4でフォーマットしなおす必要があります。
ここでは、2TBのNTFSフォーマットのHDDを接続するものとして話を進めます。
(1)パッケージntfs3gのインストール
NTFSフォーマットアクセス用にパッケージntfs3gをインストールします。
$ sudo apt-get install ntfs3g |
(2) デバイス名の確認
dmesgコマンドでHDDのデバイス名を確認します。
$ dmesg |
いろいろなメッセージが表示されますが、下のようにデバイス名がどこかに現れます。
[ 534.188486] sd 1:0:0:0: [sda] 3907029168 512-byte logical blocks: (2.00 TB/1. 81 TiB) |
この場合は sdaがデバイス名となります。
(3)HDDのマウント
CuBox起動時に、常に固定ディレクトリにHDDがマウントされるようにします。
まず、HDD毎に固有のID (UUID)を調べます。
$ ls -l /dev/disk/by-uuid | grep sda lrwxrwxrwx 1 root root 10 Oct 17 00:07 581031E21031C7B0 -> ../../sda1 |
この場合は、581031E21031C7B0 がUUIDになります。
マウントするディレクトリを作成しましょう。例えば、/media/hdd1にマウントすると仮定します。
$ cd /media $ sudo mkdir hdd1 |
/etc/fstabファイルを編集しましょう。/etc/fstabファイルの最後に次の一行を追加します。
UUID=581031E21031C7B0 /media/hd-m ntfs users,defaults 0 1 |
HDDのフォーマットがext4の場合には、ntfsのところをext4に置き換えてください。
CuBoxを再起動してHDDがマウントされていることを確認します。
NAS機能の基本のSambaをインストールしましょう。
公開するディレクトリは /media/hdd1/share とし、誰もが読み書きできるようにしましょう。
今回は、特定のユーザのみに公開するディレクトリはないものとします。
(1)パッケージsambaをインストールします。
インストール前に、MySQLの管理者(root)のパスワードを決めてください。
$ sudo apt-get install samba |
(2)公開するディレクトリの作成
公開するディレクトリを作成して、全ユーザにread/write権を与えます。
$ cd /media/hdd1 $ sudo mkdir share $ sudo chmod -R go+rwx share |
(3) smb.confファイルの設定
/etc/samba/samb.conf ファイルを編集します。
[global]セクションに以下のように追加します。
[global]
create mask = 0777 force create mode = 0777 force security mode = 0777
directory mask = 0777 force directory mode = 0777 force directory security mode = 0777
client lanman auth = yes client ntlmv2 auth = no client use spnego = no |
また、[global]セクションのworkgroupは実際に運用している環境に合わせて変更してください。
workgroup = WORKGROUP |
公開する範囲を限定しましょう。
ここでは、IPアドレスが 192.168.10.* のマシンに限定することとします。
hosts allow = 127. 192.168.10. |
最後に、公開するディレクトリ情報を記述します。/etc/samba/samb.conf ファイルの最後に次のように追加します。
[media-share] comment = media files sharing path = /media/hd-m/share read only = no browseable = yes guest ok = yes |
(4) Sambaの再起動
Sambaを再起動しましょう。
$ sudo /etc/init.d/smbd restart |
NAS機能の基本のSambaをインストールしましょう。
公開するディレクトリは /media/hdd1/share とし、誰もが読み書きできるようにしましょう。
今回は、特定のユーザのみに公開するディレクトリはないものとします。
(1)パッケージsambaをインストールします。
インストール前に、MySQLの管理者(root)のパスワードを決めてください。
$ sudo apt-get install samba |
(2)公開するディレクトリの作成
公開するディレクトリを作成して、全ユーザにread/write権を与えます。
$ cd /media/hdd1 $ sudo mkdir share $ sudo chmod -R go+rwx share |
(3) smb.confファイルの設定
/etc/samba/samb.conf ファイルを編集します。
[global]セクションに以下のように追加します。
[global]
create mask = 0777 force create mode = 0777 force security mode = 0777
directory mask = 0777 force directory mode = 0777 force directory security mode = 0777
client lanman auth = yes client ntlmv2 auth = no client use spnego = no |
また、[global]セクションのworkgroupは実際に運用している環境に合わせて変更してください。
workgroup = WORKGROUP |
公開する範囲を限定しましょう。
ここでは、IPアドレスが 192.168.10.* のマシンに限定することとします。
hosts allow = 127. 192.168.10. |
最後に、公開するディレクトリ情報を記述します。/etc/samba/samb.conf ファイルの最後に次のように追加します。
[media-share] comment = media files sharing path = /media/hd-m/share read only = no browseable = yes guest ok = yes |
(4) Sambaの再起動
Sambaを再起動しましょう。
$ sudo /etc/init.d/smbd restart |
(1) DLNAサーバのMediatombのインストール
パッケージmediatombをインストールしましょう。
$ sudo apt-get install mediatomb |
(2) 起動チェック
試しにMediaTombを起動してみましょう。
ブラウザ(Firefox)で “http://localhost:49152/” とURLを指定してください。
最初の起動時に /etc/mediatomb/config.xml が生成されます。(これが目的で起動しました。)
(3) /etc/mediatomb/config.xml ファイルの設定
(i) <server>セクション
<server>セクションではサーバ名とデータベースの設定をしましょう。
<name>CuBox-MediaTomb</name> |
データベースはMySQLを使用することとし、以下のような用意ができていると仮定します。
データベース名: mediatomb
データベース・ユーザ名; mediatomb
パスワード: cuboxmediatomb
デフォルトではsqlite3を使うことになっているので、これを無効としMySQLを使用するようにします。
<storage> <sqlite3 enabled="no"> </sqlite3> <mysql enabled="yes"> <host>localhost</host> <username>mediatomb</username> <password>cuboxmediatomb</password> <database>mediatomb</database> </mysql> </storage> |
(ii) <import>セクション
<import>セクションでは使用できる文字コードとメディア・ファイル・タイプを追加します。
追加する行を赤で表示しています。
<import hidden-files="no"> <filesystem-charset>UTF-8</filesystem-charset> <metadata-charset>CP932</metadata-charset> <scripting script-charset="UTF-8"> <common-script>/usr/share/mediatomb/js/common.js</common-script> <playlist-script>/usr/share/mediatomb/js/playlists.js</playlist-script> <virtual-layout type="builtin"> <import-script>/usr/share/mediatomb/js/import.js</import-script> <dvd-script>/usr/share/mediatomb/js/import-dvd.js</dvd-script> </virtual-layout> </scripting> <mappings> <extension-mimetype ignore-unknown="no"> <map from="mp3" to="audio/mpeg"/> <map from="ogg" to="application/ogg"/> <map from="asf" to="video/x-ms-asf"/> <map from="asx" to="video/x-ms-asf"/> <map from="wma" to="audio/x-ms-wma"/> <map from="wax" to="audio/x-ms-wax"/> <map from="wmv" to="video/x-ms-wmv"/> <map from="wvx" to="video/x-ms-wvx"/> <map from="wm" to="video/x-ms-wm"/> <map from="wmx" to="video/x-ms-wmx"/> <map from="m3u" to="audio/x-mpegurl"/> <map from="pls" to="audio/x-scpls"/> <map from="flv" to="video/x-flv"/> <map from="mkv" to="video/x-matroska"/> <map from="mka" to="audio/x-matroska"/> <!-- Uncomment the line below for PS3 divx support --> <map from="avi" to="video/divx"/> <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="m2t" to="video/mpeg"/> <map from="m2ts" to="video/mpeg"/> <!-- Uncomment the line below for D-Link DSM / ZyXEL DMA-1000 --> <!-- <map from="avi" to="video/avi"/> --> </extension-mimetype> <mimetype-upnpclass> <map from="audio/*" to="object.item.audioItem.musicTrack"/> <map from="video/*" to="object.item.videoItem"/> <map from="image/*" to="object.item.imageItem"/> <map from="application/ogg" to="object.item.audioItem.musicTrack"/> </mimetype-upnpclass> <mimetype-contenttype> <treat mimetype="audio/mpeg" as="mp3"/> <treat mimetype="application/ogg" as="ogg"/> <treat mimetype="audio/x-flac" as="flac"/> <treat mimetype="image/jpeg" as="jpg"/> <treat mimetype="audio/x-mpegurl" as="playlist"/> <treat mimetype="audio/x-scpls" as="playlist"/> <treat mimetype="audio/x-wav" as="pcm"/> <treat mimetype="audio/L16" as="pcm"/> <treat mimetype="video/x-msvideo" as="avi"/> <treat mimetype="video/mp4" as="mp4"/> <treat mimetype="audio/mp4" as="mp4"/> <treat mimetype="application/x-iso9660" as="dvd"/> <treat mimetype="application/x-iso9660-image" as="dvd"/> <treat mimetype="video/x-matroska" as="mkv"/> <treat mimetype="audio/x-matroska" as="mka"/> </mimetype-contenttype> </mappings>
|
(4) MediaTomb再起動
設定が終わったら、MediaTombを再起動します。
$ sudo /etc/init.d/mediatomb restart |
これでCuBox側の設定はすべて終了です。
Sambaの公開ディレクトリにアクセスするためには、クライアント側での設定が必要になります。
Windows XPまでは特に設定は必要ありませんでしたが、Windows Vista, Windows 7, 8ではレジストリを変更する必要があります。既に市販のNASを導入しているのであれば、市販のNASのユーティリティ・ツールでレジストリが書き換えられているので、この作業は必要ありません。
(1)レジストリエディタ(regedit.exe)を起動します。
(2)ツリーから次のキーをたどっていきます。
HKEY_LOCAL_MACHINE¥System¥CurrentControlSet¥Control¥Lsa |
(3)LmCompatibilityLevelという名前の項目があるか確認しましょう。
なければ、LmCompatibilityLevelを作成しましょう。次のようにすれば生成できます。
右クリック→新規→DWORD(32ビット)値 を選択し、できた名前をLmCompatibilityLevelに変更してください。
(4) LmCompatibilityLevelの値を2に変更します。
LmCompatibilityLevelをダブルクリックするとダイアログボックスが表示されますので値をを、2に変更し[OK]ボタンをクリックしましょう。
(5) Windowsを再起動して、File Explorerのネットワークに”CuBox”が表示されるようになったら成功です。
MacからSambaに接続するには以下のようにします。
Finderのメニュー[移動]の[サーバへ接続...]を選択します。 ”サーバへ接続”ダイアログボックスの”サーバアドレス”に”smb://192.168.10.12”と入力します。”192.168.10.12”の部分は実際にCuBoxに割り当てられているIPアドレスを指定してください。[接続]ボタンをクリックするとCuBoxの公開ディレクトリに接続できます。
(1) クライアントのPCに置いてるメディア・ファイルをSambaで公開したディレクトリに移動しましょう。
(2)ブラウザ(Firefox)で “http://192.168.10.12:49152/” とURLを指定してMediaTombにアクセスしてください。[Filesystem]のタブをクリックするとCuBoxのrootからの全ファイルのツリーが表示されます。メディア・ファイルがあるディレクトまでツリーをたどっていって
+ボタン[Addボタン]をクリックしましょう。
次に[Database]タブをクリックします。
そうすると、追加したメディアファイルが登録されているのが確認できます。
これで、ミュージックサーバ、あるいはDLNAに対応している機器でメディアファイルが再生できるようになりました。