Raspberry Piでファイルサーバーを作る

記事
IT・テクノロジー

Raspberry Piでファイルサーバーを作る

Samba を利用すると、同じネットワークに接続された Windows、Mac などの PC とファイルを共有する事ができます。Raspberry Pi に接続した USB ドライブなどのデータを他の PC と共有することで、Raspberry Pi をファイルサーバーとして利用できます。


Samb とは?

簡単に言うと元々は、Windows で使っているファイルシステムの仕組みを利用した物で Windows と Unix 系の OS でファイルの共有するのに広く利用されています。 Linux や MacOS でもサポートされているので、ネットワークを介してファイルを共有するには便利な仕組みです。

一般的な利用方法は、

* 他の PC(サーバー)上のファイルにアクセスする(クライアントとして利用)
* 自分の OS 上のファイルを他の PC と共有する(サーバーとして利用)
の二つです。

Raspberry Pi での利用の場合は、Raspberry Pi から他の PC(サーバー)のファイルを参照する使い方と、Raspberry Pi 上のファイルを他の PC と共有する使い方があります。

Raspberry Pi から他の PC のファイルをアクセスする

最初に Raspberry Pi から他の PC のファイルをアクセスする使い方について説明します。 これは、本題のファイルサーバーとしての使い方とは少し違いますが、設定のステップの上で説明しておいた方が今後役に立つ場合もあると思いますので、敢えて説明することにしました。

この機能は、「samba」のモジュールをインストールすると特別な設定をしないでも利用できるので便利です。samba のインストールは簡単で以下のコマンドを実行するだけです。


$ sudo apt update
$ sudo apt install samba
$ sudo ufw allow samba
インストールした後に Samab のサービスを利用できるように、ファイアウォールを設定します。 これで、ファイルマネージャから samba を利用して他の PC が共有を許可しているフォルダ(ファイル)にアクセスできるようになります。ファイルの共有は、Samba で共有を許可している場合と、Windows で共有の設定をしているフォルダにアクセスできます。

コマンドラインからアクセスするための方法もあります。「nautilus-share」というクライアントパッケージをインストールするとコマンドラインからアクセスできるようになります。詳細はこちらをご覧ください。

Ubuntu のファイルマネージャーからアクセスする場合は、ファイルマネージャの左側のメニューの「+ Ohter Locations」をクリックして、「Connect to Server」の入力フォームにサーバーのアドレスを指定すればアクセスできます。

smb://[アクセスするサーバーのホスト名 又は IPアドレス]
サーバーに接続できると、アクセスに必要なユーザー名とパスワードを聞いてきますので、入力すると指定したフォルダにアクセスできるようになります。

Raspberry Pi のフォルダに他の PC からアクセスする場合

Raspberry Pi 上のフォルダに他の PC からアクセスを許可する場合には、Raspberry Pi 側で設定する必要があります。設定を行うには、まずは共有するフォルダとアクセスをするためのユーザーを決める必要があります。

最初に samba のアクセスの為のユーザーの設定をします

$ sudo smbpasswd -a [username]
を実行すると samba のパスワードを聞いて来るので入力します。

次に、共有するフォルダの設定をします。 「/etc/samba/smb.conf」を編集します。ファイルの一番下に必要な記述を追加します。

[sambashare]
path = /media/rasuser/ESSD
valid users = @rasuser
browsable = yes
writable = yes
read only = no
設定が完了したら samba のサービスを再起動します。

$ sudo systemctl restart smbd
これで、Rasipberry Pi のホスト名を別の PC から指定すれば、Raspberry Pi 上のファイルに別の PC からアクセスできるようになります。アクセスの仕方は OS によって異なります。 Widnwos の場合は、

\\raspberry
のように指定すると共有フォルダにアクセスできるようになります。

Mac の場合は、メニューの Finder→Go で Connect to server を選択して

smb://raspberry
を指定します。

アクセスにはユーザー名とパスワードが必要です。

実際の利用例は?
この仕組みを使うと、別の PC から Raspberry Pi のフォルダにアクセスできるようになります。 実際の利用例としては、Raspberry Pi を NAS(Network Attached Storage)として使う事ができます。

こうすることで、例えば、家庭内のネットワークに接続して家族で写真などを共有したりするのに利用できます。 各 PC のファイルを共有する場合は、その PC がネットワーク上に接続されて動作している必要がありますが、この方法ならば、Raspberry Pi が稼働していればアクセスが可能です。

別の利用例としては、先日の Web サーバーとして設定して、共有ホルダを Web サイトの中身を置く場所に設定すると、別の PC からファイルを転送しなくても、ファイルを公開用のフォルダに保存する事が可能になります。

まとめ
この記事では、Samba を利用して Raspberry Pi をファイルサーバー(NAS)として利用する例を紹介しました。 設定自体は簡単で、Samba のパッケージをインストールして、共有フォルダを決めて、共有アクセスをする際のユーザーを指定するだけで Raspberry Pi のファイルを共有できます。

NAS の製品は色々売られていますが、実際の仕組みは意外にシンプルです。 自分で設定して利用することで、実際に何が行われているかが段々見えてきて理解が深まります。

いかがですか?



サービス数40万件のスキルマーケット、あなたにぴったりのサービスを探す