2008年8月アーカイブ

世間にだいぶ遅れて、やっとiPhoneをゲットしました。
一度はしばらく間を置こうと思っていたんだけど、やっぱり欲しくなったので横浜のヨドバシでゲット。
まだ触り始めてたいして時間は経っていないんだけど、メールの設定ではまりまくった。
  • 自宅サーバのメールアドレスを追加したら、受信も送信もできない。
  • SSLを外して「MD5チャレンジ応答」にしたら、受信はできるようになったが、送信ができない。
  • うちに帰ってきて、tcpdumpで眺めてみたら、サーバが「TLSじゃないと嫌だな~」とか言っているっぽい
  • はて~と思ってpostfixの設定を見ると、submissionポートはTLS必須でSASL2の認証ありなんて設定になってた。自分で設定しても忘れるもんだな。
  • しょうがないので、master.cfのsubmissionポートの設定を「smtpd_enforce_tls=no」に変更して、iPhone側でsmtpの設定にもIDとパスワードを書いて、こちらも「MD5チャレンジ応答」にしたらやっとメールが送信できるようになった。
  • ここまで苦労して設定したけど、iPhoneのメールアプリはIMAPの階層フォルダを閉じることができないようなので、激しく使いにくいようだ。メインのメールはiPhoneでは使わずに、やっぱりgmailかyahoo mailを使うべきだろうか
  • 今までのi-modeに転送していたメールをi.softbank.jpに転送するようにして、zaurusに転送していたメールをyahoo.comに転送するようにしてみた。
  • 古い携帯のアドレス帳は、ソフトバンクでもらったソフト(携帯メモタツ)で吸い出して、csvにしてWindowsアドレス帳に取り込もうとしたけど、なんか激しく項目が合わない。これでは使えない。
  • iPhoneのキー入力が、果てしなく合わないっぽい。指の大きさに対してキー(特にqwertyだと)が小さいので、入力ミスが多い。滑らせれば良いのかも知れないけど、慣れるまでかなり大変そうだ。
とりあえず、今後はアドレス帳の同期の方法と、スケジュールの同期の方法を考えよう。
DNSに、セキュリティの勧告が出ていたので、ここ(Web-based DNS Randomness Test)で調べてみたら、ソースポートが固定であかんらしいので、久しぶりにmake worldした。
待っている間に、ここを見ていたら、うちの設定は間違っているらしいことがわかった。
MXレコードは、CNAMEだといけないらしい。
さっそく、Aレコードを持っている名前に変更した。それ以外は、いくつか書いてあるチェック項目は大丈夫そうだった。
しかし、ここ(DNS AMP check http://www.e-ontap.com/internet/check/)でチェックしたら、オーソリティセクションでngになった。外部のホストからnslookupしても、警告は出ないんだけどなあ。(って、今日やったらanswerもNGになっちゃった)
逆引きができないせいだろうか。

とりあえず、installが終わって再起動したら、最初のサイトでは怒られなくなった。
恒久的な対策ではないらしいので、DNSSECとか言うのをやらないといけないらしいのだが、まだ検討中の上、上位のドメインに署名してもらう必要があるらしい。 ちなみに、プロバイダのDNSサーバは、なんか問題があるようなことが言われていた。 forwardしないでrootサーバを見るように設定したりして良いものだろうか。 どちらにしても、うちのプロバイダは来月末でサービスを終了してしまうので、新しいプロバイダを探して、設定を変えなくてはいけないのだけれど。 この文章は、電車でiPhoneで書いた。最初はこの入力はどうかと思ったが、慣れてくると、zaurusよりは遅いけど、携帯よりは速い。
今のように仕事が忙しいときは、こういう時間が使えるのは良い。
ただ、直接ブラウザで入力する勇気はなかったので、メーラで書いて後でPCで編集した。コピペができれば、iPhoneだけでもいけるようになると思うけど。
iPhone用テンプレートを導入してみました。 - blog.aklaswad.comを見て、このブログもiPhoneに対応してみた。
やったのは、メインインデックスとInidividual Archiveのみ。
「iPhoneテンプレートfor MT」を公開いたします。 - crema designからiPhoneテンプレートfor MT version1.01をダウンロードしてきて、readmeに従って作業する。
私も、aklaswadさんと同じように、個別アーカイブのURLをPC判と同一のものにしたくて、mod_rewriteの設定を書いたんだけどはまるはまる。
どうも、iPhoneがキャッシュを見てしまうらしく、正しい設定にしても前のページが表示されたり。iPhoneで確実にリロードさせる方法はないものか。
結局、.htaccessは以下のような感じ。
RewriteEngine on
RewriteBase /mt/pc
RewriteCond %{HTTP_USER_AGENT} .*(iPhone|iPod).*
RewriteRule ^index\.html$ i/index.html
RewriteCond %{HTTP_USER_AGENT} .*(iPhone|iPod).*
RewriteRule ^archives/([0-9]*)\.html$ archives/i/$1.html
変則的だけど、サイトdir/i に iuiとかimgとかcssとかindex.htmlがあり、アーカイブdir/i にiPhone用の個別アーカイブがある状態にした。
後は、個別アーカイブのURLが正しい形になるように二つのテンプレートを修正して、実際に見てみたら、preとか使って横に長い行があったりすると字が小さくて見えやしない。
でも、ピンチしても大きくならないので、再度テンプレートを読んでみたら、user-scalable=noとか書いてある。
早速、user-scalable=yesにしてみても、インデックステンプレートだと変化なし。
なんで~?と思って調べてみたら、iPod touch/iPhone の viewport 属性の区切りはセミコロンではなくカンマ - Travellers Talesと言うページを発見。
二つのテンプレートのうち、インデックスの方の区切りが;になっていたので、,に変えたら無事に拡大できるようになりました。

iPhoneからブログを投稿するのに、mtのインターフェイスだと重いので、メールから投稿しようと思ってはるか昔に設定したmail2entryにメールしてみたら、うまく投稿されない。
ログを見てみたら、
Traceback (most recent call last):
  File "mail2entry.py", line 21, in main
    content = parsemsg.parse(sys.stdin)
  File "/usr/local/mail2entry/parsemsg.py", line 74, in parse
    for decoded_subject, charset in results])
  File "/usr/local/mail2entry/parsemsg.py", line 142, in unicodify
    result = unicode(string, "japanese.iso-2022-jp")
LookupError: unknown encoding: japanese.iso-2022-jp
なんてのが出てるので、調べてみたら4.8.3 Standard Encodingsによるとjapanese.iso-2022-jpがまずいっぽかったのでparsemsg.pyのjapanese.iso-2022-jpを全部iso-2022-jpにしたらうまく行った。
次は、open fastladderのiPhone対応かなあ。まずはiuiについて勉強しないと
今までzaurusでスケジュール管理していたのを、iPhoneに変えたのでスケジュール管理のやり方を変える必要がある。

今までのやり方。
  • スケジュールのマスタは、自宅のサーバにics形式であり、davで(限定)公開している。
  • 出先のPCでは、sunbirdを使ってdav経由でスケジュールを参照/更新する。
  • 出先のzaurusでは、zaurusのカレンダーと自宅のicsファイルをsshと自作javaプログラムで同期する。
  • 会社のスケジュールは、sshと自作のjavaプログラムで自宅のicsファイル→会社のスケジュールの一方向同期をする。
  • 家族向けには、icsファイルの中身をphpicalendarで(限定)公開。
これからのやり方。
  • スケジュールのマスタは、googleカレンダーとMobileMe。
  • 何故か、両方共カテゴリと言う概念がない。今まではカテゴリでプライベートな予定と仕事の予定を区別していたんだが。しょうがないので、googleカレンダーを仕事用、MobileMeをプライベート用とする。
  • iPhoneとは、MobileMeはMobileMeで、googleカレンダーはNuevaSyncで同期する。
  • 出先のPCでは、web経由でスケジュールにアクセス。
  • iPhoneは、勝手に同期される。(どうも両方共いまいちっぽい挙動を見せたりしてるんだが)
  • 会社のスケジュールは、sshの代わりにfetchかwgetでgoogleカレンダーの「非公開URL」からicsファイルを取ってきて、従来と同じjavaプログラムで同期する。
  • 家族向けには、googleカレンダーの「非公開URL」を教えることで解決。
と、言う感じで運用しようと思っているのだが、不安点は二つ。
  • 仕事のスケジュールのような重要なものを、googleカレンダー、NuevaSyncと言う二つのサービスに依存してしまって良いものか(万が一漏洩したら・・・)
  • 会社のスケジュールとの同期をまだやっていないので、googleカレンダーが吐くicsファイルが本当に読めるか未検証。
iPhoneのカレンダーが自前のwebサーバのicsファイルと同期できるようになってくれれば(あるいは同期できる別のカレンダーソフトが出れば)問題ないんだけどな~。
その場合、認証は必須なので、オレオレ証明書がインストールできるか、せめてdigest認証くらいには対応してくれることが必須。
# 自分で作れって声が聞こえてきそうですな・・・。
iPhoneにVNCクライアントを入れたんだけど、外部向けにVNCのポートは開けたくない。
で、iPhoneの設定をつらつら見ていたら、VPNなんて項目がある。L2TPとPPTPとIPSecが使えるらしい。
pptpは過去に試したことがあるので、早速試してみた。
ら、そもそもpptpdが立ち上がらない。以前やったのは2004年で、その後サーバリプレースしたりして無効になっていたらしい。
/etc/rc.confでpptpd_enable="YES"とか書いてみたが、/usr/local/etc/pptpd.confがないと言われる。
当時と同じように、/usr/local/etc/pptpd.conf.sampleからコピーして、起動してみると、今度は/etc/options.pptpdがないとか言われる。
その行もコメントアウトして、やっと立ち上がったので、iPhoneから繋いでみようとするがうんともすんとも言わない。
ipfではじかれてたので、ipf.confで1723/tcpを開ける。
今度はログにエラーが出るようになって、以下のような感じ。
Aug 16 03:35:27 false ppp[19132]: Phase: PPP Started (direct mode).
Aug 16 03:35:27 false ppp[19132]: Phase: bundle: Establish
Aug 16 03:35:27 false ppp[19132]: Phase: deflink: closed -> opening
Aug 16 03:35:27 false ppp[19132]: Phase: deflink: Connected!
Aug 16 03:35:27 false ppp[19132]: Phase: deflink: opening -> carrier
Aug 16 03:35:27 false ppp[19132]: Phase: deflink: carrier -> lcp
Aug 16 03:35:29 false ppp[19132]: Phase: bundle: Authenticate
Aug 16 03:35:29 false ppp[19132]: Phase: deflink: his = none, mine = CHAP 0x81
Aug 16 03:35:29 false ppp[19132]: Phase: Chap Output: CHALLENGE
Aug 16 03:35:29 false ppp[19132]: Phase: Chap Input: RESPONSE (49 bytes from pptp)
Aug 16 03:35:29 false ppp[19132]: Phase: Chap Output: SUCCESS
Aug 16 03:35:29 false ppp[19132]: Phase: deflink: lcp -> open
Aug 16 03:35:29 false ppp[19132]: Phase: bundle: Network
Aug 16 03:35:30 false ppp[19132]: Phase: deflink: open -> lcp
Aug 16 03:35:30 false ppp[19132]: Phase: bundle: Terminate
Aug 16 03:35:31 false ppp[19132]: Phase: deflink: read (0): Got zero bytes
Aug 16 03:35:31 false ppp[19132]: Phase: deflink: Disconnected!
なんでだろ~と思ってpptpdでぐぐって見たら、FreeBSDやLinuxでPPTPサーバーを作る方法が引っかかったので、適当に真似てみて、以下のようにppp.confを書き換えてみた。あと、default: を全部コメントアウトした。
pptp:
 set timeout 0
 set device localhost:pptp
 set dial
 set login
 disable CHAP MSCHAP PAP
 enable MSChapV2
 disable deflate pred1
 deny deflate pred1
 set mppe 128 stateless
 enable mppe
 accept mppe
 enable chap81
 enable proxy
 accept dns
 set dns 192.168.0.1
 set nbns 192.168.0.1
 set ifaddr 192.168.0.1 192.168.0.201-192.168.0.210 255.255.255.0
 set server /var/tmp/pptp "" 0177
そしたら、無事にiPhoneとVPNで繋がるようになった。
成功するとこんな感じ。
Aug 16 03:36:45 false ppp[19203]: Phase: PPP Started (direct mode).
Aug 16 03:36:45 false ppp[19203]: Phase: bundle: Establish
Aug 16 03:36:45 false ppp[19203]: Phase: deflink: closed -> opening
Aug 16 03:36:45 false ppp[19203]: Phase: deflink: Connected!
Aug 16 03:36:45 false ppp[19203]: Phase: deflink: opening -> carrier
Aug 16 03:36:45 false ppp[19203]: Phase: deflink: carrier -> lcp
Aug 16 03:36:46 false ppp[19203]: Phase: bundle: Authenticate
Aug 16 03:36:46 false ppp[19203]: Phase: deflink: his = none, mine = CHAP 0x81
Aug 16 03:36:46 false ppp[19203]: Phase: Chap Output: CHALLENGE
Aug 16 03:36:46 false ppp[19203]: Phase: Chap Input: RESPONSE (49 bytes from pptp)
Aug 16 03:36:46 false ppp[19203]: Phase: Chap Output: SUCCESS
Aug 16 03:36:46 false ppp[19203]: Phase: deflink: lcp -> open
Aug 16 03:36:46 false ppp[19203]: Phase: bundle: Network
Aug 16 03:36:47 false ppp[19203]: Phase: Unknown protocol 0x8235 (Apple Client Server Protocol Control)
Aug 16 03:37:46 false ppp[19203]: Phase: deflink: HDLC errors -> FCS: 0, ADDR: 0, COMD: 0, PROTO: 1
違いは、set device くらいか?良くわからないけど、一つ一つ戻して確認するのも面倒だったので放置する。
で、いよいよVNCやろうと思ったけど、新しいWindowsマシンにはVNCをインストールしていなかったので、FreeBSDでvncserverを・・・起動しない。
fixed(フォント)がないとか言われる。
これまた良くわからないけど、portupgrade vncとかやってみたら、起動するようにはなったっぽい。
で、ちゃんとポート5900でLISTENしてるっぽいんだけど、iPhoneからは繋がらない。
試しに、VPNを切ってWi-Fiにしたら繋がったので、まだpptpの設定に問題があるらしい。

いやいや、結局、pptpが張るpppのtun2をipf.rulesに追加したら無事にVNCができるようになりました。
ってところで力尽きたので今日はここまで。
MT-4.2が出ていたのでバージョンアップ。
今回は8/14だったので、かなり早い対応。
毎度忘れるので、備忘録。(前にも書いたような気も・・・)
  • 古いディレクトリをmvして、chown -R root とchmod -R go-rx でapacheから見えないように。
  • アーカイブを展開して名前をmtに。古いディレクトリからmt-config.cgiをコピー。
  • templateディレクトリ、mt-static/themesのオリジナルディレクトリ、mt-static/supportの下のいくつか、plugins/のAdminLinks.pl, Gravatar.pl, GravatarInjector.pl, MTPaginate, SPA, aws.pl, processtags.plをコピー。
  • 既存のソースにあてていたパッチをあてる。
    今回は、lib/MT/App/CMS.pmに変更があったらしく、うまくパッチがあたらなかった。
    修正内容は、ブックマークレットから引用投稿したときの部分なので、後で暇を見つけて手を入れよう。
と言うわけで、このエントリがうまくpublishされたらバージョンアップ成功。
今使っているプロバイダが業務終了と言うことで、9月末でネットに繋がらなくなる。
で、乗り換え先はi-revo アクセスのゲーム専用コースと言うのを検討していた。
登録月は無料のようなので、一番安く上げるには来月に手続きをすることなんだけど、まあ500円だし良いかと思って契約してみた。
と言うか、i-revoにアカウント作って、クレジットカード登録して、ぽんぽんと質問に答えて行ったらその場でpppoeの情報と固定IPが振り出された。こんなに簡単で良いのか!
でも、今日は移行手続きをやるのは面倒なので保留。(ってゆーか、一度繋いで速度とかを確認しておいた方が良いかな)

とりあえず、今後やらなくちゃいけないことをリストアップ。
  • /etc/ppp/ppp.confの書き換え
  • /etc/namedb/named.confと、各zoneファイルの書き換え。
  • /etc/ipf.rulesの書き換え。
  • /etc/ipnat.rulesの書き換え。
  • /etc/ssh/sshd_configの書き換え。
  • /etc/hosts.allowの書き換え。
  • /usr/local/etc/apache22/httpd.confとssl.confの書き換え。
  • /usr/local/etc/squid/squid.confの書き換え。
  • /usr/local/etc/postfix/main.cfの書き換え。
  • /usr/local/etc/courier-imap/imapdとimapd-sslの書き換え。
  • /usr/local/etc/openvpn/openvpn.confの書き換え。
  • DNSのセカンダリマスタへの通知
  • ドメインのレジストラへのDNSサーバの変更通知
リストアップしてみると、思ったよりたくさんIPアドレスが書かれている設定ファイルってあるんだな。
うえ、ホスト名も変えないといけないのか・・・。プロバイダに渡された逆引きの名前なんて付けるんじゃなかったな。
mixiCommentプラグインなんてものが公開されていたので入れてみた。
もともとOpenIDで行けるようになってるので、必要ないんじゃないかと言う気はするけど、まあ少しでも敷居が下がるなら良いか。
2008年8月
          1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
31            

このアーカイブについて

このページには、2008年8月に書かれたブログ記事が新しい順に公開されています。

前のアーカイブは2008年6月です。

次のアーカイブは2008年9月です。

最近のコンテンツはインデックスページで見られます。過去に書かれたものはアーカイブのページで見られます。

Powered by Movable Type 6.1.1