2010/08/30 先負
Moon:20.8 - 11:01 pm by chameleon
日本語が化けるので、PHP.INIを修正。
インストールのあと、すぐやらないと忘れちゃう・・・。
もちろん、「->」の左を右へ書き換えです。
magic_quotes_gpc = On -> magic_quotes_gpc = Off
;date.timezone = -> date.timezone = “Asia/Tokyo”
;default_charset = “iso-8859-1″-> default_charset = “UTF-8″
;mbstring.language = Japanese -> mbstring.language = Japanese
;mbstring.internal_encoding = EUC-JP -> mbstring.internal_encoding = UTF-8
;mbstring.http_input = auto -> mbstring.http_input = auto
;mbstring.detect_order = auto -> mbstring.detect_order = SJIS,EUC-JP,JIS,UTF-8,ASCII
とします。あとは保存してApacheを再起動。
Posted in Incident | Comments (0)
- 11:00 pm by chameleon
sudo /etc/init.d/apache2 restart
で、再起動をかけると下記のエラーが出る。
apache2: Could not reliably determine the server's fully qualified domain name, using 127.0.0.1 for ServerName
apacheは起動しているので問題ないが、気になるので消すことにした。今回の場合なら、
/etc/apache2/apache2.conf に
ServerName 127.0.0.1
と書き足せばOKです。
Posted in Incident | Comments (0)
- 10:16 pm by chameleon
SheevaPlugを常時稼働させておくなら、サーバー用途以外でも若干は実用的な機能が持たせられないかと構想したものです。
SheevaPlugには電源状態を示す緑色のLEDと用途がよくわからない青色のLEDが搭載されています。
今回は、この青色LEDを使ってGmailの新着件数を通知させることにました。
まず、LEDの制御方法です。コンソールから以下のコマンドを実行してみると一目瞭然です。
echo “none” > /sys/class/leds/plug\:green\:health/trigger (消灯)
echo “default-on” > /sys/class/leds/plug\:green\:health/trigger (点灯)
echo “heartbeat” > /sys/class/leds/plug\:green\:health/trigger (点滅)
あとは、Gmailの新着件数を取得して、条件分けをして上記コマンドのいずれかを実行すればいいことになります。
使用言語はPHPかPerlかRubyかと選択肢は豊富ですが、今までに扱ったことがない言語と言うことでPhytonに挑戦してみます。学習しながらなので、途中で無理そうなら慣れたPHPかPerlで書き起こせばいいでしょう。
PhytonもPHP並にいろいろなライブラリが充実しているようで、細かなコーディングをしなくても、かなり少ない工程数で考えていることぐらいは実装できそうです。
まず、Gmailサーバーへの接続は
poplib.POP3_SSL(‘pop.gmail.com’,995)
であっさり可能です。Gmailはセキュリティ対策されてから、SSLで接続しないといけないようです。ポート番号やサーバー名は自分のアカウントの環境ですから、場合によっては違うことがあるかもしれません。
ライブラリを追加すると、ヘッダのエンコードなどもいとも簡単に実装できます。便利です。
今回作成したコード
# -Copyright Chameleon 2010-
#!/usr/bin/env python
import poplib
import email
import email.Header
def count():
login= "your_ID@gmail.com"
code="your_PASS"
gServer = poplib.POP3_SSL('pop.gmail.com',995)
#Login to gmail server
gServer.user(login)
gServer.pass_(code)
#Count the number of mail messages
numMessages = len(gServer.list()[1])
###
for myList in range(numMessages) :
for msg in gServer.retr(myList+1)[1]:
if msg.startswith('Subject'):
print unicode(email.Header.make_header(email.Header.decode_header(msg))).encode('shift_jis')
break
gServer.quit()
return numMessages
def NoMail():
f=file("/sys/class/leds/plug:green:health/trigger","w")
f.write("none")
f.close()
print "none"
def SomeMail():
f=file("/sys/class/leds/plug:green:health/trigger","w")
f.write("default-on")
f.close()
print "deault-on"
def LotsOfMail():
f=file("/sys/class/leds/plug:green:health/trigger","w")
f.write("heartbeat")
f.close()
print "heartbeat"
def main():
mailcount = count()
print "The number of messages is %d ", % (mailcount)
if mailcount == 0:
NoMail()
elif mailcount <3:
SomeMail()
else:
LotsOfMail()
if __name__ == '__main__':
main()
後は適当な名前で保存して、このファイルに実行権限を与えます。/usr/sbinに「led.py」として置きました。そして、cronにこのスクリプトを適当な間隔で実行するように登録します。今回は10分間隔での確認とします。
*/10 * * * * /usr/bin/env phyton /usr/sbin/led.py
こんな感じです。cronは直接、設定ファイルを編集せず、
crontab -e
で編集します。
新着0では消灯。
3件未満で常時点灯。
3件以上で点滅です。メールのカウント数の閾値は適当に変更可能です。
これで使途不明の青色LEDがGmailの通知ランプになりました。
phytonは相当、書きやすいスクリプトで感激しました。さすがに、SheevaPlugでコーディングは無理なので、Windows環境で開発できる、「PortablePython_1.1_py2.6.1」という処理系をダウンロードしました。
P.S.
メールでおたずねがあったので、追記しておきます。
print文での出力は、標準出力(普通はコンソールの画面)には出力されません。cronで実行した場合は、root宛のメール文中に出力されます。従って、print文の出力を確認するにはroot宛のメールが確認できる環境が必要です。
たとえば、
apt-get install postfix
apt-get install mailx
で、postfixやmailxをインストールして、mailコマンドが使えるようにしておきます。こうしておけば、cronの動作状態もroot宛のメールで確認できるので便利です。
Posted in Incident | Comments (0)
2010/08/28 先勝
Moon:17.9 - 12:29 am by chameleon
Sheevaplugを設定するついでに、いろいろと遊んでみました。
まず、u-bootというブートローダーがデフォルトで組み込まれているものはバグがあるらしいのでアップデートしてみます。
SheevaPlug_U-Boot1.2.zipをダウンロードします。「SheevaPlug Development Kit」という付属のCDにも同梱されています。
u-boot-rd88f6281Sheevaplug_400db_nand.binを解凍して取り出し、TFTPサーバーにアップロードしてSheevaplugに移します。
「SheevaPlug/U-Boot」というサイトを参考にしました。よくまとまっていて、大変参考になりました。日経Linuxの記事と併せて読むことで、設定作業についてはかなり時間が節約できたと思います。
もっとも、数十分後には、Sheevaは煉瓦に変わってしまったんですけどね・・・。
次にやったことは、カーネルバージョンアップです。WEBを検索するのも面倒になってきたので、付属のCDについているマニュアルの記述を見て適当に進めました・・・もっとも、カーネルのアップデート方法が書かれているわけではなくSheevaplugの細々した仕様が書かれているマニュアルでしたが・・・。これが煉瓦を作る原因になるとは想像していませんでしたが 
付属CDのマニュアルには、以下のようにSheevaplugのNANDFlash内の構造が記述されていました。
dev: size erasesize name
mtd0: 00100000 00020000 “u-boot”
mtd1: 00200000 00020000 “uImage”
mtd2: 1fd00000 00020000 “root”
パーテーションが3領域となっています。
ところが、実際のSheevaplugは以下のようになっていたようです。
dev: size erasesize name
mtd0: 00400000 00020000 “uImage”
mtd1: 1fb00000 00020000 “rootfs”
当然この違いは大きく、3領域だと信じて作業した結果、Sheevaplugは起動しなくなりました。
u-bootのコマンドプロンプトまでは表示されていたので、まだ何とかなるかなと・・・。
修復についてのあれこれはまた、別のアーティクルで。
Posted in Incident | Comments (0)
2010/08/27 赤口
Moon:17.9 - 11:36 pm by chameleon
ほぼ1年前に購入していたSheevaplugを引っ張り出してきて、設定してみました。
2009/07発行の日経Linuxの記事に掲載されていて興味を持ったときに買ったのですが、時間がなくて、放置状態のまま保管していたものです。
省電力なWEBサーバーが必要になったので、「そう言えばあったなぁ」と思いだした次第です。
何で、2台あるかというと・・・今回Sheevaplugを設定してみて十分実用になると判断したので、つい先だって追加でもう一台購入したものです。右の箱の方が新しいものなのですが、eSATAのポートが増設されていました。元々入っているLinux(デフォルトではUbuntu9.04)のカーネルも新しいものになっていました。
筐体のデザインなんかは同じですが、色が微妙に違っています。旧Sheevaは青みがかかった白色で、新Sheevaはクリーム色がかかった白色になっています。
新Sheevaの商品名は、Sheevaplug+となっていました。
2台目は、1台目が故障したときの予備機です・・・。
Posted in Incident | Comments (0)
2010/08/12 先負
Moon:2.5 - 2:17 pm by chameleon
今日は、前の勤務先でお世話になった上司と飲みに出かけます。
台風のおかげで雨模様だけど、夜はもう大丈夫でしょう。
1年前はチームでしたが、今はみんなそれぞれに違う立場で働いているわけです。どんな話が聞けることやら・・・私はといえば今月いっぱいくらいは仕事らしい仕事がない・・・
Posted in Incident | Comments (0)
2010/08/11 友引
Moon:1.5 - 2:23 pm by chameleon
今日は、不条理を感じた一日でした。
一生懸命がんばっていたのですが、次回のリベンジを期待します。
彼はたぶんここを見てないと思うけど、1年やそこら、遊んでいたってサポートできるよ。
Posted in Incident | Comments (0)
- 2:19 pm by chameleon
貴志祐介先生の久々の新作。やはり、確かにおもしろいですね。前作の「新世界より」より仕掛けが現実世界という点も巧妙になっています。
最近の貴志祐介先生のパターンで、上下巻となってますが、物語自体はストーリーに引き込まれてあっという間に読み終えられます。
ただ、最後の最後に逮捕される証拠となる(ネタバレになるので詳述できませんが)あんな見落としを、この小説の主人公「蓮実聖司」はしないと考えられるところが残念です。まあ、下巻では成り行きといった感じの犯行があったりしたので、承服できないと言うことではないのですが、サイコパスで怜悧な主人公としてはどうかと。
読後はかなり好みが分かれることになるでしょう…。
Posted in Incident | Comments (0)
2010/07/24 赤口
Moon:12.9 - 5:54 pm by chameleon

EpsonEP-802A
自宅使用のプリンタが遙か昔のPM-920Cとか言うプリンタで、消耗品のインクも手に入りにくくなってきたのでこちらを購入。
有線LANどころか、無線LANでネットワークプリンタになるし、SDメモリから直接写真は印刷できるし、そのSDメモリをネットドライブみたいに見ることもできるし、コピーもできるし、筐体が小さくて場所取らないしで、プリンタの進化に驚きました。
複合機ってこんなに便利だったのか・・・。おまけのソフトも十分、実用だったし
オプションの両面印刷ユニットも3000円しないみたいだし、年賀状印刷用に追加で買っとくことにしました。
Posted in Incident | Comments (0)
2010/07/14 友引
Moon:3.0 - 8:40 pm by chameleon
キャノンのESetが4.2になったらしい。VaioPのセキュリティとして使っていましたが、無償で4.0から4.2へアップグレードできるようなので試してみました。
確かにより軽くなってる気がします。
安いので、モバイル用はESetで二年目以降もいこうか・・・。
Posted in Incident | Comments (0)