ラズベリーパイで自宅ファイルサーバを作ってみましたので、作り方をご紹介したいと思います。
なぜファイルサーバを作ったかと言いますと、パソコンのデータ容量をなるべく消費しないように別ハードへデータを保存したかったという点に尽きます。
本記事では、Sambaでファイルサーバを作りましたので、その手順と私が直面した問題とその解決策も交えてご紹介します。
openmediavault(OMV)というソフトを使用しファイルサーバを作る方法もありますが、この方法は別記事でご紹介したいと思います。
そもそもSambaとは?
- オープンソースソフトウェア(OSS)の1つで、ファイルサーバやプリントサーバなどの機能を提供するソフトウェア
- 競合するソフトウェアとしてWindows Serverがあるが、こちらはサーバライセンスとアクセスするユーザーごとにクライアントライセンスが必要
- その点、Sambaはサーバライセンス、クライアントライセンスのコストが不要なため、コスト削減メリットあり
- Sambaを導入することにより、Windows PCやMACなどからのファイル参照/転送が可能
それでは早速、導入手順をご紹介します!
①Samba(ソフトウェア)をインストールする
まずは初めにSamba(ソフトウェア)をインストールします。
インストールするにあたりリポジトリを最新状態とするため事前に以下のコマンドを入力しましょう。
- pi@raspberrypi ~ $ sudo apt-get update
- pi@raspberrypi ~ $ sudo apt-get upgrade
こちらのコマンドでリポジトリを最新状態にしたら、次にSambaをインストールします。
- pi@raspberrypi ~ $ sudo apt-get install samba
インストールのコマンド入力後、「続行しますか」と聞かれますので「y」と入力すればOKです。
続いて「Sambaサーバおよびユーティリティ」の画面が表示された場合、「いいえ」を選択して処理を進めればOKです。
尚、ここでインストールがうまくいかない場合は以下のコマンドを入力後、再度インストールをしてみてください。
- pi@raspberrypi ~ $ sudo apt update -y
- pi@raspberrypi ~ $ sudo apt full-upgrade -y
apt full-upgradeを実行すると、不要となったパッケージを削除、またはインストール済みのパッケージを削除した上でアップデートを行なってくれます。
apt upgradeで保留となるパッケージもアップデートされます。
全パッケージを精査して削除やインストールを行いますのでそれなりに時間がかかりますね。
しばらくすると処理が完了します。
②Sambaの設定を行う
続いてSambaの設定を行います。
Sambaの設定ファイルは以下のとおりです。
- /etc/samba/smb.conf
このファイルのアクセス権は、(root以外)書き込み権限がないので、このファイルを開いて編集します。
編集する前に念の為ファイルをバックアップします。
- pi@raspberrypi ~ $ sudo cp /etc/samba/smb.conf /etc/samba/smb.conf.bak
次に設定ファイルを開きます。
- pi@raspberrypi ~ $ sudo nano /etc/samba/smb.conf
ファイルの変更箇所は全4箇所となります。変更漏れがないように慎重に進めましょう。
最初の方に [global] ブロックがありますので、ここに文字コードを以下の赤下線のように追加で入力します。
変更前:
[global]
変更後:
[global]
unix charset = UTF-8
dos charset = CP932
続いてファイルやフォルダ作成時のアクセス権を変更します。
ファイルの下へ進み、以下の内容を見つけます。
#======================= Share Definitions =======================
ここでの変更点は以下のとおりです。
3箇所ありますので変更漏れがないように慎重に進めましょう。
変更前:
# By default, the home directories are exported read-only. Change the
# next parameter to ‘no’ if you want to be able to write to them.
read only = yes
変更後:
# By default, the home directories are exported read-only. Change the
# next parameter to ‘no’ if you want to be able to write to them.
read only = no
変更前:
# File creation mask is set to 0700 for security reasons. If you want to
# create files with group=rw permissions, set next parameter to 0775.
create mask = 0700
変更後:
# File creation mask is set to 0700 for security reasons. If you want to
# create files with group=rw permissions, set next parameter to 0775.
create mask = 0664
変更前:
# Directory creation mask is set to 0700 for security reasons. If you want to
# create dirs. with group=rw permissions, set next parameter to 0775.
directory mask = 0700
変更後:
# Directory creation mask is set to 0700 for security reasons. If you want to
# create dirs. with group=rw permissions, set next parameter to 0775.
directory mask = 0775
以上で設定変更は完了です。
設定変更を保存するために「control + O」を入力しEnterを入力します。
Enter入力後、「Control + X」でファイルの設定変更を終了します。
③Sambaのユーザ登録を行う
続いて、ユーザ登録を行います。
Raspberry Piではデフォルト設定としてpiユーザが登録されていますので、このpiユーザでSambaにアクセスするための設定を行います。
- pi@raspberrypi ~ $ sudo smbpasswd -a pi
このコマンドを入力すると2回パスワードを聞かれますので、パスワードを入力します。
このパスワードはMacからアクセスする時に入力するパスワードとなるため忘れないようにしましょう。
- New SMB password: [ここでパスワードを入力]
- Retype new SMB password: [もう一度パスワードを入力]
- Added user pi.
以上でユーザ登録は完了です。
ここで私がつまづいた点として、上記コマンド入力時、「command not found」でエラーになってしまいました。
エラーの原因はsmbpasswdコマンドがインストールされていないためとなりますので、同じくエラーが出てしまった方は以下のコマンドを入力しましょう。
- pi@raspberrypi ~ $ sudo apt-get -y install samba-common-bin
最後に登録ユーザの有効化のため、以下のコマンドでSambaを再起動します。
- pi@raspberrypi ~ $ sudo service smbd restart
これでファイルサーバが有効になり、Macからアクセスできるようになりました。
④PC(Mac)からアクセスする
それではMacからアクセスしてみます。
アクセスの手順は以下のとおりです。
- Finderの「移動」メニューから「サーバに接続…」を選択
- 接続先を聞かれたら「smb://raspberrypi.local」と入力
- 接続確認ダイアログが表示されたらOKボタンをクリック
- ユーザ名とパスワードを聞かれたらユーザ名「pi」、パスワードは登録したものを入力
- 入力後、「接続」ボタンをクリック
- アクセスディレクトリの確認で「pi」が選択されていることを確認してOKボタンをクリック
接続できると、以下のようにホームディレクトリが表示されます。あとは普通のFinderと同じようにファイルのアクセスができます。
以上で接続確認は完了です。これで外出先からもMacからラズパイのファイルサーバへアクセスできるようになりました!
PCのストレージがいっぱい、、という方は是非試してみてください!
コメント