せっかくRaspberry Pi 4 Model Bを買ったものの、正直使いこなせていないので、まずは初級編ということでDLNAが使えるNASを作ってみたいと思います。
Raspberry Pi 4 Model BはCPUが高速で、メモリも4GB(8GBモデルも新発売)と大容量なうえに、USB3.0とギガビットイーサまで装備しているのでNASを作るにはピッタリの条件が揃ってますね。
NASの速度はI/Oインターフェイスの性能に左右されるところが大きいので、Raspberry Pi 3(USB2.0/300Mbpsイーサネット)と比べても、劇的に性能が上がって実用的に使えるレベルになっているようです。
※注意!以下の設定はまだ検証中です。参考にはしないでください!
特にユーザを変更してからの権限周りの設定がうまくいっていないのと、公開鍵秘密鍵の設定があと一歩です💧
■Raspberry Piの準備
・Raspberry Pi 4 Model B 4GBを用意。
用意する周辺機器のポイントは
・5.1V 3.0AのUSB Type-C電源アダプターを確保すること
・熱くなるのでヒートシンクか、できればファン付きのケースを使うこと
・安定した運用をするためにそこそこのmicroSDカードを使うこと
ですかね?
では、さっそくOSやソフトウェアをセットアップしていきましょう。
■環境の用意
・RaspberyPi用のOS、Raspberry Pi OS (32-bit) with desktop and recommended softwareをダウンロード
https://www.raspberrypi.org/downloads/raspberry-pi-os/
・SD FormatterでmicroSD(microSDXC)カードを初期化
https://www.sdcard.org/jp/downloads/formatter_4/eula_windows/index.html
・Win32DiskImagerでmicroSD(microSDXC)カードにRaspberry Pi OSを書き込む
https://ja.osdn.net/projects/sfnet_win32diskimager/
・microSD(microSDXC)カードをRaspberry Piに挿入
・USBキーボード、USBマウス、MicroHDMIケーブル、電源ケーブルを接続
■初期設定
・Raspberry Pi OSが立ち上がったら初期ウィザードを実行する。
地域とタイムゾーンとパスワード、Wi-Fiを設定する。
・左上のラズベリーボタンから「設定」、「Raspberry Pi」の設定を押し、インターフェイスからSSHをONにする。
※Wi-Fiではなく有線LANでもOK。
・右上のWi-Fiマークをマウスオーバーし、Raspberry PiのIPアドレスを調べる
・Windows10からTera Termを使ってSSH接続する
http://ttssh2.osdn.jp/
・Tera TermでRaspberry PiのIPアドレスを入力
・ログインする
# ユーザー名:pi
# パスワード:自分で決めたパスワード
・Raspberry Pi Software Configuration Tool(raspi-config)を起動
$ sudo raspi-config
・「7.Advanced Options」を選択(Enter)
・「1.Expand Filesystem Ensures that all of the SD card storage is available」を選択(Enter)
・[了解]を選択(Enter)
・Finishを選択して再起動する
■各種アップデートを実行する
・Tera Termでログインする
・Rasbianのパーケージを最新のものに更新する
$ sudo apt-get update
$ sudo apt-get upgrade
# Do you want to continue? [Y/n] と聞かれたら「Y」を入力する
$ sudo apt-get dist-upgrade
・本体のファームウェアのアップデートする
$ sudo apt-get install -y rpi-update
$ sudo rpi-update
# Would you like to proceed? [y/N] と聞かれたら「y」を入力する
・一度、再起動する
$ sudo reboot
■リモート接続のためのRemote Desktop Protocol (RDP) serverをインストールする
$ sudo apt-get install xrdp
# yes(Y)を入力
・RDPを再スタートする
$ sudo service xrdp restart
# これでWindowsアクセサリのリモートデスクトップ接続が使えるようになる。
■MiniDLNAをセットアップする
$ sudo apt-get install minidlna
・再起動する
$ sudo reboot
・設定ファイルを変更
$ nano /etc/minidlna.conf
# iを押下し、以下をペースト(は自分のIDに書き換える)
user=minidlna
media_dir=var/lib/minidlna
media_dir=V,/home//minidlna/Video
media_dir=P,/home//minidlna/Photo
media_dir=A,/home//minidlna/Music
inotify=yes
notify_interval=895
# ESCを押下
# :wq!を押下
$ sudo service minidlna force-reload
・設定ファイルを再読み込み
$ sudo systemctl stop minidlna
$ sudo systemctl start minidlna
■Sambaをセットアップする
$ sudo apt-get install samba samba-common-bin
# 途中なにか聞いてきたら「y」を入力
・再起動する
$ sudo reboot
・共有用フォルダの作成( /home//Share/)
$ sudo mkdir /home//Share
・Shareフォルダのプロパティでパーミッションのアクセス制限を
内容の閲覧 すべて
内容の変更 すべて
内容へのアクセス すべて
にする
/////////////////////////////////////////
共有フォルダへアクセスするユーザの作成
$ sudo useradd smbuser
# パスワードの設定
$ sudo passwd smbuser
# 権限変更
$ sudo chown smbuser:smbuser /var/samba/
# Sambaのアクセス設定
$ sudo pdbedit -a smbuser
# 共有フォルダの公開設定
$ sudo cp -p /etc/samba/smb.conf /etc/samba/smb.conf.org
$ sudo vi /etc/samba/smb.conf
////////////////////////////////////////////////
・設定を変更する
$ sudo vi /etc/samba/smb.conf
# パスワードを入力し、以下を追記
[share]
comment = Share Folder
browseable = yes
path = /var/samba
writable = yes
valid users = smbuser
force user = smbuser
・Sambaの再起動
$sudo samba restart
・pdbedit(SAMデータベース/Sambaユーザデータベースの管理
$ sudo pdbedit -L
$ sudo pdbedit -L -v
■rootのパスワードを設定する
$ sudo passwd root
# パスワード:自分で決めたパスワード
■ユーザー名を変更する
・Tera Termでログインする
・ユーザーを追加する
$ sudo adduser user_name(以下、user_nameを自分のユーザー名に置き換える)
# パスワードを入力し、パスワードを再入力する
# フルネームなどの入力を求められるので、Enterを数回おしてスキップする。
# 以上で正しいですか?[Y/n]と聞かれたら「y」を入力する。
・「pi」が所属しているグループを調べる
$ id pi
・以下のように出力される
id=1000(pi) gid=1000(pi) groups=1000(pi),4(adm),20(dialout),24(cdrom),27(sudo),29(audio),44(video),46(plugdev),60(games),100(users),105(input),109(netdev),999(spi),998(i2c),997(gpio)
・新しく作成したユーザーに「pi」と同じグループを追加する(最後のuser_nameの部分にユーザー名を入力)
$ sudo usermod -aG adm,dialout,cdrom,sudo,audio,video,plugdev,games,users,input,netdev,spi,i2c,gpio user_name
・再起動する
$ sudo reboot
・新しく作成したユーザーとパスワードでTera Termを使ってログインする
ユーザー名:
パスワード:自分で決めたパスワード
・groupが追加されてことを確認する
$ groups
・以下のように出力されたらOK
: user_name adm dialout cdrom sudo audio video plugdev games users input netdev spi i2c gpio
・「pi」ユーザーを削除する
$ sudo userdel -r pi
# パスワードを入力する
■固定IPアドレスを設定する
・自分のIPを調べる
$ ifconfig
・IPを固定する
$ sudo nano /etc/dhcpcd.conf
# 下記4行を追記
interface wlan0
static ip_address=192.168.10.XXX/24 #自分のIPアドレス
static routers=192.168.10.1
static domain_name_servers=192.168.10.1
Ctrl + O で書き込み
Enter エンターで決定
Ctrl + X で終了
・再起動する
$ sudo reboot
・固定したIP(wlan0)を確認する
$ ifconfig
■SSHのログインをパスワード認証方式から公開鍵認証方式へ変更する
・Windows10のTera TermでSSH鍵を生成
Tera Term→設定→SSH鍵生成
# 鍵の種類=RSA
# ビット数=2048
# 生成を押下
# フレーズパスを入力
# フレーズパスを再入力
# 公開鍵の保存を押下
# 秘密鍵の保存を押下
・公開鍵をRaspberry Piに転送
WinSCPで公開鍵 id_rsa.pub をRaspberry Piの /home/user_name に転送
https://winscp.net/eng/docs/lang:jp
・Tera TermでSSH接続し、Raspberry Piに公開鍵を登録
$ cd /home/
$ mkdir .ssh
$ cat id_rsa.pub >> .ssh/authorized_keys
$ chmod 700 .ssh
$ chmod 600 .ssh/authorized_keys
$ rm id_rsa.pub
・sshd_configの設定変更
$ sudo nano /etc/ssh/sshd_config
# Port 22
Port 60000
# PermitRootLogin prohibit-password root による ssh ログインを禁止する設定
PermitRootLogin no
# PubkeyAuthentication yes 公開鍵認証を許可 (SSH2のみ)
PubkeyAuthentication yes
# PasswordAuthentication yes パスワード認証を禁止する設定
PasswordAuthentication no
# ChallengeResponseAuthentication yes チャレンジレスポンス認証を無効化する設定
ChallengeResponseAuthentication no
# PermitEmptyPasswords no 空のパスワードを認めなくする設定
PermitEmptyPasswords no
# 以下を追記
Protocol 2
Ctrl+X
Y (Yes)
Enter
su
・SSHサーバを再起動
$ sudo systemctl restart ssh.service
■SSH接続クライアント(TeraTurm)の設定変更
ホスト名(IPアドレス)を入力
# 指定したポート番号を入力
# ユーザー名を入力
# パスフレーズを入力
# RSA/DSA/ECDSA/ED25519鍵を使う秘密鍵で秘密鍵を指定
# OKを押下
ログイン完了
・SSH接続クライアント(WinSCP)の設定変更
# SFTPを選択
# ホスト名(IPアドレス)を入力
# 指定したポート番号を入力
# ユーザー名を入力
# 設定→SSH→認証で秘密鍵を選択
# OpenSSH形式からPutty形式に変換
# パスフレーズを入力
# id_rsa.ppkファイルを出力
・SSH接続クライアント(Tera Turm)でログイン
# ログインを押下
# パスフレーズを入力
# ログイン完了
ファイル共有サーバへのアクセス
■Windows10
SMB 1.0 が無効になっているため、以下の手順でSMBのクライアントを有効にする。
1. コントロールパネルを開く
2. プログラムから、[Windows の機能の有効化または無効化]を開く。
3.[SMB 1.0/CIFS クライアント]をチェックを入れて、[OK]をクリックする。
4. エクスプローラーからネットワークで、¥¥<Raspberry PiのIPアドレス>:¥share¥にアクセスする。
5. smbuserの認証情報を入力。
■Mac
1. Finderの[移動]から、[サーバへ接続]を選択する。
2. [サーバアドレス]にsmb://を入力し、[接続]をクリック。
3. 登録ユーザを選択し、smbuserの認証情報を入力。