Raspberry PiでTime Machine対応のファイルサーバーを構築する方法
概要
自宅にあるRaspberry Piを活用して、ファイルサーバー兼Time Machineのバックアップ先を構築する手順をまとめました。家族内でのファイル共有や、Macのバックアップ先として利用できます。
目的
- Raspberry Piを使ってファイルサーバーを構築する
- Time Machineのバックアップ先として利用する
- 家族内でのファイル共有を設定する
- アクセス権限を適切に設定する
前提条件
- Raspberry Piがネットワークに接続されている
- 外付けHDDをRaspberry Piに接続している
- 基本的なLinuxコマンドの操作ができる
ステップ1:外付けHDDのマウント
1.1 外付けHDDの接続と確認
Raspberry Piに外付けHDDを接続し、デバイス名を確認します。
sudo fdisk -l
1.2 マウントポイントの作成
マウントポイントを作成します。
sudo mkdir /mnt/external_hdd
1.3 自動マウントの設定
/etc/fstabファイルを編集して、自動マウントを設定します。
sudo nano /etc/fstab
以下の行を追加します(/dev/sda1は実際のデバイス名に置き換えてください)。
(お好きなエディタでどうぞ)
/dev/sda1 /mnt/external_hdd ext4 defaults 0 2
変更を保存して閉じ、マウントを適用します。
sudo mount -a
##ステップ2:Sambaのインストールと設定
2.1 Sambaのインストール
sudo apt update
sudo apt install samba
2.2 ユーザーとグループの設定
2.2.1 家族用のグループを作成
sudo groupadd family
2.2.2 家族のユーザーを作成し、グループに追加
例として、家族メンバーjyunichiro、kotaro,shinjiroを作成します。
sudo adduser jyunichiro
sudo adduser kotaro
sudo adduser shinjiro
sudo usermod -aG family jyunichiro
sudo usermod -aG family kotaro
sudo usermod -aG family shinjiro
2.2.3 Sambaユーザーの追加
sudo smbpasswd -a jyunichiro
sudo smbpasswd -a kotaro
sudo smbpasswd -a shinjiro
2.3 共有ディレクトリの作成と権限設定
2.3.1 Time Machine用ディレクトリ
sudo mkdir /mnt/external_hdd/TimeMachine
sudo chown -R jyunichiro:jyunichiro /mnt/external_hdd/TimeMachine
sudo chmod -R 700 /mnt/external_hdd/TimeMachine
2.3.2 家族共有用ディレクトリ
sudo mkdir /mnt/external_hdd/Public
sudo chown -R jyunichiro:family /mnt/external_hdd/Public
sudo chmod -R 770 /mnt/external_hdd/Public
2.3.3 各ユーザー用ディレクトリ
sudo mkdir /mnt/external_hdd/Public/jyunichiro
sudo mkdir /mnt/external_hdd/Public/kotaro
sudo mkdir /mnt/external_hdd/Public/shinjiro
sudo chown jyunichiro:jyunichiro /mnt/external_hdd/Public/jyunichiro
sudo chown jyunichiro:kotaro /mnt/external_hdd/Public/kotaro
sudo chown jyunichiro:shinjiro /mnt/external_hdd/Public/shinjiro
sudo chmod 770 /mnt/external_hdd/Public/jyunichiro
sudo chmod 770 /mnt/external_hdd/Public/kotaro
sudo chmod 770 /mnt/external_hdd/Public/shinjiro
2.4 Sambaの設定ファイルを編集
(お好きなエディタでどうぞ。)
sudo vim /etc/samba/smb.conf
2.4.1 Time Machine用共有設定
以下を追加します。
[TimeMachine]
comment = Time Machine Backup
path = /mnt/external_hdd/TimeMachine
valid users = jyunichiro
read only = no
browseable = no
writable = yes
guest ok = no
inherit permissions = yes
vfs objects = catia fruit streams_xattr
fruit:aapl = yes
fruit:time machine = yes
2.4.2 家族共有用共有設定
以下を追加します
[Public]
comment = Family Share
path = /mnt/external_hdd/Public
valid users = @family
read only = no
browseable = yes
writable = yes
guest ok = no
create mask = 0770
directory mask = 0770
force group = family
2.5 Sambaサービスの再起動
sudo systemctl restart smbd
ステップ3:Macでの設定
3.1 Time Machineの設定
- サーバーに接続
Finderで「移動」→「サーバへ接続」を選択し、以下を入力します。
smb://raspberrypi.local/TimeMachine
※ raspberrypi.localはRaspberry Piのホスト名またはIPアドレスに置き換えてください。
-
認証情報を入力
ユーザー名:jyunichiro
パスワード:設定したSambaパスワード -
Time Machineのバックアップ先に設定
「システム設定」→「Time Machine」を開き、「バックアップディスクを選択」で「TimeMachine」を選択します。
3.2 家族共有フォルダへのアクセス
- サーバーに接続
smb://raspberrypi.local/Public
- 認証情報を入力
ユーザー名:各自のユーザー名(例:jyunichiro、kotaro,shinjiro)
パスワード:設定したSambaパスワード
- 共有フォルダの利用
認証が成功すると、Public共有フォルダにアクセスできます。
トラブルシューティング
アクセス権限のエラーが出る場合
- 所有者と権限の確認
ls -l /mnt/external_hdd
- 権限の再設定
sudo chown -R [所有者]:[グループ] /path/to/directory
sudo chmod -R [パーミッション] /path/to/directory
Sambaのログを確認する
- ログレベルを上げる
/etc/samba/smb.confの[global]セクションに追加。
log level = 3
- ログファイルの場所
/var/log/samba/ディレクトリ内を確認します。
まとめ
Raspberry Piと外付けHDDを使って、Time Machine対応のファイルサーバーを構築しました。
家族内でのファイル共有も設定し、ユーザーごとにアクセス権限を管理しました。
アクセス権限やSambaの設定に注意して、セキュリティを確保しました。