Raspberry Pi 活用 ~とりあえずおうちクラウド化してみる(ファイルサーバー)~
ぜひフォローしてください
Follow @SoYaNoNikkeyおうちにある眠れるラズパイとLinuxPCを活用したいというところから、年明け早々ラズパイサーバー化計画を粛々と進めております。
そこで今回はラズパイとLinuxPCを接続して、ラズパイをファイルサーバーにするところまで紹介したいと思います。
構想はこのような感じです。
使用するもの
ハード
- Raspberry Pi 3 Model B+
- LANケーブル
- 外付けHDD(250GB)
- LinuxPC(ASUS Vivobook)
HDDはamazonでおそらく最安の250GBにしました。
あのLinuxPCは今このような姿に...
ステッカー貼ったPCで外出歩きたくないけど、そのような方々に一種の憧れもありつつ、、、好きと嫌いは紙一重といいますか。。。絶対外に持ち出さないであろうこのLinuxPCをステッカーまみれにしてみました。
就活イベント行ったりするとオーラの違う学生がいるんですよ。インターンに参加したであろう企業のステッカーを貼って百戦錬磨の雰囲気を醸し出している学生が。実際様子見ているとすごく優秀みたいだし。
そういう方々みたいに自分が開発に参加したものであったり、とても大好きなサービス、ブランド、キャラクターといったステッカーを強い意志を持って貼っているのはとてもかっこいいと思います。
しかし僕がやってしまったのは持っているステッカーをただ意味もなく思考停止で貼っただけのもので、強い意志など何処へやら。
かすかな満足感と引き換えにそこにあるのは虚無です。幼児退行です。ばぶばぶ〜。
いつも使っているPCでやらなくてよかったと思っています。
毒くわば皿まで。たまたま家にあったアクリルスプレーでさらに上からコーティングしてあります。
「PCにステッカー貼ってみた〜〜〜」程度のことで一つの記事にはしませんのであしからず。
ソフト
- Samba(ファイルサーバーソフト)
- OpenSSH(SSHソフト)
PCとラズパイをSSH接続する
SSHとは
SSHは(Secure Shell)の略でセキュアな通信を行うためのプロトコルです。スーパーサイエンスハイスクールではありません。通信方式の一種で、インターネット検索とかで使っているHTTPと同じレイヤーと考えればわかりやすいでしょう。 このあと使うOpenSSHはそのSSHを実現するためのソフトということになります。OpenSSHを使うことでLinuxPCのターミナル上からラズパイをリモート操作できるようになります。
SSHなるものをよくわからずに使っている人のための手引書 - Qiita
OpenSSHの準備
$ apt-get -y install openssh-server
$ apt-get install openssh-client
両端末にOpenSSHをインストールして公開鍵認証方式で接続できるようにします。
公開鍵認証方式の設定
参考
公開鍵認証方式でのssh接続・設定・トラブルシューティング法 - Qiita
第4回 リモートアクセス環境の構築(SSHとターミナルマルチプレクサー) « shell-mag
公開鍵認証の設定に関しては上の記事の通りに行いました。
外付けHHDのマウント
恐る恐るラズパイにHDDを接続してみました。
$ sudo fdisk -l
これでHDDが認識されているのかを確認することができます。
... Device /dev/sda1 2048 488394751 488392704 232.9G 7 HPFS/NTFS/exFAT ...
$sudo blkid /dev/sda1 #HDDのUUIDなどを確認できる $ sudo mkdir /mnt/hdd1 #マウント先のファイルを作る(/dev/sda1には直接アクセスできない?) $ sudo mount -t ntfs-3g /dev/sda1 /mnt/hdd1 #マウント
と、ここで
mount: unknown filesystem type 'ntfs-3g'
となったのでntfs-3gをインストール。 あとで'exfat'に対する同じエラーが出たのでそちらに対しても対応しておくとうまくいきました。
ntfs-3gやexfatはHDDのファイルシステムのことです。自分も詳しくありませんがいくつかのシステムがあるのですね。
【決定版】NTFS・exFATの違い|外付けハードディスク/USBメモリのおすすめのファイルフォーマット | 節約情報塾
$ sudo apt-get install ntfs-3g $ sudo apt-get install exfat-fuse exfat-utils $ sudo mount /dev/sda1 /mnt/hdd1 FUSE exfat 1.2.5
うまくいったようです。
再起動時に自動的にマウントするように/etc/fstab
に追記。やることたくさん〜。
UUID="A6761F43761F13A1" /mnt/hdd ntfs-3g defaults,nofail 0 0
参考 Raspberry Pi 3 ModelB で外付けHDDをファイルサーバー化する - Qiita
Raspberry Pi 2でファイルサーバを作るまでのまとめ - Qiita
ファイルサーバーを作る(Samba)
Sambaのインストール
$ sudo apt update $ sudo apt install samba
Sambaがデーモン(常駐プログラム)として稼働しているかを確認
$ systemctl status smbd $ systemctl status nmbd
緑文字でactive (running)となっていればおけ。
#元のファイルを.orgとして取っておく $ sudo mv /etc/samba/smb.conf /etc/samba/smb.conf.org #新しくコンフィグファイルを作ってルートなどを書き換える $ sudo nano /etc/samba/smb.conf # restart $ sudo systemctl restart smbd $ sudo systemctl restart nmbd #sambaを利用できるユーザーを登録 $ sudo pdbedit -a [User Name]
$ df -h
このコマンドを打って、/dev/sda1がマウントされていれば成功です。
参考
第7回 ファイルサーバーを作る(Samba) « shell-mag
ここまででラズパイ+HDDのファイルサーバー化に成功です。
このようにwindowsPCからラズパイのHDDを開いてファイル共有ができるようになりました。
WindowsPCからエクスプローラーを使ってこのようにファイルサーバーへアクセスできます。
おまけ
また、スマートフォンからも「Fing」というアプリでIPアドレスを調べて、「File Explorer」というアプリを使って、ラズパイサーバーにアクセスできます。
ということで最終的には各PC、スマートフォンからファイルサーバーにアクセスできるようになり、ちょっとしたお家内クラウドが完成しました。各端末でファイルを共有できるようになりました。
これから家の外からもアクセスできるようにしたり、webサーバーとしても機能するようにしていきたいと思います。
説明部分が稚拙になってしまいましたが参考としてリンクを貼らせていただいた記事通りにやりましたので、そちらをみていただければだいたいうまくいくと思います。
購入リスト
Raspberry Pi3 コンプリートスターターキット (Standard 16G)
- 出版社/メーカー: TechShare
- メディア: エレクトロニクス
- この商品を含むブログを見る
エレコム LANケーブル CAT6A 0.5m ツメが折れない やわらか ブルー LD-GPAYT/BU05
- 出版社/メーカー: エレコム
- 発売日: 2016/11/09
- メディア: Personal Computers
- この商品を含むブログを見る
超薄型外付けHDD ポータブルハードディスク 250GB 2.5インチ USB3.0に対応 PC/Mac/PS4/XBox適用 (Black)
- 出版社/メーカー: KESU
- メディア: エレクトロニクス
- この商品を含むブログを見る
- 出版社/メーカー: (株)アサヒペン
- メディア:
- この商品を含むブログを見る