Raspberry Piで自分専用の「省エネ・爆速ファイルサーバー」を作ってみた!!Samba+外付けHDDで快適NAS化
記事に広告(アフィリエイト広告)が含まれています。
「難しそうだな…」と感じることも、一歩踏み出してみれば意外とシンプルで楽しいもの。今回は、手のひらサイズのコンピューター「Raspberry Pi(ラズベリーパイ)」を使って、自宅で24時間動かせる自分専用のファイルサーバーを作る手順をまとめました。
写真の保存やバックアップに、ぜひ活用してみてください!
なぜラズパイをファイルサーバーにするの?
ファイルサーバーとは、ネットワーク経由でファイルを保存・共有できる場所のことです。ラズパイで作るメリットは3つあります。
-
省エネ: 消費電力が非常に小さいため、24時間つけっぱなしでも電気代が月数百円程度。
-
省スペース: 手のひらサイズで置き場所に困りません。
-
静か: ファンレスで動かせば、寝室に置いても音が気になりません。
Sambaでファイルサーバーを構築する(基本編)
WindowsやMac、iPhoneからアクセスできるように「Samba(サンバ)」というソフトを導入します。
まずはターミナルを開いて、以下の順にコマンドを打っていきましょう。

以下のコマンドはこのラズベリーパイのターミナルでの操作
-
Sambaのインストール
sudo apt install samba -y - 共有用フォルダの作成
ファイルを保存するための「share」フォルダを作成します。以下のコマンドで、「/home/pi」内に新しいフォルダを作成できます。 作成したフォルダを、誰でも読み書きできるように設定します。家庭内だけで使う場合は、この設定で問題ありません。mkdir /home/pi/sharedchmod 777 /home/pi/share -
設定ファイルの編集
作成したフォルダをネットワーク共有するため、Sambaの設定を行います。以下のコマンドで、設定ファイル「smb.conf」をnanoエディタで開いて編集できます。sudo nano /etc/samba/smb.conf設定ファイルの最後に、共有フォルダの情報を追記します。追加したら、Ctrl + O で保存し、Enter を押してから Ctrl + X で終了します。
(ファイルの末尾に以下を追記)[Share]
path = /home/pi/share
browseable = yes
writable = yes
guest ok = no
valid users = pi
browseable = yes:他の機器からこのフォルダを見えるようにする設定共有先からファイルの書き込みが出来る設定
writable = yes::ユーザー認証を求める設定
guest ok = no:「pi」というユーザーだけにアクセス制限する設定
valid users = pi
※「pi」以外のユーザー名を設定している場合は、valid users の値を自分のユーザー名に変更してください。 - iPhoneからのアクセスする場合の追加設定
iPhoneの「ファイル」アプリから正常に保存できない場合があるため、「[global]」セクションに以下の設定を追加します。vfs objects = fruit streams_xattr

-
ユーザー登録と再起動
パスワードを設定して、設定を反映させます。「pi」の部分は、自身が設定したユーザー名に変更してください。sudo smbpasswd -a pi コマンドを実行すると、「New SMB password:」とパスワードを聞かれます。自分が使いたいパスワードを入力します。設定を反映させるために、以下コマンドでSambaを再起動します。
sudo systemctl restart smbd
最後に、自分のラズパイのIPアドレスを確認しておきましょう。 hostname -I と打てば数字が出てきます(例:192.168.x.x)。
他のデバイスからアクセスしてみよう!
設定ができたら、手元のデバイスから繋がるか試してみましょう。
-
Windowsの場合: 「ファイル名を指定して実行」ウィンドウを開いて(キーボードの
Windowsキー + R)、「\\ラズパイのIPアドレス\share」と入力。 -
Macの場合: Finderの「移動」→「サーバーへ接続」から
smb://(IPアドレス)を入力。※Macでは試していないので参考程度に -
iPhoneの場合: 「ファイル」アプリを開き、右上の「…」から「サーバに接続」を選択。
外付けHDDで容量を大きくする(応用編)
標準のSDカードだけでは容量が足りなくなるので、余っている外付けHDDを繋いでみましょう!
今回繋いだ外付けHDDは以下
① HDDの識別情報を確認する
ラズパイにHDDを接続したら、以下のコマンドで接続したHDDの「UUID(固有ID)」を確認してメモします。
sudo blkidのような行を探してくだい。
/dev/sda1: UUID="XXXX-XXXX" TYPE="ntfs"
UUIDの後ろの""の中に記載さてているのがUUIDとなりますので、メモしてください。
② マウント(紐付け)設定
HDDの中身を表示するための空ファイルを作成し、特定のフォルダとして認識させます。
sudo mkdir -p /mnt/hdd1
sudo mount /dev/sda1 /mnt/hdd1 # 手動マウント
③ 自動マウントの設定
ラズパイを再起動しても自動でHDDを認識するようにします。下記コマンドで設定ファイルを開きます。
sudo nano /etc/fstab
追加したら、Ctrl + O で保存し、Enter を押してから Ctrl + X で終了します。
④ Sambaの設定を更新
作成したマウント先のフォルダを、ネットワーク上に公開する設定を行います。
sudo nano /etc/samba/smb.cof
ファイルの末尾に以下を追加して、Ctrl + O で保存し、Enter を押してから Ctrl + X で終了します。
[ExternalStorage]
path = /mnt/hdd1
browseable = yes
writable = yes
read only = no
guest ok = no
valid users = pi

⑤ Sambaを再起動する
以下コマンドでSambaを再起動します。
sudo systemctl restart smbd
他のデバイスからアクセスすると、HDDと繋がった今回作成したファイルにアクセスできるようになっています。
うまくいかない時は?(トラブルシューティング)
もし接続できない場合は、「手動マウント」を試してみてください。 sudo mount /dev/sda1 /mnt/hdd1 を実行した際、エラーが出ないかチェックします。また、HDDのフォーマット形式(NTFSやFAT32など)によっては、追加のドライバーが必要な場合もあります。
おわりに
一度設定してしまえば、自分だけのクラウドストレージの完成です。 「電子工作」というと回路を組むイメージが強いですが、こうした「便利な仕組みを作る」ことも立派なモノづくりの一つ。
この記事が、あなたの「やってみたい」を後押しするきっかけになれば嬉しいです。分からないことがあれば、ぜひコメントで教えてくださいね!