ラズパイと外付けHDDでローカルNASサーバーを作る

たまたま家で眠ってたかなり古めの外付けHDDが見つかり折角ラズパイがあるので、ローカルNASサーバーにしてみたいと思います。

# NAS化するHDDをexFATでフォーマット

私は、Macなのでデフォルトで入っているディスクユーティリティというソフトを用いてexFAT形式でフォーマットしていきます。
分かりやすいように名前はraspi_nasにしております。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/241870/34be3a4b-9759-66e4-fa00-ca442c0300df.png)

# ラズパイをexFATに対応させる

ラズパイはそのままでは、exFATを認識する事ができないので以下のコマンドを打ちインストールしていきます。

```shell
sudo apt install -y exfat-fuse exfat-utils
```

# HDDのラベルとUUIDを調べる

フォーマットしたHDDをラズパイに挿して以下のコマンドを入力します。

```shell
sudo blkid
```
コマンドを入力したらフォーマットされたHDDの名前の行があることを確認して、LABELとUUIDの部分を覚えておきます。
この画像では、ラベルがraspi_nasで、UUIDが5D17-753Bです。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/241870/39795cf0-4fec-2928-9e11-bb33a1bd57c7.png)

# 起動時に自動でマウントさせる様に設定する

手動でマウントすることも可能ですがどうせなら起動時に自動でマウントさせたいので以下のコマンドを入力します。

```shell
sudo vim /etc/fstab
```
そうすると、テキストファイルが開かれるので画像のように追記していきます。

```shell
UUID="先ほどメモしておいたUUID" /mnt/hdd/先ほどメモしておいたラベル exfat-fuse async,auto,dev,exec,gid=65534,rw,uid=65534,umask=007    0       0
```
私の場合では、画像のようになります。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/241870/cb2800c4-894a-06a1-4602-c867bbfb3a28.png)

# ラズパイを再起動する

以下のコマンドを入力しラズパイを再起動していきます。

```shell
sudo reboot
```

# 実際に自動マウントされているか確認する

以下のコマンドを入力し、先ほど指定したパス名の書かれた行がある事を確認します。

```
sudo df
```
私の場合では、画像のようになります。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/241870/bca28e05-9ea0-9778-7fc2-18ab6afd02f0.png)

# ファイルサーバー(Samba)をインストールする

それでは、実際にサーバーとして動かすために以下のコマンドを入力してSambaをインストールします。

```shell
sudo apt install -y samba
```

# インストールしたSambaの設定を行う

続いて、以下のコマンド入力し設定ファイルを編集していきます。

 ```
sudo vim /etc/samba/smb.conf
```
そうしたら以下の行を追記していきます。

```
[任意の名前]
comment = 適当な説明
path= /mnt/hdd/先ほどメモしておいたのラベル
read only = no
guest ok = yes
force user = 自分のユーザ名
unix extensions = no
```
私の場合では、画像のようになります。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/241870/3680123e-5229-f4e0-8bde-bb021a595eac.png)

# Sambaの再起動を行う

以下のコマンドを入力しSambaの再起動していきます。

```shell
sudo service samba restart
```

# 実際にNASサーバーに接続する
下準備が完了しましたので、いよいよ実際にアクセスしていきたいと思います！
私はMacなので、Finderで「⌘+K」を押し作成したNASサーバーにアクセスしていきます。
接続するためのリンクは、

```
smb://ラズパイのIPアドレス
```
ホスト名を登録している方は、

```
smb://ラズパイのホスト名
```
私は、ホスト名を登録していたので画像のようになります。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/241870/a92e6ae7-b74b-b509-1dd4-1cfb6ab3217f.png)

# 接続できない！？！？！？

何故か接続を押そうと思ったら、以下の画像のポップアップが出てきて接続できませんでした。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/241870/9e022d5e-52b9-7924-118f-d55ac6083d79.png)

# ポート開放がされていなかったので開放する

調べてみると、ファイルサーバーに必要なポートが開放されていない事が原因でした。
なので、ufwを使ってポートの開放を行なっていきます。
(既にufw以外の方法でポートの開放を行っている方は適宜読み替えてください)

```shell
# samba用のポートを開放
sudo ufw allow 137/tc
sudo ufw allow 138/tcp
sudo ufw allow 139/tcp
sudo ufw allow 445/tc
```
以下のコマンドを入力し、設定を反映させる

```shell
sudo ufw reload
```

# 再度NASサーバーに接続を行う

気を取り直して、もう一度アクセスしてみようと思います。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/241870/b9adccf6-9093-053b-d869-c773741f4ff2.png)

おっ？
ここまま、接続を押してゲストの部分にチェックを入れて再度接続を押します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/241870/f8265464-42ec-5d7e-0a0d-2e419bb3a943.png)

Sambaの設定のところで[]の中に入れた名前にチェックを入れて、OKを押します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/241870/f7969df7-bf74-3cbf-d5d6-b11701ca312c.png)

おおおおお！！！！
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/241870/bc1f70ed-6c42-d97a-8b61-de2501d4b046.png)

情報を見るを押して、確認してみると、、、
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/241870/924daefa-8d0c-9c58-31d3-0a0727139ca7.png)

正しく認識されていました！！

こんな感じで、何とかローカルNASサーバーの構築をする事ができました。
色々、フォルダやファイルなど送受信できたので趣味の動画などはこれからこちらに保存していこうと思います。

私自身、色々調べて書いておりますがLinuxやネットワークにそこまで詳しくないので、間違えている所があればご指摘頂けると嬉しいです。