Raspberry PiでNASとDLNAを構築する方法

ラズパイは消費電力の低さが特長の1つです。つまり、常時電源を入れておくようなシステムに活用しやすいわけです。

というわけで今回は、Raspberry Piを使ってNASとDLNAを構築してみました。構築手順を解説しているので、自分も作ってみたい方は参考にしてみてください。

目次

NASとDLNAの構築方法

準備するもの

NASとDLNAを構築するために、下記のものを準備する必要があります

準備するものリスト
  • Raspberry Pi
    ネットワーク接続できるものであればどれでも良いが、拡張性などを考えると『Raspberry Pi 4』がオススメ
  • ストレージ(HDDやSSD)
    SSDの方が高速だが、ネットワークがボトルネックになるのでHDDでも十分。そのため、余っているHDDを使ったりしても良い

構築手順の概要

構築手順は大きく2つのパートに分かれます。

  1. SambaでストレージをNAS化
  2. miniDLNAでDLNAサーバー化

ラズパイが使える状態になっている前提で手順を解説するので、もしラズパイの初期設定が済んでいない方は、先に下記記事を参考にしてラズパイの初期設定をしてください。

SambaでストレージをNAS化

まずはラズパイにストレージを接続してNAS化する手順を解説します。

手順1:ストレージを接続

ここではラズパイのUSB端子にストレージを接続して、ラズパイに認識させます。

とりあえずUSB端子に差し込みます。

差し込んで少し待った後(30秒ほど)、下記コマンドを実行します。このコマンドによってストレージがどのように認識されたか確認します。

dmesg

私の環境では"sda"として認識されました。

パーティションが切られているストレージであれば"/dev/sda0"や"/dev/sda1"のように認識されますし、切っていなければ"/dev/sda"として認識されます。また、複数ストレージ接続していると"/dev/sdb"といった感じに認識されます。以降のコマンド等は自身の環境に合わせてください。

さて、認識されたストレージですが、このままでは使用できないのでマウントします。下記コマンドを実行してマウントしましょう。(マウント先を"/mnt/hdd"としていますが、自由に変えても良いですよ)

sudo mkdir /mnt/hdd
sudo mount /dev/sda /mnt/hdd

これでNASに使用するストレージの準備ができました。

マウントしたらデータ共有用のディレクトリを作成して、権限を変更しておきましょう。

sudo mkdir /mnt/hdd/data
sudo chmod 777 /mnt/hdd/data

また、再起動しても自動マウントできるようにしておいた方が良いので、自動マウントの設定も行います。

まずはデバイスのUUIDを調べるために下記コマンドを実行します。

blkid

すると、今接続されているブロックデバイス一覧が出力されます。こんな感じ

pi@mediacenter:~ $ blkid
/dev/mmcblk0p1: LABEL_FATBOOT="boot" LABEL="boot" UUID="8D64-2011" TYPE="vfat" PARTUUID="9bc9737b-01"
/dev/mmcblk0p2: LABEL="rootfs" UUID="3857a514-b0f4-49ce-8430-34762068bb6f" TYPE="ext4" PARTUUID="9bc9737b-02"
/dev/sda: UUID="cb6fb5f8-c22f-4f9a-a54d-abf5aef87cc6" TYPE="ext4"

UUIDがわかったので"/etc/fstab"というファイルを開いて、下記のように追記します。

UUID=cb6fb5f8-c22f-4f9a-a54d-abf5aef87cc6 /mnt/hdd/     ext4 defaults,nofail 0 0

これでラズパイを再起動したりしても、ストレージが自動でマウントされるようになります。

手順2:Sambaのインストールと設定

次はSambaのインストールと設定を行っていきます。

まず、ラズパイのターミナルで下記コマンドを実行してSambaをインストールします。

sudo apt install samba

インストールが完了したら次は設定を行います。設定は"/etc/samba/smb.conf"というファイルを編集することで行います。

まずはアクセスできるIPをローカル内に限定するために、下記を"/etc/samba/smb.conf"に追記します。(私の環境では192.168.1のサブネットを構築しているので、192.168.1内のホストだけ許可するようにしました)

hosts allow = 192.168.1.

次に共有するディレクトリの情報を追記します。

[Public]
  comment = Public
  path = /mnt/hdd/data
  public = yes
  writable = yes
  create mask = 0777 
  directory mask = 0777

以上でSambaの設定は完了です。とりあえず下記コマンドを実行してSambaを再起動しましょう。

service smbd restart

この時点でWindowsやMacといった、他のPCからアクセスできるはずです。

今回はホスト名を"mediacenter"に変更したラズパイを使っているので、Windowsのエクスプローラーで"\\mediacenter"と入力するとアクセスが確認できました。

最後にラズパイを再起動したときにもSambaが自動起動するようにするため、下記コマンドを実行して自動起動をONにしておきましょう。

systemctl enable smbd

miniDLNAでDLNAサーバー化

次はDLNAサーバーを構築します。こちらはとても簡単にできます。ソフトをインストールして少しの設定を行うだけです。

手順1:miniDLNAをインストール

まずはラズパイ上のターミナルで下記コマンドを実行して、miniDLNAをインストールします。

sudo apt install minidlna

手順2:miniDLNAの設定

あとはちょこっとした設定をするだけですが、とりあえず格納物を分類するためにディレクトリを作っておきましょう。(必須ではないですが分類しておいた方が見やすいので)

sudo mkdir /mnt/hdd/data/movies
sudo mkdir /mnt/hdd/data/musics
sudo mkdir /mnt/hdd/data/photos

ディレクトリができたら、DLNAの設定をするために"/etc/minidlna.conf"というファイルを編集します。"/etc/minidlna.conf"を開いたら、下記を追記しましょう。

medir_dir = /mnt/hdd/data

最後にminiDLNAを再起動して完了です。

service minidlna restart

これでテレビなどのDLNAクライアントからアクセスできるようになり、あらゆるメディアを再生できるようになりますよ!

まとめ

Raspberry PiでNASとDLNAを構築する方法をまとめましたが、ラズパイの導入手順が終わっていれば、コマンドをちょいちょいっと叩くだけで構築できます。

Raspberry Piが余っている時なんかは、NAS・DLNA環境を構築しておいてホームサーバとしても良いかも知れませんね

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

コメント

コメントする

目次