January 1 Tue, 2008
1 2008年 賀正
新年明けましておめでとうございます。今年もよろしくお願いします。January 4 Fri, 2008
1 東京に戻る
東北行脚二人旅を終えて、無事に東京に戻る。es でのアクセス以外は殆どネットから切り離された 5日間でした。31日から4日の出来事をダイジェストで。年賀状は今日見たので出してなかった人はこれからです。すいません。帰って銀行口座を見てみたら年末ジャンボ宝くじが3,300円当たってた。一応はプラスなわけだから喜ぶべきなのかなぁ。January 8 Tue, 2008
メールサーバの再移行
Posted by yoosee on Debian at 2008-01-08 10:00 JST1 メールサーバの再移行
先月前半にトラブルがあった際にメールサーバだけ一時的に他所に移していたが、ハードウェアを更新した後は特に問題なく稼働しているので、新サーバに再移行した。今回のサーバ移行手順は以下の通り。- 旧サーバの設定・メール・HOMEを新サーバに移行
- 新サーバで一通りの MTA 設定等を完了して稼働開始
- 現サーバの MTA を停止 (セカンダリMXサーバはそのまま稼働)
- 現サーバの Maildir 内メールを新サーバにrsync
- DNS で Primary MX の Aレコード向け先を現サーバから新サーバに切り替え
- 外部 MTA 及びセカンダリMXから新サーバに向けてメールが流れ出すのを確認
リモートサーバに ssh pubkey を登録するワンライナー
Posted by yoosee on Debian at 2008-01-08 13:00 JST1 リモートサーバに ssh pubkey を登録するワンライナー
そういうものが欲しくてちょっと試した。% cat ~/.ssh/id_dsa.pub | ssh remotehost "xargs echo >> .ssh/authorized_keys"で一応うまくはいった。もちろんこの時点では remotehost 側が PasswordAuthentication yes になっている必要はある。xargs を使うのが美しくない気がするが、他にいい手はあるだろうか。
sshd の PermitRootLogin が default で yes なのは意図的らしい
Posted by yoosee on Debian at 2008-01-08 20:00 JST1 Debian の PermitRootLogin が yes なのは意図的らしい
Debian lenny の openssh-server で、/etc/ssh/sshd_config の default では PermitRootLogin yes になっていた。今時 ssh での root login が有効になっているのはどうかと思ったんだが、/usr/share/doc/ssh-client/README.Debian にはとある。言われてみればその通りではあるんだが、まぁ知られたユーザ名 (root) で brute force attack を喰らっても嬉しくないので私は no にしておく。この設定は upstream の default に従っている。(中略) root での ssh login を禁止しても su で root になれるアカウントがある限り、攻撃者は簡単にそこから root 権を奪取できるんだから安全性は向上しないよ。
これはバグじゃないからデフォルト設定が間違ってるなんていうバグレポートを送ってくるなよ! (超訳)
January 9 Wed, 2008
Debian lenny での postfix + mailman 導入 備忘録
Posted by yoosee on Debian at 2008-01-09 20:00 JST1 Debian lenny での postfix + mailman install 備忘録 (専用サブドメイン利用型)
ここでは 素のドメイン名 (listname@example.com) ではなく、mailman 専用サブドメイン (@lists.example.com) を利用する。全ての専用サブドメイン宛メールは mailman が処理するものとして扱われる。サブドメインを使わず aliases を用いる方法は GNU Mailman インストールマニュアル 等を参照の事。導入は例によって aptitude 一発で完了。
# aptitude install mailman ... # dpkg -l mailman ii mailman 1:2.1.9-9 Powerful, web-based mailing list manager導入時に利用する言語を聞かれるので、en と ja を選択し ja をデフォルトにしておく。ja で利用すると cli の日本語が euc-jp で出力されてしまい、utf-8 等の terminal 環境では文字化けするのが難だが、それ以外は特に問題ないようだ。
2 Postfix の設定
設定は /usr/share/doc/mailman/README.Debian にある通り、/etc/mailman/postfix-to-mailman.py の記述に従う。/etc/postfix/main.cf
relay_domains = ... lists.example.com transport_maps = hash:/etc/postfix/transport mailman_destination_recipient_limit = 1/etc/postfix/transport
lists.example.com mailman:これで @lists.example.com 宛のメールは全て postfix の mailman service に渡される。mailman service は master.cf で定義される。lenny では external service として標準で入っていた。
/etc/postfix/master.cf
mailman unix - n n - - pipe flags=FR user=list argv=/usr/lib/mailman/bin/postfix-to-mailman.py ${nexthop} ${user}/etc/mailman/mm_cfg.py は以下のようにする。
MTA = None # No MTA alias processing required # alias for postmaster, abuse and mailer-daemon DEB_LISTMASTER = 'postmaster@example.com'MTA = Postfix での alias 共有は利用しないので注意。
3 Webインターフェイスの設定
apache では特定の VirtualHost でのみ mailman interface を表示させたいので、sites-available/lists.example.com に以下の行を入れる。Include /etc/mailman/apache.confURL から /cgi-bin/ を省略したい場合は /etc/mailman/mm_cfg.py を以下のように設定しておく。
DEFAULT_URL_PATTERN = 'http://%s/mailman/'併せて /etc/mailman/apache.conf も編集
ScriptAlias /mailman/ /usr/lib/cgi-bin/mailman/この設定をする前にメーリングリストを作成した場合は、メーリングリスト個別の設定の方も変更する必要があるようだ。
4 短いドメインパート形式への対応
ちなみにこうした @lists... を使う設定の上で listname@example.com のように lists. を省いたメールアドレス形式を使いたい場合、当該 listname のメールアドレスやそれに付随する listname-action@ コマンドメール類を @lists. へ流し込む virtual map / regexp virtual map を書く必要がある。後者には postfix-pcre が必要。/etc/postfix/virtual
listname@example.com listname@lists.example.com/etc/postfix/virtual_regexp
/^(.+)-(unsubscribe|off|leave)@example\.com$/ $1-$2@lists.example.com /^(.+)-(post|admin|request|owner|join|leave|confirm)@example\.com$/ $1-$2@lists.example.comメールアドレスを regexp match させての処理は色々と危険なので、動作を理解していない場合はやらない方がいいだろうし、新しい list を作る度に virtual の方は編集が必要だし、こんなケレン味のある方法より素直に aliases/virtual を使った方がいい気もするが、まぁ移行上の都合と趣味の問題ということで。
January 10 Thu, 2008
fml → mailman 移行メモ
Posted by yoosee on Debian at 2008-01-10 21:00 JST1 fml → mailman 移行メモ
メモ書き。mailman で予め listname でメーリングリストを作成し、必要な設定をしておく。メンバーの移行は普通に fml の /var/spool/ml/listname/members などから Webインターフェイス経由で登録。アーカイブの移行は fml 付随の packmbox.pl を使い
# cd /var/spool/ml/listname/spool/ # perl /.../packmbox.pl > /tmp/listname.mbox # mv /tmp/listname.box /var/lib/mailman/archives/private/listname.mbox/ # cd /var/lib/mailman/archives/private/listname.mbox/ # /usr/lib/mailman/bin/arch listname listname.mboxだーっと過去メールが流れて html の index が作成される。閲覧権限には要注意。
mailman 1:2.1.9-9 では fml 風の [listname:01234] 的な通番付き Subject を作ることが標準で出来る。fml で使っていた通番をそのまま引き継ぐにはホームサーバー非定期日記(風) を参考に
# /var/lib/mailman/bin/withlist listname listname のリストを読み込中 (ロック解除) 変数 `m' が mlname の MailList インスタンスです >>> m.Lock() >>> m.post_id = (/var/spool/ml/listname/seq より1多い数字) >>> m.Save() >>> m.Unlock() >>> ^D 最終処理中とする。
January 11 Fri, 2008
procmail で Maildir 振り分け時に imap の状態を既読にする設定
Posted by yoosee on Debian at 2008-01-11 12:00 JST1 Re: IMAP filtering, how to mark my own messages read
メールを procmail で imap 用 Maildir フォルダに振り分ける際、一部メールに関しては最初から既読に出来ないものかと調べてみたら、Re: IMAP filtering, how to mark my own messages read と言う方法が見つかった。Maildir ではファイル名で未読・既読状態等を管理しており、基本的には cur/ ディレクトリに :2,S と言う名前で終わっていれば既読とみなされる。そこで
:0 * conditions { foldername=whatever :0c .$foldername/ # stores in .$foldername/new/ :0 * LASTFOLDER ?? /\/[^/]+$ { tail=$MATCH } TRAP="mv $LASTFOLDER .$foldername/cur/$tail:2,S" HOST }のようなルールで、特定 conditions の場合に mv コマンドでファイル名を強制的に書き換えてしまう TRAP (procmail 実行終了時に実行される処理) を仕込む。直接 new/ から cur/ に mv をかけるあたりも Maildir の思想を完全に否定しているし、結構乱暴な方法ではあるけど、普通に使う分にはこれで問題になることはあまり無さそうなので、まぁ用には足るんじゃなかろうか。
procmail 以外の振り分けソフトならもっとスマートな方法があるだろうか?
January 15 Tue, 2008
Blog デザイン変更
Posted by yoosee on Blog at 2008-01-15 23:00 JST1 Blog デザイン変更
かなり久しぶりに blog のデザインを全面更新した。色や基本的なレイアウトはトップページに合わせる感じにし、サイドバーのアイテムも一通り整理。タイトル画像は、その、なんだ、Web2.0 ぽく…。また、固定幅⇔可変幅の切り替えは止めて、可変幅のみ提供する形にした。IE6 でレイアウトが崩れる問題も対応したつもり。トップページには twitter や flickr の badge も導入してみた。RSSへのリンクも、一部 atom.xml へのリンクが残っていたのを index.rdf に一本化。atom.xml も購読可能だが、内容は基本的に一緒なので閲覧者に見せるリンクは 1つでいい、と以前に変更したはずが、ページによって変更漏れが幾つかあったようだ。
背景色を #eee から white にしたので少しまぶしくなったか。本当は年明けに合わせたかったのだが間に合わず、この三連休でとりあえず仕上げた形なので、変更漏れやレイアウト崩れ等あったら教えてください。この先しばらくは調整しながらちょこちょこ変更していく予定。
January 17 Thu, 2008
Palm TX + Transcend 4GB SD Card
Posted by yoosee on Palm at 2008-01-17 12:00 JST1 Transcend SDカード 4GB TS4GSDC
Transcend SD 4GB を上海問屋で購入。値段は 3,654 + 送料210円(メール便)。Amazon を今見たら、外部の出品者だが 3,080円からあるようだ。高速モデルの 150X タイプだと 10,000円前後。Palm TX は SDHC を扱えないので、事実上 SD 4GB が概ね最大サイズ。この Transcend のカードは SDカードという意味では微妙に規格から外れているらしいが、TX での動作保証をしているし動作レポートも大量にある。実際に使ってみたが特に問題なく認識し、読み書きの速度も思ったよりだいぶ速かった。どこぞのフォーラムでクラスタサイズを 32KB にしろと書いてあったが、買って差した時点で最初から 32KBクラスタでフォーマットされていた。海外だと 4GB SDカード(non-SDHC)は幾つか種類があるようだが、日本だと Transcend 程度しか見当たらない。
ちなみに性能を見るために VFSMark でベンチマークを取ってみたが、なんだか結果がおかしいような。
File Create: 38% File Delete: 12% File Write: 51% File Read: 504% File Seek: 3933% DB Export: 20% DB Import: 211% Record Access: 1096% Resource Access: 1129% VSFMark: 777確かに Delete が遅いというのはそこらでも記載を見かけるが、FileZ などで削除する分には今のところ特にストレスを感じるほど遅くは無い。書き込みは確かに動画などをコピーする時に速くは感じない。
WiFile Pro で無線LAN越しにファイル転送
Posted by yoosee on Palm at 2008-01-17 19:00 JST1 WiFile Pro
Windows ファイル共有(NetBIOS)の他にも WebDAV や FTP によるファイル転送が行える PalmOS5 用のクライアントソフト WiFile Pro を試用してみた。TX の無線LANで接続すると、自動的にLAN内のWorkgroupsを検索に行く。見つからなかった場合にはマシン名やIPアドレスを直接入力する。Linux samba box にも問題なく繋げたし、samba 側の dos charset を CP932 にしておけば、日本語フォルダも化けずに表示できた。ワイヤレスでネットワーク上のマシンのファイルにアクセス出来るのはなかなか快適。難点としては、どこがボトルネックか分からないが(恐らくはPalm自体のワイヤレス通信速度?)、転送速度がかなり遅い。100MB程度のファイルの転送に50分程かかってしまい、大きなファイルの転送では実用にならない感がある。Podcast や動画ファイルの転送に使いたかったので、ここはちょっと残念。
$29.95 は気軽に登録するにはちょっと高いので、レジストするかどうかはもうしばらく使ってみて考えることにしておく。
January 21 Mon, 2008
WILLCOMの新製品発表は「2台目向け」端末が並ぶ
Posted by yoosee on Gadget at 2008-01-21 13:00 JST1 WILLCOM 2008 Spring Collection
WILLCOM の新機種発表会があったようだが、噂されていたスマートフォンの発表は無し。その代わりという訳ではないが、音声端末が色々と出ていている。- HONEY BEE (京セラ 小型ストレート 多分nine対抗 カメラ無し)
- WX330K (京セラ 折りたたみスタンダード機種後継)
- X PLATE (SII初の音声PHS端末 小型ストレート カメラ無し)
- 9(nine)+ (KES nineに赤外線を足した カメラ無し)
- WX014IN (ネットインデックス W-SIM)
それにしても、せめて WX330K はもう少しリッチな機能を見せて欲しかった。「充実の機能」が赤外線通信て、何年前の端末ですかこれは。WILLCOMの目に見える優位性は、今や「音声端末でもPCと繋いだデータ定額が可能」程度なんだから(まぁニッチなんだろうけどさ)、データ定額を続々出してきている携帯各社との差別化という意味でも Bluetooth を標準搭載にすべきだよ。とにかく「オープンなプラットフォーム」と言う路線を進めるしかないと思うんだけど。
ソフトバンクがあの低価格プランであれだけの契約を稼いでいる現状で「ソフトバンクとは違う戦略」「2台目ニーズの掘り起こし」って、そこはこの先注力しても大丈夫な規模の市場なんだろうか。資産規模の問題はあるだろうけど、似たような月額料金で「あまり使わない人の1台目」になれない理由を考えるべきじゃないんだろうか。
次世代PHSに繋がるような戦略もそろそろ見せてくれると嬉しかったんだけど、それはもう少し先になるということかね。とりあえず数ヶ月以内にスマートフォンと料金体系見直しを出してくるそうなので、絶望せずに待ちましょうか。
January 22 Tue, 2008
Devicescape は PalmOS 未対応らしい
Posted by yoosee on Palm at 2008-01-22 01:00 JST1 Devicescape - contact all your wi-fi devices to any hotspot or wifi network - automatically!
ただのにっき DevicescapeでHotspot情報をまとめて管理、簡単ログイン を読んで「これは無線LAN搭載のPalm TXでも使えたら便利そう」と早速アクセスしてみる。お、対応デバイスのトップページ画像が Palm TX だ。じゃあアプリをダウンロード... あれ対応機種のリンクが無い。まぁ iPhone/iPod touch もここに無いけど Download devicescape にはあるしな、と Forum を覗いてみる。ニーズが無いのかよ! 確かに一番売れているシリーズである Treo に WiFi が搭載されていない以上はリクエストも少ないだろうけど、だったらなんで画像に Palm TX を使っているんだよ、と言いたい。なんの嫌がらせ。はて、リクエストしてみるべきかな。We haven't had many requests for Palm OS. Perhaps most users are happy with logging in via the browser? Perversely, we do indeed supply Palm with their Wi-Fi stack but it's not clear how much demand there is going forward for the Palm OS PDAs, given the shift in Palms intentions over to smartphones and Linux. If we see enough user demand we'll certainly consider it. And, if Palm every puts Wi-Fi into their Treo line, that would be cool and likely generate a lot more demand.How about a PalmOS devicescape client?
それと余談ながらこの会社、これに限らずワイヤレス系管理のソフトウェア・ソリューションを提供しているらしい。日本のパートナーにPalmもいるんだけど、ほぼ休眠会社のPalm Japanと何かしてるわけじゃないよな。
January 24 Thu, 2008
pRSSreader beta 1.4.0.4
Posted by yoosee on Gadget at 2008-01-24 20:15 JST1 pRSSreader beta 1.4.0.4 released
1.4.0.3 から意外と間もなく 1.4.0.4 がリリースされた。年末年始に時間があったんだろうか。アナウンスはW-ZERO3 ツールMEMOにも載っているのでご参照。今回の機能追加は feed auto-discovery 程度だが、変更としては html 解析に libsgml を使うようになったのが大きいみたい。今まで自力でやってたのね。その分、html を handling しているところの動作は再テストが必要となっているけど、手元で使っている分には特におかしい動作はない。1.4.0.3 で実装されたスケジュールアップデートもいい感じに動いていて、設定した朝4時に概ね自動巡回が走っている。つなぎ放題(2x)契約のみの es で画像まで cache しようとすると Update All Channels に 30分以上かかるので、自動巡回は便利だ。1.4.0.4 では Update on Cradle が動作しなかったのも Fix されたらしい。
RSSリーダはW-ZERO3のようなモバイル環境でニュース記事やblogを読むのに素晴らしく便利だが、日本のニュースサイトはあまり全文を配布してくれていない。自前でサーバを上げていればPlaggerで処理も出来るが、そうじゃない人はYahoo! Pipes あたりを使うといいかもしれない。
January 25 Fri, 2008
MegaLauncher が無闇に高機能になっている
Posted by yoosee on Palm at 2008-01-25 22:20 JST1 MegaLauncher 6.43 (Apache)
TX では今のところ ZLauncher を引き続き使っているが、NVFS絡みでもたつきを感じることがあるため、他のソフトも試してみている。その一環で Mega Launcher を試してみたのだが、何だか無闇矢鱈と高機能になっている。ランチャ画面でドラッグ&ドロップやロングタップからの操作が出来たりファイルマネージャが付属しているのはZLauncherなどでも一緒なのだが、加えて WindowsMobile で言うところの "Today" ビューがあり、今日の予定とTODO、バッテリーやシグナル強度などのデバイス情報に加え、天気予報まで表示可能になっている。まぁここまでは ZLauncher でもプラグインで近いことができるのだが、Mega Launcher では ... manager と呼ばれる拡張機能が多数ある。
- Network manager - WiFile Pro のように Windowsファイル共有が利用可能
- FTP manager - FTP でのファイルアップロード・ダウンロードが可能
- Reader manager - Memos、Palm DOC形式、.txt ファイルの閲覧・管理機能
- Music manager - 音楽ファイル(mp3, ogg, wav, midi)再生機能
- Image manager - 画像ファイル(Jpeg, GIF, BMP)閲覧・スライドショー機能
- Backup manager - Palm のRAMバックアップ機能。ZIP圧縮、スケジュールバックアップ有り
- Archive manager - ZIPファイルの展開機能
- (Theme, Interface, Color, Sound, Trash manager は主に内部的な設定機能)
January 30 Wed, 2008
zero.init.org の逆引き設定しました
Posted by yoosee on Life at 2008-01-30 12:00 JST1 Interlink MyIP サービスで逆引きを設定
記録として。先日ふと Interlink MyIP サービスでいつの間にか逆引きが設定できるのを発見したため、逆引きを設定しました。zero.init.org の正逆引きが一致するようになっています。なおサーバ内から外側にコネクションを張った場合には、基本的に MyIP ではなく eth0 から ISP接続ルータの Gateway 経由で外に出るマルチポリシールーティングをしているため、そちら側の IPアドレスがソースになり、もちろん逆引きもそちらになります。特に問題になるシーンは無いと思いますが利用者はご留意を。
PHPコード開発SNSなんてのがあればいいんじゃない?
Posted by yoosee on Clip at 2008-01-30 16:00 JST1 Webアプリ公開のリスクを知れ
PHPどうこうという部分はさておき、この主張の根本はここだよね。アンカテでも指摘されてる通り、Webアプリは「任意の第三者に向けて公開される」「脆弱性の被害を公開者が直接受ける」「公衆環境にも(踏み台として)被害が拡大する」と言う点で他の配布形態と比べてもリスクが非常に大きい。実際、phpBB あたりに脆弱性が出た時は乗っ取られ祭りになってたのは記憶に新しい。現在のWebアプリ作成はそれなりにきちんと勉強してないと容易に危ないものを作ってしまうし、入力値に総当たりして脆弱性を探すツールなんてものも存在している。なので、PHPに限らず、初心者がWebアプリをインターネット上に第三者がアクセス可能な状態で公開するのは今時はすごくリスキーだ。WebアプリケーションをなめるなMatzにっき 2008-01-26
とは言え、初学者のスクリプト言語学習なんて「ちょっと変えて動かして」と言うのを繰り返してなんぼだと思う。かつ、PHPを動かすには概ねウェブサーバが必要になる。Windows にローカルなWebサーバを立てるやり方もあるけど、それは多分あまり初心者向けとは言えないんじゃないのかなと思う。
第三者に公開せずに or 公開範囲を限定してWeb上で動かせる仕組み... それ、SNS で出来ないのかなぁ。PHP開発初心者用SNSを作って、外からは見えないようにしつつ、PHPを実行させられる環境を提供する、と言うのはどんなもんだろう。
もちろんPHPの動作権限は必要に応じて絞らないといけないし、可能であれば仮想化技術等でユーザごとの権限分離をするのもいい。更に凝るならウェブブラウザ上にphpコードエディタをいれて、勉強しながらコードを編集・実行できる仕組みがあれば便利そうだ。コードの共有や改善指摘なんかも出来るようにしとけば完璧かも。
Ruby だとそこまで立派なものではないけどtry ruby みたいなインタラクティブチュートリアルサイトや Rubular みたいな正規表現テストサイト程度はある。Codezine や codeなにがし あたりでやりませんか。それとも既にそういうコンセプトのサービスはあったりするのかな。