Raspberry Piでファイルサーバ、Part1 Samba基本編

Windows/MacからRaspberry Piにデータを保存と読込ができるファイルサーバをたててみようと思います。今回はSamba基本編です。

用語の説明

ファイルサーバって何?
他のパソコンのファイルを保存するパソコンです。他のパソコンはファイルサーバからファイルを読み込んだりファイルサーバへファイルを保存したりすることができます。例えば、ファイルサーバに音楽を保存すると、他のパソコンからその音楽を聴けたりできます。

Samba(サンバ)って何?
ネットワークを通してファイルをやりとりソフトウェアです。
ルーターとハブとLANケーブルを通して自宅や社内のパソコン同士でファイルをやり取りすることができます。

Raspberry PiにSambaをインストールする

まず最初に恒例の各種アップデートをしておきます。

今回はファームウェアもアップデートしておきます。
sudo rpi-update

sudo reboot
ファームウェアが3.12.25+から3.12.30+へアップデートされました。

各種アップデートを行います。あと念のためリブートもしておきます。
sudo apt-get update
sudo apt-get upgrade

sudo reboot

Sambaをインストールします
sudo apt-get install samba

sambashareというグループが自動で作成されました。
あとsambaは自動起動になっているようです。

Sambaの基本的な設定

これが難しいです。
いきなり完全な設定をしようとすると、動かないとき何が動かないのかわからないので、
最初はシンプルな設定から始めましょう。

まず最初にufwでファイヤーウォールを設定している人はSambaが使うポートを開放します。
sudo ufw allow 137/udp
sudo ufw allow 138/udp
sudo ufw allow 139/tcp
sudo ufw allow 445/tcp
sudo ufw reload

次にSambaの設定を変更します。
ネットワーク内のみSambaを許可して、外部からのアクセスをはじくように設定します。とは言うものの、Sambaはインターネットに接続していないので大丈夫だと思いますが念のため外部拒否を設定しておきます。あとはパスワードなしで共有フォルダにアクセスできるようにします。
sudo vim /etc/samba/smb.conf

#変更したところだけ記載します。
[global]
   workgroup = WORKGROUP
   interfaces = 192.168.1. 127.0.0.0/8 eth0
   bind interfaces only = yes
   hosts allow = 192.168.1.
   max log size = 100
   security = user

[public]
   comment = Public
   path = /home/samba/public
   public = yes
   read only = no
   browsable = yes
   force user = your_username

#Sambaをリスタートします
sudo service samba restart
interfacesとhosts allowは各自で変わります。192.168.1.のところが192.168.0.とかだったりするので各自ローカルアドレスが何なのか確認しましょう。your_usernameのところはRaspberry Piにログインするときに使うユーザー名を使います。

共有フォルダのpathが/home/samba/publicとなるようにフォルダを作ります。publicフォルダの所有者はRaspberry Piにログインするときに使うユーザーにする必要があります。そうしないと書き込めません。

以上で自分のパソコンからアクセスしてみます。

Windowsからアクセスする

ここではWindows7で試してみました。
エクスプローラーを開いて、左下のネットワークをクリック。するとRASPBERRYPIというコンピューターが表示されます。RASPBERRYPIをクリックするとpublicというフォルダが出てくるのでそれをクリックします。そしてこの場所が共有フォルダの場所になります。自由にファイルを作ったりフォルダを作ったり削除したりできます。

RASPBERRYPIが表示されない場合
RASPBERRYPIが表示されない場合は“ネットワークと共有センター”をクリックして“ホームグループと共有に関するオプションを選択する”をクリック。“ネットワーク探索を有効にする”と“ファイルとプリンターの共有を有効にする”をチェックして変更の保存をしてください。通常はこれでRASPBERRYPIが表示されるようになります。

共有フォルダへすばやくアクセスする方法
publicのところを右クリックしてネットワークドライブの割り当てを選択します。
適当なドライブ、例えばZ:を選んで完了を押すとエクスプローラーのコンピューターのところにpublicドライブができます。そこからすばやく共有フォルダにアクセスできるようになります。

Macからアクセスする

ファインダーを開いてCommand + Kでサーバへ接続できます。

サーバアドレス
smb://192.168.1.121

192.168.1.121の部分がサーバーのローカルアドレスです。
自分のRaspberry Piに割り当てたローカルアドレスを入力してください。

サーバーアドレスを入力したら接続をクリックします。

サーバ“192.168.1.121”用の名前とパスワードを入力してくださいとうメッセージが出てくるのでゲストを選んで接続します。

マウントするボリュームを選択というのが出てくるのでpublicを選択します。

項目をカラム表示で表示するとpublicフォルダが出てきます。
publicフォルダをファインダーのよく使う項目へドラッグしてドロップします。
これでファインダーを開けばすぐにpublicフォルダへアクセスできるようになります。

Macを再起動するとリンクが切れるのでファインダーのよく使う項目にあるpublicフォルダをクリックすると再びゲストを選んで接続しなければなりません。少しだけ手間ですが、許容範囲内ということにします。電源切ったりネットワーク外(家の外とか)へ行かない限り再接続は必要なさそうです。

MacにはSambaよりもAFPでつないだほうが良いらしいです。
netatalkをRaspberry PiにインストールしてAFPを使うとか何とか。

とりあえずMacでもSambaが使えたのでAFPは機会があったら考えてみようと思います。

コメントを残す

メールアドレスが公開されることはありません。