#初めに
「DNLAで家中どこからでも、PCに入っている音楽を聴きたい!」
「Androidで外出先からリモートで音楽を聴きたい!」
という思いから、ラズパイ+NAS(IOデータ(LANDISK))で、ストリーミングサーバを作ってみるテストです。
(+それを備忘録としてQiitaに残すテスト)
#構成
- ラズパイ
- NAS:IOデータ(LANDISK)
- owncloud (その2以降)
- BitTorrent Sync (その2以降)
- Ampache (その2以降)
- ddns
- and more!!(そのうち追記します)
#ラズパイ+IOデータ(LANDISK)のNAS化
今回は第1弾として、ラズパイ+IOデータ(LANDISK)でラズパイをNASサーバ化させるところの苦労話を記録します。
##CIFSでマウントしてみる
まずは、LANDISKがそもそもWindowsやMacとしかファイル共有できないようなので、CIFSでMountしてみる。
sudo mount -t cifs //192.168.xxx.yyy/disk /mnt/test -o iocharset=utf8
パスワードを聞かれるので、ラズパイのLoginパスワード、LANDISKの管理用パスワード、Windowsのログインパスワード...
何を入れても、Permission deniedが返され、マウント不可…
mount error 13 = Permission denied
Refer to the mount.cifs(8) manual page (e.g.man mount.cifs)
ちなみに、LANDISK側では、ユーザ制限はかけていない状態で、ラズパイのログイン用と同じID,PWを作成してもダメでした。
##smbclientでは動く…
ところで、smbclientでは、特にパスワード入力することなく、うまくアクセスできました。
pi@raspberrypi ~ $ smbclient //192.168.xxx.yyy/docs
Enter pi's password:(未入力)
Domain=[WORKGROUP] OS=[Unix] Server=[Samba 3.0.33]
smb: \> ls
. D 0 Mon Apr 20 23:34:19 2015
.. D 0 Mon Apr 20 23:35:30 2015
59480 blocks of size 33553920. 55095 blocks available
smb: \> exit
ということは、mountの仕方の部分で、認証関連が何か悪いっポイ…というところまで気づきました。
##これでいけたっぽい!!
いろいろ調べ、CIFSのマウントオプションにセキュリティモードを指定するとうまくいきました!
sudo mount.cifs //LANDISK-*****/share /mnt/nas --verbose -o user=pi,pass=,sec=ntlm,ip=192.168.xxx.yyy
具体的には、sec=ntlm
と、セキュリティモードに「NTLM パスワードハッシュを用いる (デフォルト) 」を加えたことです。
raspberry piではmount.cifsのsecパラメータの値が通常とは異なるのかもしれません…
##豆知識
- 日本語ファイル名の文字化け対策にUTF-8にするとよい
- uid,gidでmountする領域を、Linux側のユーザ、グループに指定することが可能
- 他にもいろいろ (See: man mount.cifs)
##最終的に
自動でマウントできるように/etc/fstabに以下のように登録。うまく動作することを確認しました。
//LANDISK-*****/share /mnt/nas cifs username=pi,pass=,sec=ntlm,ip=192.168.xxx.yyy,iocharset=utf8,rw,uid=1000,gid=1000,defaults 0 0
#その2に続く…
今になってもう一度調べてみたら、情報ある!ある!
先人たちの苦労を思い知りました…