Raspberry piでimotenを動かす

仮想マシンで動いていたimotenをRaspberry piで動作させるつもりだったので設定を行いました。
以前設定した方法と異なるのは、sun(現Oracle)のJavaではなく、openjdk-7-jdkを使っていることです。imotenの作者の方はOracle Javaの使用を推奨しているのでちょっと不安でしたが、今のところウチでは動作しているようです。

2014/09/08

iモード.netのログイン方法変更により、この記事の方法ではメールを送受信できなくなりました。
iモードメールからドコモメールに移行した - えぢた 2.2 @k_zoarにて変更を行っています。

今回はimotenをインストールして設定が終わってからサービスとして動作させようとしても下記のメッセージが出てサービスが起動しませんでした。

Unable to locate any of the following binaries:
  /usr/local/imoten/bin/./wrapper-linux-armv6l-32
  /usr/local/imoten/bin/./wrapper-linux-armv6l-64
  /usr/local/imoten/bin/./wrapper

ARMマシン用のwrapperが存在しないため起動できないようです。
imotenのサイトで確認するとコマンドから起動させると動作するとのことなので/usr/local/imoten/binに移動して管理者権限でINSTALL.txtに書かれているコマンドを実行します。

# java -Dfile.encoding=UTF-8 -Dsun.nio.cs.map=x-windows-iso2022jp/ISO-2022-JP,Windows-31J/Shift_JIS -cp ../lib/skype.jar -jar ../imoten.jar

これでARMマシンでもimotenが動作しました。送受信のテストも一応クリアしたのでこのまま動いてくれるでしょう。動いてくれるといいな。
後でブート時に自動で起動するようにしておいた方が良いでしょうね。現在はscreenの中でコマンドを打って動作させています。

今回はさらにstunnelを使ってSSLで暗号化通信をできるように設定しました。ただし、電子証明書はいわゆるオレオレ証明書です。

# apt-get install stunnel4 
# cp /usr/share/doc/stunnel4/examples/stunnel.conf-sample /etc/stunnel/stunnel.conf
# nano -w /etc/stunnel/stunnel.conf

ssmtpの項目のポート番号をimotenに合せて変更します

[ssmtp]
accept = 465
connect = 587

続いて電子証明書を作成します。

# cd /etc/stunnel
# openssl req -new -x509 -nodes -days 3650 -out mail.pem -keyout mail.pem

下記のような質問が出てくるので適当に答えます。

Country Name (2 letter code) [GB]:JP
State or Province Name (full name) [Berkshire]:Saitama
Locality Name (eg, city) [Newbury]:Kawagoe
Organization Name (eg, company) [My Company Ltd]:%サイト名%
Organizational Unit Name (eg, section) : →無記入でEnter
Common Name (eg, your name or your server's hostname) :%ホスト名%
Email Address []:%メールアドレス%

証明書の作成が終わったら/etc/default/stunnel4を編集してstunnel4を起動させます。

# nano -w /etc/default/stunnel4

変更部分
ENABLED=1

# /etc/init.d/stunnel4 start

ルータのポートマッピングを変更して465ポートをRaspberry piに飛ばすように設定すれば完了。
外部のMTAから送信テストをしてiモードアドレスからの送信となっていればOKのはずです。

設定が完了してメモリがどれくらい使われているのか確認してみました。

# free -h
             total       used       free     shared    buffers     cached
Mem:          232M       220M        12M         0B        25M       133M
-/+ buffers/cache:        61M       171M
Swap:          99M        68K        99M

あとはUPSを導入してADSLモデム、ルーター、Rasperry piはブレーカーが落ちた時や停電時でも動作を続けられるようにしたいですね。