学校のファイルサーバーが不安定になることがあって、そんな時にささっと代替手段を用意したい。他にも、サーバーやWebの勉強の際に手軽にインストールができるサーバーが欲しいとか、Phaserを動かしてみたいとか、ルキグラの描画に使えそうとか、あれこれ野望が浮かび、ラズパイ4を購入しました!
購入したラズパイと、Sambaのインストール手順です。
2019/12/11 nanoの終了時にYキーを押す手順が抜けていたので追加。 2019/12/12 ラズパイが見えない時の対策を追加。
目次
購入したもの
購入したのは、千石電商さんの秋葉原店にあったスターターパックです。電源やMicro HDMIケーブルなどを自分で選ぶのに不安があったのと、ヒートシンクやファンを揃えるのが面倒というのがありました。それらが揃っている優れたパックでした。
ケースは純正のものではなく、200円上乗せしてヒートシンクとファンが付いているやつにしました。熱対策は万全!SDカードは32GB。これで税込み11,630円。お手頃価格!
最初のインストール時に、スターターパック以外に以下が必要になります。
- USBマウス
- USBキーボード
- HDMIが繋がるモニター
以上は手持ちのを使いました。
下準備
以下の公式ページを見ながら初回のインストール作業を済ませます。
インストールが終わったら、SSHを使えるようにします。レグポンさんの以下のページを参考にしました。
- ウィンドウの上からターミナルをクリックして起動したら、以下を入力します。
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クライアントソフトで接続します。
接続時に設定したホスト名(この例通りならraspberrypi.local
)を入力すれば、ラズパイに接続して、IDとパスワードの入力を求められます。IDはpi
で、パスワードはインストール時に設定したものを入力してください。
これ以降の作業は、Windowsなどの端末側から操作できます。
Sambaの設定
Sambaの設定の情報は、Raspberrypi公式マガジンのWebサイトのものが参考になりました。
ここからは、PuTTYを使ってSSH接続をして操作しました。ログインは、ユーザーIDをpi
、パスワードはインストール時に設定したものです。
Sambaのインストール
- ターミナルを起動して、以下を入力してSambaのインストールをします
sudo apt update sudo apt upgrade sudo apt install samba
元のドキュメントにあったsamba-common-bin
はなくても大丈夫でした。
- キー入力を求められるので、Yキーを押します
以上でインストールが始まるので、終わるまで待ちます。
共有フォルダーの作成
以下を入力して、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からラズパイが見えません。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追記)
PuTTYなどのSSHクライアントからの接続失敗
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環境ですぐにファイルサーバーにできて重宝しそうです!