2018年3月23日金曜日

RaspberryPiをNAS・メディアサーバーにする方法

(「RaspberryPiをNASにする方法」を書き直したものです)

1.準備

(1)用意するもの
(  )は私の手元にあったもの。適当なものをご用意ください。
・RaspberyPi (2-B)
・USB-HDD(6TB)
・SDカード(4GB)

(2)USB-HDDを「exFAT」でフォーマットする
作業PC:WindowsPC

LINUXでHDDを使う場合、Windows標準フォーマットである「NTFS」が使えない。

そこで、LINUXの大容量HDD用フォーマットである「ext4」でフォーマットしようかと考えたが、ネットにWindowsで認識されない場合もあるとか書いてある。

結局、WindowsでもLinuxでも使える「exFAT」フォーマットを使うことにした。これだとMacでも読める。

USB-HDDをUSBでWindowsPCに繋ぎ、「ディスクの管理」でフォーマットする。

(3)USB-HDDに楽曲をコピーする
作業PC:WindowsPC

フォーマットが終わったら、フォルダー「MUSIC」を作成し、この中に楽曲をコピーしておく。

(4)MicroSDカードをフォーマットする
作業PC:WindowsPC

4GBのMicroSDカードを用意し、SDFormatterでフォーマットする。

再利用の場合で元の容量と合ってない場合は、オプション設定で、論理サイズ調整をONにしてフォーマットすると元の適正なサイズに戻る。




(5)MicroUSBカードにRASPBIAN(OS)をインストール
作業PC:WindowsPC

コマンドラインで作業および動作させるので、RASPBIAN STRETCH LITEを使う。

ダウンロードしたら、解凍して、中のイメージをDDWin(管理者として実行)でMicroSDカードに書き込む。

2018-03-13-raspbian-stretch-lite.ZIP → 解凍
2018-03-13-raspbian-stretch-lite.img → DDWINでSDカードに書き込む
                  

管理者で起動すると、対象ディスクにSDカードが表示される。ファイル選択でダウンロードしたRASPBIANのイメージを選ぶ。その時、デフォルトではddiファイルしか表示されないので、All filesに変更して選ぶ。

選んだら、書き込みボタンを押すと、書き込みが始まる。


(6)SDカードから起動しIPアドレスを確認する
作業PC:RaspberryPi

RaspberryPiに、ディスプレイ、LANケーブル、SDカードを挿入し、電源を接続すると、RASPBIANが起動する。

LOGIN  : Pi
PASSWORD : Raspberry

を入力し、コマンド、プロンプトが出たら、

$ ifconfig

でIPアドレスの設定画面が表示されるので、ルーター(DHCPサーバー)から割り振られた eth0 のIPアドレスを控えておく。

SSHで作業するために、これを許可する設定をする

$ sudo raspi-config

5. Interfaceing Options

P2 SSH

YES
終了する

これで次項の別PCからのSSHでの操作が可能となる。

(7)SSHでログインし作業をする
作業PC:WindowsPC(SSH)

Windowsで作業をする方が断然楽なので、ネットワーク上の他のWindowsPCからSSHでRaspberryPiにアクセスして作業を行う。

ダウンロード先
https://www.putty.org/

Puttyをインストールし、起動する。Puttyに先ほど調べたIPアドレスを入力し「開く」を押すとコンソール画面が現れる。

ログインIDとパスワードを入力する
login as: pi
pi@192.168.2.102's password: raspberry

ここからは、別のWindowsPC上でのSSHのコンソール画面上の、コマンドラインでの作業となる。

2.NASを作る

(1)USB-HDDをマウントする
作業PC:WindowsPC(SSH)

① RaspberyPiで「exFAT」が扱えるように以下のファイルをインストールする。

$ sudo apt-get install exfat-fuse exfat-utils

② USB-HDDをマウントするためHDDのUUIDを調べる。

$ sudo blkid
UUID="AA41-69F2"  

③ /etc/fstabにマウント設定を書き込む

$ sudo vi /etc/fstab
UUID="AA41-69F2"        /mnt/hdd/usbhdd    exfat-fuse   async,auto,dev,exec,gid=65534,rw,uid=65534,umask=007    0       0
:wq

再起動。
$ sudo reboot

再起動後、マウントできているか確認。

$ sudo df

これで、RaspberryPiで、USB-HDDの中を見ることができるようになった。

(2)sambaをインストールする
作業PC:WindowsPC(SSH)

① WindowsPCから、RaspberryPiのUSB-HDDを見ることができるように、RaspberryPiにsambaをインストールする。

$ sudo apt-get update
$ sudo apt-get install samba

② sambaの設定
$ sudo vi /etc/samba/smb.conf
[NAS]                                          ・・・Windowsから見える共有名
   comment = RaspPiNAS      ・・・コメント
   path= /mnt/hdd/usbhdd/music  ・・・楽曲のフォルダー
   read only = No
   guest ok = Yes
   force user = pi
:wq

④ sambaの起動
$ sudo /etc/init.d/samba restart

これでsambaが起動しWindowsかRaspberryPiのHDDにアクセスが可能となった。

⑤ Windowsのネットワークドライブの割り当てで
「¥¥raspberrypi¥NAS」を(Y:)等に割り当てておく。

普段は使わないが、Windowsから楽曲を更新する際に使用する。
これで、NASの完成!


3.メディアサーバーを作る
次に、RaspberryPiをネットワークオーディオ用のメディアサーバーにするために、Minimserverを使う。

(1)JAVAのインストール
作業PC:WindowsPC(SSH)

MinimserverはJAVAで動くソフトなので事前にJAVAをインストールしておく。

$ sudo apt-get install oracle-java8-jdk

(2)Minimserverのダウンロード
作業PC:WindowsPC

MinimserverのHPから以下のファイルをダウンロードする。
http://minimserver.com/downloads/index.html


(3)MinimServer on the Raspberry Piのインストール
作業PC:WindowsPC

① Windowsのエクスプローラーで(Y:)(¥¥raspberrypi¥NAS)を開いた場所に、ダウンロードしたMinimserverファイルをコピーしておく。


作業PC:WindowsPC(SSH)

② 次に、SSHでRaspberryPiにアクセスし、上記ファイルを $ /home/pi にコピーする。

$ sudo cp /mnt/hdd/usbhdd/music/MinimServer-0.8.5-2-linux-armhf.tar.gz /home/pi

ディレクトリを移り、tarで解凍する。

$ cd /home/pi
$ sudo tar xf MinimServer-0.8.5-2-linux-armhf.tar.gz
/home/piの中に解凍されていることを確認

これでインストールは完了。

(4)Minimserverの起動

① 最初の設定
$ sudo minimserver/bin/setup disable_desktop  デスクトップを無効 
$ sudo minimserver/bin/setup enable_autostart  自動スタートアップ

② RaspberryPiの起動
$ sudo minimserver/bin/startc
 初回は楽曲のあるディレクトリを聞いてくるので、
/mnt/hdd/usbhdd/music
と入力、全楽曲のスキャンが開始される、結構時間がかかる。

スキャンが終われば、ControlPointにMnimserverが現れて楽曲を再生することができるよになる。これで、メディアサーバーは完成だ。

③ ただし、このままでは、SSHを終了するとMinimserverも終了するので、Minimserverを一旦終了させて、以下を入力しておくと、SSHが終了しても、Minimserverは終了しなくなる。

$ sudo minimserver/bin/startd


注)本来なら、RaspberryPiを再起動するとMinimserverが自動的に起動するはすだが、なぜか当方では上手くいかない。そこで、次の方法で、確実に自動起動させる。

(5)Mnimserverの自動起動

① 自動ログインの設定
自動起動するには、ログインが邪魔なので、自動ログインに変更する。

raspi-configで自動ログインに変更する。
これで、ユーザ名もパスワードも聞かれずに自動的にログインするようになる。

$ sudo raspi-config
3   BOOT option
B1 Desktop / CLI
B2 Console Autologin Text console, automatically logged in as 'pi' user

OK





② /etc/rc.local に起動コマンドを書く
起動時に、起動コマンドが実行されるように、実行コマンドを書きこむ

$ sudo vi /etc/rc.local
/home/pi/minimserver/bin/startd
:wq


再起動
$sudo reboot

これで、RaspberryPiを起動すると自動的にMnimserverが立ち上がるので、RaspberryPiにディスプレイを付けて起動コマンドを打つ必要がなくなる。
要するに、電源を入れるだけでメディアサーバーが立ち上がるようになる。

これで、ControlPointにMnimserverが表示される。メディアサーバーの完成だ。