(ネットワーク的に)迷子にならないRaspbery Pi、3つのすすめ


開発チームのまんだいです。
今回はRaspberry Piのセットアップする時に僕が導入している多少雑な運用方法をご紹介したいと思います。

Raspberry Piの基本的なセットアップの方法については、解説しているサイトは他にも山程ありますので割愛しますが悪しからず。

目次

  1. メールを送信できるようにする
  2. ネットワークに繋がったら自分のIPアドレスをメールで送信する
  3. webdavを使ってディスク容量を確保する

メールを送信できるようにする

Raspberry Piにpostfixをインストールして、メールサーバーを立ち上げるため、sudo apt-get install postfix と打つ。
それはそれで後々役に立つ有意義な経験だと思いますが、いかんせんセットアップするのに時間がかかります。
 
ものの数分でメール送信できるようにしたい!
そんな時は、ssmtpという簡易MTAを使って、gmailなどをメールサーバーにしてしまうのが手っ取り早いです。
設定ファイルが平文なので、コンソールにログインすればメールアドレス・パスワードが丸見え、という中々の代物ですが、個人的に利用する分には良いんじゃないかと思います。
 
もちろん、弊社でご提供するサーバーには、インストールされておりませんのでご安心を。
Raspbianで使う場合は、apt-getコマンドで一発インストールです。

sudo apt-get install ssmtp

 
インストールが完了したら、設定ファイルの編集です。
gmailを使ってメール送信する場合は、/etc/ssmtp/ssmtp.conf は以下のような内容になるかと思います。

#
# Config file for sSMTP sendmail
#
# The person who gets all mail for userids < 1000
# Make this empty to disable rewriting.
root=[メールアドレス]
# root=postmaster

# The place where the mail goes. The actual machine name is required no
# MX records are consulted. Commonly mailhosts are named mail.domain.com
mailhub=smtp.gmail.com:587

AuthUser=[メールアドレス]

AuthPass=[メールアドレスのパスワード]

UseSTARTTLS=YES

AuthMethod=LOGIN

# Where will the mail seem to come from?
rewriteDomain=

# The full hostname
hostname=[メールアドレス]

# Are users allowed to set their own From: address?
# YES - Allow the user to specify their own From: address
# NO - Use the system generated From: address
FromLineOverride=YES

設定ができたら、mailコマンドでメールが送信できるか確認します。

echo "hogehoge" | mail -s "fugafuga" [メールアドレス]

無事メールが送信できれば設定は完了です。

ネットワークに繋がったら自分のIPアドレスをメールで送信する

Raspberry Piはディスプレイがついていないので、DHCPで自動取得したIPアドレスが分からなければログインする術がありません。
そこで、適当なネットワークにRaspberry Piを潜りこませたら、IPアドレスをメールで通知するという手法を取ります。

/etc/network/if-up.d/ の直下に置いたシェルスクリプトは、リンクアップした時に実行されるので、このタイミングでIPアドレスを送信する以下のシェルスクリプトを仕込みます。

# /bin/bash
/sbin/ifconfig | mail -s "おれのネットワーク情報やで" [メールアドレス]

あまり褒められたコマンドではないですが、必要な要件は満たしているということで。
弊社のインフラチームが見たら、雑すぎて泡吹いてぶっ倒れるんじゃないでしょうか。

ちゃんと動作するか、一度LANケーブルを抜き差ししてみるといいでしょう。

webdavを使ってディスク容量を確保する

Raspberry Piは、SDカードをHDDとして使用します。
しかしながら、大容量のSDカードは値段が本体より高くなってしまいます。
そこで、あまり今回の趣旨とは関係ない内容になりますが、クラウドサービスをwebdav経由でディスクと見なして使う方法を紹介します。
今回はwebdavをサポートしているBOXを利用してみます。
 
必要なソフトウェアは、apt-getでインストールします。

sudo apt-get install davfs2

 
インストールできたら、マウント先のディレクトリを作成します。
今回はpiユーザーのユーザーディレクトリ以下に dav_box というディレクトリを作成してマウントする想定です。

mkdir /home/pi/dav_box

 
インストールした後、/etc/davfs2/secrets にマウントするURLとBOXのアカウント情報を書いたファイルを設置します。

sudo vi /etc/davfs2/secrets
# 一番最後に以下を追加
/home/pi/dav_box	[BOXのアカウントメールアドレス]	[BOXのpassword]

 
嫌な予感がした方は、まさにその通りで、平文で保存しております。
これは必須ではないようで、嫌悪感しか感じない方は設定しなければ、マウント時に毎回要求されるアカウント情報確認を打ち込むようにすればいいようです。
 
最後に /etc/fstab にwebdavのマウント情報を追記します。

https://dav.box.com/dav /home/pi/dav_box        davfs   rw,noauto,user        0       0

 
最後におもむろにマウントしてドヤ顔。

mount /home/pi/dav_box

 
Raspberry Piの性能のせいなのか、BOXのWebdavのせいなのか、はたまたその両方なのかは分かりませんが、結構遅いです。
マウントした状態でdfコマンドを叩くとその遅さが体感できますのでぜひ。
 
これでRaspberry Piをいつでも補足できるようになり、迷子にならなくなりました。
ドヤリングするには、wi-fiのドングルを付けたり、wi-fiアカウントの設定など事前準備が色々ある訳ですが
そういうのを解説しているサイトは他にも山程ありますし
ここまで書けば、別のメンバーが書いてくれるかも知れないので割愛するとします。
 
それでは皆様もよいラズパイライフを!


この記事をかいた人

About the author