ラズパイでファイルサーバー作成

先日ラズパイでwebサーバーを作り、それを公開して外部のネットワークからアクセスできるようにしようとしたが、自宅のネットワーク環境が少し複雑で諦める形に、、、。
家庭内webサーバーは正直使い道がない。

とことで、今回は家庭用ファイルサーバーを作っていこうと思います。

OSのインストールや、初めの設定などの説明は省略します。

実行環境

今回使用する主な機器です。

  • Raspberry Pi 3 Model B v1.2 OS : Raspbian GNU/Linux 10 (buster)
  • 外付けHDD(ITB)
  • macbook pro : デュアルコアIntel Core i5 : macOS 11.5.2 (20G95)
  • windows10 home
  • Samba(ファイルサーバー)

HHDの準備

WindowsでデフォルトのNTFSフォーマット形式は、Macでは読み取り専用で書き込みがでず、一方、MacでデフォルトのHFS+フォーマット形式は、Windowsでは読み込むことさえ出来ません。

今回はmac、windows両方からアクセスできるようにするため、両プラットホームから読み書き可能な互換性の高いexFAT (Extended FAT)形式でフォーマットしていきます。

exFAT形式でのフォーマットはWindows、Macどちらでも可能です。ここでは、windowsで行うことにします。

Raspberry Piの設定

マウント設定

exFATを読み込みできるようにする

Raspberry Piは初期状態だとUSBをさしても自動で認識しません。

そのためexFATの外付けHDDを認識させるために、exfat-fuseexfat-utilsをインストールします。

sudo apt-get install exfat-fuse exfat-utils

マウント先のフォルダ作成

次に、マウント先のフォルダを用意します。(場所や名前は任意で大丈夫です)

sudo mkdir /mnt/NAS

HDDのパス、UUIDの確認

HDDをラズパイに繋ぎ、以下のコマンドでを実行してください。

sudo blkid

/dev/mmcblk0p1: LABEL_FATBOOT="boot" LABEL="boot" UUID="7616-4FD8" TYPE="vfat" PARTUUID="3907e213-01"
/dev/mmcblk0p2: LABEL="rootfs" UUID="87b585d1-84c3-486a-8f3d-77cf16f84f30" TYPE="ext4" PARTUUID="3907e213-02"
/dev/sda1: LABEL="RaspberryPi" UUID="0067-EB4C" TYPE="exfat" PARTUUID="62470812-01"
/dev/mmcblk0: PTUUID="3907e213" PTTYPE="dos"

先ほどフォーマットする際に指定したボリュームラベルがLABELとして示されています。

LABEL=”RaspberryPi”として認識されています。

HDDのパスは”/dev/sda1″でUUIDは”0067-EB4C“です。

起動時にマウントするように設定

ラズパイをシャットダウンするとマウントが解除されてしますので、起動時に自動でマウントするようfstabに設定します。

sudo nano /etc/fstab
proc            /proc           proc    defaults          0       0
/dev/mmcblk0p6  /boot           vfat    defaults          0       2
/dev/mmcblk0p7  /               ext4    defaults,noatime,umask=000  0       1
#追加内容
UUID="0067-EB4C"        /mnt/NAS    exfat      defaults,nofail    0       1
#UUId マウント位置 ファイルシステム マウント時のオプション 

オプションの中身は以下のサイトを参考にしてください

ファイルを保存したら、再起動します。

sudo reboot

再起動したら、次のコマンドでマウントできているかを確認します。

$ df -Th
Filesystem     Type      Size  Used Avail Use% Mounted on
/dev/sda1      fuseblk   932G   18M  932G   1% /mnt/NAS

無事マウントできています。

Samba – ファイルサーバーのインストール

SambaはWindowsやMacなど、別のシステムで動いているマシンからファイルを参照したり転送したりできます。

次のコマンドでインストールしていきます。

sudo apt-get install samba

途中、”Do you want to continue [Y/n]?“と出てくるので”Y“で進みます。

また、以下のような画面は”いいえ”で進めてください。

Sambaの設定

設定ファイルは/etc/samba/smb.confです

sudo nano /etc/samba/smb.conf

以下の内容を追記します。

[piNAS]
   comment = RaspberryPi_NAS
   path= /mnt/NAS
   read only = no
   guest ok = yes
   force user = master
[任意の 共有名]

   comment : 任意のコメント

   path : HDDのマウント先PATH

   read only : no→書込みも可能 / yes→読み込みのみ

   guest ok : no→ユーザ名パスワード必須 / yes→ゲスト接続

   force user : ファイルやフォルダーのアクセス権限はここで指定したユーザーとなる。

sambaにユーザー登録

先ほどforce userに設定したユーザーを登録します。
パスワードはMacやWindowsからの接続時に必要なので、忘れないでください。

パスワードと確認用のパスワードを同じものを2回入力します。

sudo smbpasswd -a master

最後にサーバーを再起動します。

sudo service smbd restart

これでサーバーが立ち上がります。

ファイルサーバーに接続

macの場合

Finder選択時にメニューバー>移動>サーバーへ接続(⌘K)を選択します。

すると、右のようなウィンドウが表示されるので、”smb://[ラズパイのIPアドレス or ホスト名]“を入力します。

先ほど登録したユーザーとパスワードを入力します。
(設定ファイルで”guest ok = yes”とした場合、ゲストで接続できます。)

これで接続することができました。

windowsの場合

まず”コントロール パネル\ネットワークとインターネット\ネットワークと共有センター\共有の詳細設定”でネットワーク探索を有効にしてください。

次に”Windows+R“もしくは、エクスプローラーのパスの部分に
“\\ smb://[ラズパイのIPアドレス or ホスト名] “と入力します。

ユーザーとパスワードはmacと同様になります。

これでWindowsも接続することができました。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

CAPTCHA