学校のファイルサーバーが不安定になることがあって、そんな時にささっと代替手段を用意したい。他にも、サーバーやWebの勉強の際に手軽にインストールができるサーバーが欲しいとか、Phaserを動かしてみたいとか、ルキグラの描画に使えそうとか、あれこれ野望が浮かび、ラズパイ4を購入しました!
購入したラズパイと、Sambaのインストール手順です。
2019/12/11 nanoの終了時にYキーを押す手順が抜けていたので追加。
2019/12/12 ラズパイが見えない時の対策を追加。
目次
購入したもの
購入したのは、千石電商 さんの秋葉原 店にあったスターターパックです。電源やMicro HDMI ケーブルなどを自分で選ぶのに不安があったのと、ヒートシンク やファンを揃えるのが面倒というのがありました。それらが揃っている優れたパックでした。
ラズパイ4スターターパック32G
ケースは純正のものではなく、200円上乗せしてヒートシンク とファンが付いているやつにしました。熱対策は万全!SDカードは32GB。これで税込み11,630円。お手頃価格!
最初のインストール時に、スターターパック以外に以下が必要になります。
USBマウス
USBキーボード
HDMI が繋がるモニター
以上は手持ちのを使いました。
下準備
以下の公式ページを見ながら初回のインストール作業を済ませます。
projects.raspberrypi.org
インストールが終わったら、SSH を使えるようにします。レグポンさんの以下のページを参考にしました。
regpon.hatenablog.com
ウィンドウの上からターミナルをクリックして起動したら、以下を入力します。
sudo raspi-config
設定ウィンドウが開くので、5 Interfacing Options を選択します
P2 SSH を選択します
Yes を選択して、Ok します
これでSSH は有効になりますが、外部から簡単に接続できるようにホスト名を設定しておきます。
sudo nano /etc/hosts
最後の127.0.0.1
で始まる行の最後を以下のように書き換えます。rasp
の部分は好きに書き換えてください
127.0.0.1 raspberrypi.local
[Ctrl]+[X]キーを押すと保存するか聞いてくるので、[Y]キー > [Enter]キーで保存します
続いて以下を入力します
sudo nano /etc/hostname
1行目を、先に入力した???.local
のホスト名に書き換えます
raspberrypi.local
先ほどと同じく、[Ctrl]+[X]キーを押して、[Y]キー > [Enter]キーで保存して、エディターを閉じます
以下で、ラズパイを再起動します
sudo reboot
以上で外部から接続できるようになります。Windows からの場合、PuTTY などのSSH クライアントソフトで接続します。
www.putty.org
接続時に設定したホスト名(この例通りならraspberrypi.local
)を入力すれば、ラズパイに接続して、IDとパスワードの入力を求められます。IDはpi
で、パスワードはインストール時に設定したものを入力してください。
これ以降の作業は、Windows などの端末側から操作できます。
Sambaの設定
Sambaの設定の情報は、Raspberrypi公式マガジンのWebサイトのものが参考になりました。
magpi.raspberrypi.org
ここからは、PuTTY を使ってSSH 接続をして操作しました。ログインは、ユーザーIDをpi
、パスワードはインストール時に設定したものです。
Sambaのインストール
ターミナルを起動して、以下を入力してSambaのインストールをします
sudo apt update
sudo apt upgrade
sudo apt install samba
元のドキュメントにあったsamba-common-bin
はなくても大丈夫でした。
以上でインストールが始まるので、終わるまで待ちます。
共有フォルダーの作成
以下を入力して、Sambaで共有するフォルダーを作成します。
sudo mkdir /home/pi/shared
piのホームディレクト リー下にフォルダーを作ることで、そのまま権限の管理ができます。
pi以外のユーザーでやろうとすると権限周りの設定がややこしくなります。特に問題はなさそうなので、piのままでよいかと思います。
Sambaの設定を行う
まずは、以下を実行して、最初の設定のバックアップをとっておきます(最初の1回目でこれをやらずに設定ファイルの変更を間違えて、ラズパイの再インストールからやり直しました^^;)。
sudo cp /etc/samba/smb.conf /etc/samba/smb.conf_backup
以下で、設定ファイルを開きます。
sudo nano /etc/samba/smb.conf
ファイルの一番下に、以下を入力します。
path = /home/pi/shared
available = yes
valid users = pi
browsable = yes
writable = yes
詳細は、Samba.orgのドキュメント にありますが、一先ず上記のように追記すればOKです。
[Ctrl]+[X]キーを押したら、[Y]キー > [Enter]キーを押して、エディターを保存して閉じます。
念のため、以下を実行して、設定に間違いがないかを確認しまs。
testparm
色々と表示されますが、最後にLoaded services file OK と表示されれば問題ありません。違う表示が出たら設定を間違えた可能性があるので、smb.conf
をnanoエディターで開くところからやり直して、入力した文字に間違いがないか確認してください。
パスワードの作成
Samba用のパスワードを設定しておく方が安全でしょう。以下を実行します。
sudo smbpasswd -a pi
パスワードの入力を促されるので、ラズパイへのログイン用のものとは違うシンプルなパスワード を決めて入力してください。入力して[Enter]キーを押すと、もう一度確認を求められるので、同じパスワードを入力して[Enter]キーを押します。
以上できたら、Sambaサーバーを再起動するために、以下を入力します。
sudo service smbd restart
これでラズパイ側の設定は完了です。
この段階では、まだWindows からラズパイが見えません。Windows の設定が必要です。
検索バーにcontrol
と入力して、コントロール パネル が見つかったらクリックします
プログラム の文字をクリックします
Windows の機能の有効化または無効化 をクリックします。管理者権限が必要です
下にスクロールして、SMB 1.0/CIFSファイル共有のサポート の左の+
をクリックして開きます
SMB 1.0/CIFSクライアント にチェックします
OK をクリックしてウィンドウを閉じます
再起動が必要な場合は、再起動してください。以上完了したら、エクスプローラ ーのネットワークにラズパイのファイルサーバーが表示されます。
接続時には、IDとパスワードが必要になります。IDはpi
、パスワードはSambaのインストール時に設定した簡単なパスワードです。
pi
とshared
の2つのフォルダーが見えるようになると思います。pi
のホームフォルダ ーが丸ごと見えるのでぎょっとしますが、読み取り専用なので悪さはできません。ラズパイ上で作業する時は、piではないユーザーを作った方がよさそうです(Linux なので、管理者であるpiで通常の作業をしないのは当然ではありますが)。
mac からのアクセス
mac やiOS 、Android のデバイス からなら、そのままファイルサーバーにアクセスできるそうです。mac の場合、FinderのNetworkを開けば見えるので、Windows と同様に操作できます。
ラズパイが見えない時の対処(2019/12/12追記)
SSH で????.local
に接続しようとして失敗した時は、IPアドレス で接続して、設定を保存したらそれ以降は接続できるようになりました。
ネットワークにラズパイが出てこない
直に接続を試みます。Windows10で、[Windows ]キー+[R]キーを押して、ファイル名を入力して実行するダイアログを表示して、以下を入力します(\は円記号)。
\\IPアドレス\pi
例えば、ラズパイのIPアドレス が192.168.1.2の場合は、\\192.168.1.2\pi
と入力します。ユーザーとパスワードの入力画面になったら、ユーザーをpi
、パスワードはSambaで作成したパスワードを入力します。
これでダメな場合は、Sambaが動作しているかを確認します。ラズパイのターミナルで以下を実行します。
service smbd status
動作していない場合は、sudo service smbd restart
で再開します。
また、有線で接続しているラズパイに、無線LAN で接続しているPCから接続しようとした時に、ネットワークの場所が違っていたようで見つかりませんでした。どちらも同じルーター 下の有線で接続したら見えるようになりました。
まとめ
以上で、外部ストレージを使わないラズパイ単体での簡易ファイルサーバーの出来上がりです。自分の用途は、ちょっとしたリソースの共有が目的なので30GBもあれば十分です。もっと大容量で、という場合は、外部ストレージの設定例もあちこちありました。日本語の情報はほぼ外部ストレージを利用するものでした。
ラズパイをカバンに入れておけば、LAN環境ですぐにファイルサーバーにできて重宝しそうです!
参考URL