プロブロガーを目指している妻からの要望。。

「ブログへ上げる画像(写真)の管理を効率的にやりたい!!」

確かに私たち夫婦は、お互いにスマフォや一眼で写真を撮っています。当然ながら、保存する場所も異なるし、大体がスマフォに取りっぱなし。できれば一括管理したいと思うのは納得です。

過去、ラズパイ(Raspberry Pi)で「Lチカ」までやった後、「次になにをしようかな~」って思っていた経緯がありました。そこで、ラズパイで『NAS(Network Attached Storage)』を構築することにしました。

「NASを作るよ~」
と妻に言ったら、
「まだ、時期が早いんじゃない」
とのこと。。。

「茄子じゃねぇよ!!確かに家庭菜園、頑張ってるけど。。。」

参考にした本はこちら。。

ラズパイでNASを作るための準備。

手持ちのラズパイは3つ。

  • Raspberry Pi2 Model B 1個
  • Raspberry Pi3 Model B 2個

Raspberry Pi3 Model Bは、Google Voice KIT用に確保(使用)しています。

また、NASは基本的に持ち運ぶことがないので、LANケーブルに接続した状態(有線)で使用するつもりです。なので、無線LAN機能のない「Raspberry Pi2 Model B」を使います。

最新では、Raspberry Pi4も発売されています。
お財布と相談して選んでください。

◆ Raspberry Pi2 Model B

◆ Raspberry Pi4

◆ USBアダプタ(充電器)
電圧が不安定化することを恐れて下記の5V 3.0Aを購入。スイッチボタンがあるのもうれしい。

◆ SDカード(8GB以上)
SanDisk製 16GBを選択。予備として2つ購入しました。家電量販店のポイントがあったので格安で買えたのですが、16GBのこのレベルのものがこんな値段で買えるなんて(1000円以下)。

◆ モニター
昔、使用していたディスクトップパソコンにつないでいたテレビを使用。

◆ HDMIケーブル
昔、使用していたディスクトップパソコンにつないでいたケーブルを使用。

◆ キーボード
昔、使用していたディスクトップパソコンから拝借。

◆ マウス
昔、使用していたディスクトップパソコンから拝借。

◆ LANケーブル
昔、使用していたケーブルを使用(ケーブル箱をあさって発見)

基本的には、手持ちのもので賄えますね。。。

NASということで、HDDを準備します。

◆ 外付けUSBハードディスク(HDD)

OSをインストール

◆ 以下のサイトから「NOOBS」の「Download ZIP」をクリックし、ダウンロード。

https://www.raspberrypi.org/downloads/noobs/

◆ ファイルはZIP形式のため、ファイルを展開。
◆ メモリーカードをパソコンのカードリーダーに挿入し、展開したファイルを全てコピー。
◆ ラズベリーパイを配線(キーボード、マウス、ディスプレイ、LANケーブル)し、メモリーカードを挿入。
◆ 電源を接続し起動。
◆ 「Raspbian[RECOMMENDED]」にチェック、下部のLanguageで「日本語」を選択し「Install」。

インストールされるまでに、40分くらいかかりました。。。

初期設定

2年近く前にLチカして遊んだ時は、「Raspi-Config」から初期設定したのですが、今は初めから「ディスクトップ環境」が使えるようです。しかも、日本語で表示されている。
インストール時の「日本語」選択がきちんと効いているんですね。。。(過去、日本語設定が面倒だったので嬉しい)

◆ 設定用アプリケーション(メニュー>設定>Raspberry Piの設定)を選択。
◆ システム
・パスワード:xxxxx
◆ ローカライゼーション
・ローカル
言語:ja
国:JP
文字セット:UTF-8
・タイムゾーン
地域:Asia
位置:Tokyo
・キーボード
日本/日本語(OADG 109A)
・無線LANの国
国:JP(Japan)

設定後、再起動。。。

それにしても、設定用アプリケーションで初期設定をすると、簡単ですが設定に抜けがあるようで不安。
あとで、Raspi-Configからチェックしてみようっと。。

IPアドレスの固定化

ラズベリーパイは、LANケーブルを挿すだけで、ネットワークに接続できますが、「ラズパイをサーバー(NAS)にする」ということで、固定のIPアドレスを設定します。

◆ IPアドレスの調べ方

IPアドレスだけでなく、ネットワークインターフェースの状態やハードウェアアドレスを知りたい場合には、ifconfigというコマンド。

◆ 固定IPアドレスの設定

あらかじめ調べる情報。

  • Raspberry Piに割り当てるIPアドレス
  • サブネットマスク
  • デフォルトゲートウェイ(通常はルーターのIPアドレス)
  • DNSサーバーのIPアドレス

有線LANの固定IPアドレスを設定するので、eth0を設定(無線LANの場合は、wlan 0)
ここで、ルーターの確認。
我が家で使用しているルーターはバッファロー社なのですが、バッファロー製品のほとんどが192.168.11.1/24(192.168.11.2から192.168.11.254までの範囲)
のIPアドレス割り当て範囲とのこと。

ということで、適当な(例えば、ラズパイは今後、192.168.11.5, 192.168.11.15・・・としていこうとか)アドレスを決める。
ネットワークの設定ということで、/etc/dhcpcd.conf ファイルを編集。

カーソルをファイルの一番最後まで移動して、次の設定を加える。(直接打ち込める)

書き込んだら、終了→保存して設定を反映させる。

設定が正しく反映されたかはを確認。

eth 0の箇所に設定した情報が反映されていれば問題なし。。。

あれ?指定したIPアドレスが表示されていない。
/etc/dhcpcd.conf ファイルを見に行ったところ、スペルミスだったので、訂正してやり直したところ正しく表示されました。

ソフトのインストールについて

◆メモ
・ 最新の状態にアップデート

・ インストール済のパッケージの中から、更新されたパッケージのみをダウンロードして、自動的にアップデート

・ パッケージのインストール方法

外付けUSBハードディスクの設定と接続

USBハードディスクを接続したときに、自動でマウントさせるため、「usbmount」をインストール。(usbmountは、/mediaディレクトリの下にディスクのマウントポイントが作成される)

次に、usbmountの設定ファイルを編集。

FS_MOUNTPOINT =” ” とある行を次のように変更。

編集後、一旦シャットダウンさせて、USBハードディスクを接続。再起動。
dfコマンドで、マウントされていることを確認。

/media/usb0にハードディスクがマウントされていることがわかる。。。
(実際に確認したところ、 /media/[ハードディスク名] でした)

sambaでNASを構築

sambaをインストール

sambaの設定ファイル、/etc/samba/smb.conf を編集。

[global]という行の下に、次の項目を追加。

ファイルの一番下に、次の項目を追加。さきほど、マウントした/media/usb0を、shareという名前でアクセスするための設定。

編集が終わったら、ファイルを保存。そして、samba用のユーザー名とパスワードを設定。
初期設定時に入力したpiのパスワードです。

最後にsambaを再起動。

これで、ネットワークを経由して、パソコンから直接アクセスできるはず!!!!

パソコンからアクセスしてみた。。。

スタートメニューの『ファイル名を指定して実行』から、「\192.168.11.x」を入力すると、[pi], [share] の2つのフォルダが無事、表示されました。。。

しかし、編集できない(書き込み)

書き込み出来なかったので、ファイルの中身を変更した結果、無事完成!!

パソコンからアクセスまではできるので、権限の問題かな。。。
/etc/samba/smb.conf の中身を疑ってみました。

下記のサイト『RaspberryPi電子工作入門 – ツール・ラボ』を参考にチェック。

/etc/samba/smb.confの中に、「Share Definitions」という項目がありますが、そこの設定を変えるとのこと。

さっそくやってみます。

こちらのサイト『ラズベリーパイで遊ぶよ~!』も参考にします。

ファイルの一番下に追記した

を次のように変更します。

以上の2点を行い再起動。無事、パソコンから書き込みが可能となりました。

あーホッとした。。。

妻よ、NASができたぞー!!

 

iPhone /Android アプリ FileExplorer をインストール

スマフォからもアクセスできるように、アプリを探したところ、オススメは、FileExplorer。
設定も簡単で、使いやすい。

ちなみに、この方、8つのアプリを試して評価しています。確認した結果、2つしか思うようなアプリではないという結論。実際に項目をチェックしているのが面白い。

<参考> 『快適ネットワークライフ』

リモートログインの設定

SSH(Secura Shell)

NASとして運用を開始してしまうと、モニター, キーボード, マウスは不要になります。
代わりに、SSHでリモートログインをします。

◆ Tera Termのインストール

https://ja.osdn.net/projects/ttssh2/

ホスト名に、設定した固定IPアドレスを打ち込み、、、
ん??接続できない。。。あー、ラズパイの設定を忘れていました。

もう一度、ラズパイに、モニター, キーボード, マウスを接続し再起動。。
◆ 設定用アプリケーション(メニュー>設定>Raspberry Piの設定)を選択。
◆ インターフェースのSSHを有効化

これで、リモートログインできるはず。立ち上げたTera Tarmのホスト名に、設定した固定IPアドレスを打ち込み、、、IDとパスワードを入力。

完了!!

SSHからシャットダウン

VNC(Virtual Network Computing)

SSHではコンソールしかリモート接続できないので、デスクトップのリモート接続をできるようにしておきます。(iPadからも操作できるように)
今回は、「RealVNC」を使用します。

https://www.realvnc.com/en/

なんと、ラズペリーパイ向けのサービスもあったのですね。これに従えば、簡単に設定できます。

https://www.realvnc.com/en/raspberrypi/

◆ ラズベリーパイを設定

いつものおまじないと、RealVNCサーバーとヴューアをインストール。
そして、VNC を使用可とする。

  1. Interfacing Options → P3 VNC をenable

再起動すれば完了。

◆ VNC ヴューアをパソコンにインストール

◆ VNCヴューアからリモートログイン
立ち上げたVNCヴューアのホスト名に、IPアドレスを打ち込みログイン。。
無事、自分のパソコンから、ラズペリーパイのデスクトップへのリモートログインができました。

最後に、画面が切れないようにVNCビューアメニューから

Property > Option > Scaling の「Scale to fit Window」を選択。

むかし、TightVNCサーバーをインストールしたことがあって、その時はめちゃくちゃてこずったのですが、これは簡単ですね。

SDカードをコピーしておく。

せっかく、「NASができた!!」と思っても、SDカードが破損してしまうと、また初めから設定しなおす羽目に。。。

そうです。
SDカードを2つ準備したのは、破損したときの予備としてバックアップを取るためだったのです。
コピーのやり方は、下記サイトを参考にしました。

<参考> 『ITでこぼこ日記』

ひとまず、バックアップも完了。
以上を以て、本格運用しまーす!!