Raspberry PiをProwl三兄弟の通知サーバーにする方法

Raspberry Pi

巷で人気のRaspberry Piを遅ればせながら英国から直輸入しました。発売当初は数ヶ月待ちという絶望的な入手困難さでしたが、注文から1週間程度で届きました。その後しばらく放置してしまいましたが、なんとか初期設定が終わり自宅サーバーとしてProwl三兄弟を快適に動かすことができました。忘れないうちに備忘録として残しておきます。

本体以外に何が必要なのか?

いろんなブログを見ると、SDカード、microUSBケーブル、HDMIケーブルやモニタ、マウス、キーボードを用意してから初期設定をされるのが一般的な様子。困っているわたしの姿を @hitoriblog さんと @tom_go さんがTwitterで拾ってくれました。何のことはなくすべて家にあるもので間に合いました。

  • SDカード(Class10 16GB)
  • microUSBケーブル
  • LANケーブル

OSをSDカードに焼いて、本体にmicroUSBケーブルで電源を入れると勝手に起動します。あとはLANケーブルを無線ルーターに接続すればsshdが立ち上がっているので、MacBook AirからTerminal経由でログイン出来ます。当初の目的であるProwl通知サーバーにするだけならキーボードやモニタ、マウスは不要でした。

SDカードにOSを焼く

Downloads | Raspberry PiからArch Linux ARMをダウンロードし、SDカードをMacBook AirのスロットにUSBカードリーダー経由で挿し、df -h でVolumeを確認します。

MyMac$ df -h

CleanMyDriveという外部ストレージを管理するアプリを使っていたらエラー。終了させてからもう一度実行。

MyMac$ diskutil umount /dev/disk2s1
Volume (null) on disk2s1 failed to unmount: ‘Unmount disallowed by CleanMyDrive’
MyMac$ diskutil umount /dev/disk2s1
Volume (null) on disk2s1 unmounted

ダウンロードしたArch LinuxをSDカードに焼きます。出力先の指定の仕方に注意。ZIPファイルは200MB程でしたが解凍したイメージファイルは約1.9GB。終了まで2分程度。

MyMac$ sudo dd bs=1m if=~/Desktop/archlinux-hf-2013-01-22.img of=/dev/rdisk2
Password:
1850+0 records in
1850+0 records out
1939865600 bytes transferred in 134.501313 secs (14422652 bytes/sec)

Raspberry Pi 1

起動とホストの確認

microUSBケーブルを接続すると起動します。無線ルーターとLANケーブルで接続。ルーター管理画面にアクセスしてRaspberry Piを探します。ホスト名はalarmpiです。

raspiip

Raspberry PiにSSHでシェルログインします。ユーザ名はroot、パスワードもrootです。

MyMac$ ssh root@192.168.11.2
The authenticity of host ‘192.168.11.2 (192.168.11.2)’ can’t be established.
RSA key fingerprint is xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added ‘192.168.11.2’ (RSA) to the list of known hosts.
root@192.168.11.2’s password:

めでたくログインできました。データベースを更新します。

[root@alarmpi ~]# pacman -Syu

日本時間に修正。

[root@alarmpi ~]# cp /usr/share/zoneinfo/Asia/Tokyo /etc/localtime

Ruby環境の構築

TwiProwl、IMAProwl、EgoProwlに必要なRuby環境を構築します。バージョンは1.9.3でしたが問題なく動作しています。ついでにgitも入れておきます。

[root@alarmpi ~]# pacman -S ruby
[root@alarmpi ~]# ruby -v
ruby 1.9.3p385 (2013-02-06 revision 39114) [armv6l-linux-eabi]
[root@alarmpi ~]# pacman -S git

自分専用なので/etc/gemrcには”gem: –no-user-install”を指定しておきます。アップデートとTwiProwl、EgoProwlに必要なライブラリをインストール。

[root@alarmpi ~]# gem update –system –no-user-install
[root@alarmpi ~]# gem install ruby-hmac oauth –no-user-install

TwiProwlをインストール

@northeye さんのTwiProwlをインストールします。

[root@alarmpi ~]# git clone https://github.com/takuo/TwiProwl.git

config.ymlは母艦PCに移してから編集した方が簡単。Twitter認証がエラーにならないようCAPathを”/etc/ssl/certs”に変更する(デフォルトではコメントアウトされている方)。

IMAProwlをインストール

同じく @northeye さんのIMAProwlをインストールします。

[root@alarmpi ~]# git clone https://github.com/takuo/TwiProwl.git

config.ymlでメールアカウント情報を設定。

EgoProwlをインストール

TwiProwlをエゴサーチ用に修正した @tom_go さん作のEgoProwlをインストールします。以下のエントリを参考にしてください。

その他

レンタルサーバーと違ってプロセスが勝手にkillされることはないし、停電に遭う以外は稼働し続けるはずですが、念のためプロセス終了している場合は立ち上げ直すスクリプトをcronに登録しておきます。

Raspberry Piについて

とりあえず通知サーバーにするというRasperry Pi購入当初の目的は達成しました。全く知識がないけどいろいろできそうで楽しい。

Raspberry Pi 2