前回に引き続き、SIMロックフリー版HTC Desire。
iPhoneの黒SIMで3G通信はできるようになったけども、まだUIが全部英語のまま・・・ということで日本語までの道のり

どうやら、調べるとAndroidMarketで無料の「More Locale2」という日本語含めた言語パックを入れれば良いらしいので入れる。
ちなみにAndroidMarketはGoogleアカウントが必要なので手持ちのアカウントで認証したら、その瞬間にDesireのアドレス帳やらGmailなどが全部DesireとSyncしたのには驚いた。

インストール後、該当アプリ開くと、大量の言語とともに日本語が!
ちなみにスクロールしていくと何故か日本語が2つあったり。
ちなみどっちも同じみたい。

クリックするだけで無事日本語完了。アプリインストールしても、元の設定画面上には追加した言語はでてきません。あくまでこのアプリ上で行わないといけない模様。

続いて普通のキーボードは至極使い辛いのでiPhoneのようにフリック入力できる「simeji」をインストール

「設定」→「言語とキーボード」でキーボードで「simeji」を有効に


その後適当にアプリ起動して、テキスト入力欄で、長押ししてるとメニューがでてくるので、simejiを選択すると、全アプリで日本語入力でsimejiが使えるようになる。

基本的にiPhoneのフリック入力と同じ。
ただ、標準機能ではないせいか、気持ち反応が遅い気もする。あと時々バグってフリックの画面描写が画面に残ってしまうのはご愛嬌ってことで。(アプリを落とすだけで治るときもあれば、再起動しないと治らないときもあったり症状はいまいち)
数日間使ってみて、simejiは、慣れたiPhoneと変わらず操作できるのだけれども、英語キーボードでどうも押し間違いが多い、iPhoneとほとんど同じ大きさなのに何故?

後は英語UIでは選べなかったFMラジオも、日本語化したら、きちんと日本のFM特有の70.0MHz~79.9MHzも設定ができるようになる(右下の「日本」をクリックする)
こんな感じで最低限のセットアップは完了。

あと、海外サイトで情報集めてる途中でいくつか見つけたんだけど、Android2.1から増えたマルチタッチ、まだまだ不具合な部分があるらしく、自分のDesireも最初全くマルチタッチが使えなかった。ただし、再起動したら上の画面のようにHTC Sence上でも使えるように。
<追記>

ちなみに本体買うついでに、HTC純正グッズで「Capacitive stylus」ってのがあったのでよくわからないまま買ってみたのだが、ペン先が平たくて強度がなさそうなプラスチックででて一体何をするものなのかがさっぱりわからず。うーん裏蓋開ける用なのかなぁっと思って試したけれど、折れそうだし、これ何使うんだろう。。
SIMロックフリー版HTC Desireを手に入れた(2)
SIMロックフリー版HTC Desireを手に入れた(1)
04/27にSoftBankからHTC DesireことX06HTが販売されちゃいましたが、自分の手元にもHTC DesireのSIMロックフリー版がイギリスから到着!
ちょうどアイスランド火山の件とかイギリス→ドイツ→中国→日本という配送事情もあって、なかなかUPSで配送されず、やきもきしてましたが、なんとかSoftBankの発売日より先に届いてよかったよかった。
SIMロックフリー版だと高そうな感じがしますが、何気にSoftBankで一括で買うより安くてUPS代含めても5万弱だったり。
まぁ、分割2年契約ならば、そっちのほうが全然安いのですが、今回仕事関係でデバッグ機として使う予定があり会社の経費で買ってもらったのですが、条件としてキャリア代は会社で出してくれない&買うなら一括払いとボスからのお達しだったので、契約のシガラミがないSIMロック版調達とあいなりました。

ちゃんと梱包してあるのかと思っていたら、こんなビニール袋に入ってて肩透かしを食らった気分。

袋あけたら、こんな箱がでてきました。iPhoneの箱より全然大きいですね。中には、本体の他にUSBケーブル、イヤホン(FMラジオのアンテナにもなる)、EU圏用のバカでかいAC、バッテリーが入ってる。MicroSD(4GB)は最初から本体に刺さってる状態。
なお、softbankのやつは、iPhoneぐらいの箱の大きさらしい。

iPhoneと比較するとこんな感じ本体の大きさはほとんど同じで、画面サイズがちょっとdesireのほうが大きい。

当然キャリアから買ってなくSIMも無いので、バッテリー差しておもむろに電源ONするとこんな感じにSIMが無いと表示される。(写真は、日本語化した後に撮ったものだから日本語表示ですが、実際は英語)

とりあえずそのまま初期セットアップへ進みますが、予想外なことに言語選択で日本語が無い・・・多言語対応してるはずなのに。。セットアップ終わらせないとどこの画面にもいけないので、とりあえずEnglishを選ぶことに。
ちなみにsoftbank版を買った同僚の画面をみたら、当然なのですが、デフォルトで、日本語があります。(後は、Englishのみの2つ)
5ステップ程度あり、言語やキーボードやキャリア回線やら質問がでてきますが、とりあえず適当に答えてどんどん次へ進んでいく。

わけわらないままとりあえず完了。HTC Sence画面きたー!綺麗だなぁ。。

PocketWifiを置いてきてしまったので、そのままではネットにでる方法がないのだけども、おもむろに私物iPhoneから黒SIMを取り出して、Desireへ。
当然そのままでは繋がらないし、誤った設定で繋げるとパケ死の恐れがあるので注意!ちなみにこの状態で通話はできる。
もしキャリア電波を上手くつままえられない場合は、
setting→Wireless&networks→Mobile Networks→NetWorkOperators
で探して電波捕まえましょう。

iPhoneSIMから3Gでパケット通信で繋ぐにAPN(AccessPointNetwork)を指定してあげる必要があるので、
setting→Wireless&networks→Mobile Networks→AccessPointNetwork
と下って行く。

APN設定画面では、上のような形で
Name:適当(SoftBank 3Gとか)
APN:smile.world
Username:dna1trop
Password:so2t3k3m2a
を入れればOK。(MMSなどは空でOK。現状SoftBankでは、Desire向けにMMSが提供されてない)

そんなこんなで無事3Gで接続!ロック画面にキャリア名が。

あと、ブラウジングも問題なくできる。
あんまり速くはないですが、Flashも表示できます!上のITmedia右側の四角いバナーはFlash。
回線同じでも端末スペックのせいか、iPhone3G(Sではない)より早く感じ。
最低限の設定はできたものの、UIが英語のまま・・・ということで次回へ。
SIMロックフリー版HTC Desireを手に入れた(2)
blognの2.5系から最新版の2.6系へアップデートしたあと管理画面にログインできない場合
このブログは、検証的な意味もふくめて、wordpressを使っていますが、個人的な日記blogでは、blogn Plusという国内産の比較的マイナー(とか言ったら怒られるかな)を使ってます。
なんでMTでもなくWordPressでもなくって言われると、とにかく動作が軽いのと、必要最低限の機能に抑えられているので、カスタマイズが非常にしやすい、DB使わずにtextファイル運用できる(もちろん、つかうことも可能)ためです。
特に最後のやつは、サーバー移設するときもディレクトリごとコピーして、元に戻せばすぐに環境戻せるのは、非常に手軽ですので。
で、そんなblognですが、自分でカスタマイズしてプログラムに手を加えていることもあり、長らくバージョンアップしてなかったのですが、セキュリティ的な面から、2.5系から最新の2.6系にバージョンアップさせたところ、管理画面にログインできない(正しくは、認証成功するけど、タブ切り替えると「セッションが切れました」と表示され、何もできない)という状況にハマりました。。
確かに、update用のスクリプト走らせた時点で、PHPのwarningがでてて怪しかったんですけども。。。
で検証したところ、/datディレクトリにあるinit.phpがうまく更新されない場合があるようです。
2.6系から必要になったと思われる設定を付加したところ問題なくログインできました。
具体的には、
dat配下のinit.phpで、2.5系のまま&素の状態の場合、
クッキー保持時間(デフォルトで604800)で終わってると思うのですが、そこに2.6系で必要なパラメータの「,0,2,2,0,0,0,0,0,0,」を書き加えるとOKです。
有名サイトに掲載されるとこうなるらしい
普段まったく人が来ない過疎地化している本ブログですが、ひょんなことから前回のこれで有名サイトに掲載されたわけです。。
で、仕事がらどーアクセス増えんのかなーって見てたらこんな感じでした(VISITベース)
すげー。そして1週間はアクセスもたない(笑)
内容にもよるんだろうけど、きっと記事どまりでこちらまでこないんでしょうね。(記事で結構説明してくれてるし。)
はてブも今現在、記事のほうには、て66も付いてますが、こちらはほぼ皆無。
自分も使っているLiveDoorClipは記事のほうも1で、こちらは0。
テクノラティで見てみると、記事は、545個(はてブやTumblrもふくまれんのかな?)もリンクされてますがこちらはデータなし(笑)
流入元もほぼ100%、LifeHacker経由。
あと、他にも有用な記事がないかみるのか、1VisitあたりのPVもがつっと上がります。
ちなみにLiveDoorReader見たら、こんなブログに2人読者がいらっしゃるらしいです。GoogleLeaderは、めんどくさそうなので調べてません。。
アドオン自身は、なぜか、307ダウンロードありまして、VISIT数より多い良くわからない結果に。。(見たところロボットはなさそう)
あと、以外とMacユーザー(編集者とかが多いのか?)とか、safariユーザーも結構いますね。safariで使えるんですかね。。
あー、紹介記事のほうのVISIT数とか見てみたいなぁ。。
==========
※追記1
生ログちゃんと眺めてたら、どうやら、意図的に許可ださないと落とせない野良パッケージのせいか、1アドオンダウンロードしようとすると同じクライアントから2~3回リクエストが走るときがある臭い。
そうすると、見積もって120ダウンロードぐらいかな。謎が解けた。
それでもVISIT数より多いわけですが。。。
※追記2
そういえば、たぶん数測れないTumblrは、同僚がReBlogしてた。。。(笑)
あと、誰かが社内でLifeHackerの記事読んでたという目撃情報も聞いた気が。。
Extended Copy Menu改造版(Ver.Aタグのhref要素とbrタグとテキストだけ抜き出す)
FireFoxのアドオンでExtended Copy Menuというものがあります。
このアドオンは、表示要素を範囲選択して右クリックメニューから、
・選択範囲のテキストのみコピー
・選択範囲をHTMLタグごとコピー
ができるというものなのですが、Twitter上で更に、Aタグのみ(追記:brタグも)しか要らない!そのほかのタグは不要!という声があったので、アドオンのお勉強がてら改造してみました。(自分ではたぶん使わないけど、なんか悔しくて作ってみた)
えー、こんなもの、どこかのガジェットニュースサイトの編集の方がコピペ職人業務をする以外には、不要なものかもしれません。。(笑)
もしかすると何百ページもあるHTMLを移設するような方にも重宝されるかもしれませんが。
動作イメージとしては、
現状、aタグ(href属性のみ)とテキストと<br>タグだけコピるわけです。そのほかは、バッサリいってしまいます。
時間があれば、メニュー追加するところですが、そんな余裕もなく&元々の機能の「選択範囲のテキストのみコピー」が普通のコピーと何が違うのかさっぱりわからなかったので、そっちをつぶして、こんな風に出てきます。
注意点としては、
・install.rdfとかchrome.manifestとか書き換えてないので、恐らくすでにextended copy menuを使ってる場合は、インストールできないはずなので、いったん削除して入れ直してくださいませ。
・同上の理由で、本家でバージョンアップされると本家バージョンに上書きされて、つかえなくなります。(ただし、みたところ、そもそも自動アップデートに対応してなさそうな気も。。)
・おまけで、本家を日本語化されている方がいらっしゃったのでそれ参考に日本語対応しました
・本家で対応している英語以外の言語はバッサリいってしまいました(だって、意味わかんないんだもの)
・タグ閉じ忘れとかあるHTMLソースなどだと恐らくうまくいかないと思われます。。
まぁ、そんな感じでダウンロードはこちらから。(本家1.6fx_mz:FireFox3.5対応版ベース)
<補足>
何をどうしたかというとExtended Copyのインストール先にある、copyMenu.jsをいじって、範囲選択したHTMLをDOM操作で抜き出して(ここまでは本家と同じ)、それを変数に入れて、正規表現で
cleartags = cleartags.replace(/<[Bb][Rr][\s]?[\/]?[^>]?>/gi,”[+[-br /-]+]”);
cleartags = cleartags.replace(/<(“[^"]*”|\’[^\']*\’|[^\'">])*>/gi, “”);
cleartags = cleartags.replace(/\[\+\[-/gi,"<");
cleartags = cleartags.replace(/-\]\+\]/gi,”>”);
cleartags = cleartags.replace(/<[aA].*?href=["']([^"']*?)["'].*?>/gi,”<a href=\”$1\”>”);
gClipboardHelper.copyString(cleartags);
*追記
反響、ご指摘いただければ、改造じゃなくてちゃんと作ろうかしらん。。
コピった領域を更に、<i >”とか<b>とか指定したタグで自動的に囲うオプションあれば、ブログ投稿のときとか便利かなぁって思った。
Mod_Auth_ExternalをVirtualHost&httpd.confでつかうときの注意点
通常、Webサイトでの認証というと.htpasswdを使ったBasic認証ですが、サーバー上にアカウントを持つユーザーだけがアクセスするコンテンツ(イントラ向けとか)を公開をしたい場合などは、いちいちまたパスワードとアカウントを作るとめんどくさい&管理が2重になることもあり、そのままUnixアカウントで認証をさせてしまいたいときもあります。
そんなとき使うのが、Mod_Auth_ExternalというApacheモジュールです。
これを使うと、裏側Unixアカウントで認証をしてOKならばアクセスさせるといったことや特定のグループ(/etc/group)単位でのアクセス許可などを出すこともできます。
インストール方法などは、ここやここあたりを参考にすればいいのですが、httpd.confに直書&VirtualHostで使う場合は注意が必要です。
ほとんどのサイトでは、さくっと.htaccessやhttpd.confに
AuthExternal pwauth
GroupExternal unixgroup
AuthName “Restricted Access Area”
require group admin
確かに.htaccessに書く方法であれば、大元のLoadModuleの記述と一緒に
AddExternalAuth pwauth /usr/libexec/pwauth
SetExternalAuthMethod pwauth pipe
AddExternalGroup unixgroup /usr/libexec/unixgroup
SetExternalGroupMethod unixgroup environment
SetExternalAuthMethod pwauth pipe
AddExternalGroup unixgroup /usr/libexec/unixgroup //グループ認証する場合のみ
SetExternalGroupMethod unixgroup environment //グループ認証する場合のみ
なので、例えば、あるVirtualHost上の「/aa」と「/bb」にMod_Auth_Externalを使う場合は、こんな感じ
AddExternalAuth pwauth /usr/libexec/pwauth
SetExternalAuthMethod pwauth pipe
AddExternalGroup unixgroup /usr/libexec/unixgroup
SetExternalGroupMethod unixgroup environment
<Location “/aa”>
AuthType Basic
AuthExternal pwauth
GroupExternal unixgroup
AuthName “Restricted Access Area”
</Location>
<Location “/bb”>
AuthType Basic
AuthExternal pwauth
GroupExternal unixgroup
AuthName “Restricted Access Area”
require group admin
</Location>
</IfModule>
なんで、.htaccessじゃダメなのか?というと、さすがにセキュリティ的にサーバーアカウントで認証するのに暗号化無しじゃまずかろうということで、今回http:でアクセスしてきた場合、mod_rewriteで以下のように、強制的にhttps:にリダクレクト
RewriteCond %{SERVER_PORT} 80
RewriteRule ^(.*)$ https://example.com$1 [R,L]
リダイレクトする前に先にBasic認証が実行されちゃうからじゃないの?(http:とhttps:でそれぞれ実行されてる)と言われそうですが、http:とhttps:でドキュメントルートを分けても、なぜかそうなってしまいましたのです。。
CentOS4でPython2.4&Trac0.11 その2(決着)
前回から引き続き、あれこれいじって泥沼なCentOS4.7でTrac0.11をpython2.4から実行する話です。アクセスしても、
「リポジトリと同期できません”No module named svn”」&いくらログインしても「現在ログインしていません」
がでる件ですが、
“No module named svn”は、たぶんこれも2.4のeggがないからだろうと漁ってみましたがsubvirsionごと入れ替えないとだめっぽいです。(subvirsion使ってないけど、エラーが残ってると気持ち悪い)
しょうがないのでもともとRPMforgeのsubversion-1.4.3-0.1.el4.rfを使っているのでSRPMを拾ってきます。
(もちろん、SVNのリポジトリのバッグアップ取っておく)
http://dag.wieers.com/rpm/packages/subversion/
今回は、subversion-1.4.6-0.1.rf.src.rpmが最新らしいので、
# rpm -ivh subversion-1.4.6-0.1.rf.src.rpm
そのままだと、2.3でビルドされるので
–disable-mod-activation \
PYTHON=/usr/bin/python2.4 \
–disable-mod-activation \
更に、どうも他にもあるようなので、/usr/bin/pythonの決め打ちしているようなので
できあがった
mod_dav_svn-1.4.6-0.2.rf.i386.rpm
subversion-1.4.6-0.2.rf.i386.rpm
subversion-devel-1.4.6-0.2.rf.i386.rpm
subversion-perl-1.4.6-0.2.rf.i386.rpm
をインストール。(見分けつくように0.1を0.2した)
ただし、前回のlibexpatを手動でいれたのが悪いのか–force、–nodepsじゃないと入らないという。。(泣)
(まぁ、/usr/libにちゃんとあるのでこれまた強制で)
これで
「リポジトリと同期できません”No module named svn”」
はクリア。
残りの、いくらログインしても「現在ログインしていません」問題は、trac.iniを見直して、なるべく素に近い状態にしてリロードしたところ、問題なくログインできるようになりました!
長かった!
この後は、いつも使うPlugInをゲシゲシ入れてやっと終了!
ほんと、Railsのようにさくっと複数バージョン入れられてスイッチできるようにしてほしいですね。
CentOS4でPython2.4&Trac0.11 その1(かなり無茶)
前回の投稿の最後で書いたCentOS4.7でTrac0.11にアップデートしたものの運用上必要な管理系プラグインがpython2.3(CentOS4系のデフォルト)で動かない問題は、pythonまったくわからないため、アプリケーションでは何ともなりませんでした。
で、あれこれ画策してfedora4用のpython2.4強制的に入れたら、yumが動かなくなるわ、tracも動かなくなるわで絶望の淵まで追いやられてそのまま放置してたものの、同僚から「Tracがつかえねーじゃねーか!、何とかせよ!」と言われてあれこれいじった結果、yumで必要なpython2.3とtracで使いたいpython2.4と共存できるようになりました!
ただし、デフォルトrpmでは管理しきれなくなって一部ソースビルドやら、改造rpmやら、強制上書きやら、外科的手術が必要です。以下防備録。
■1:@YMCのVPSサービス用のCentOS4のRPM置き場のぞいてたら、python24なる2.3と同居できるパッケージを発見したので、
python24-2.4.3-8.YMCcentos.3.i386.rpm
python24-PIL-1.1.5-1.YMCcentos.2.i386.rpm
python24-devel-2.4.3-8.YMCcentos.3.i386.rpm
python24-tools-2.4.3-8.YMCcentos.3.i386.rpm
tkinter24-2.4.3-8.YMCcentos.3.i386.rpm
をインストール。
この時点で、/usr/lib/python2.4ができる&python2.4 or python24コマンドでpython2.4が使えるように。
■2:2.4用のライブラリ類がなにも入っていない状況(/usr/lib/python2.4/以下のeggファイルがすっからかん)なのでとりあえず、easy-installとsetuptoolsを2.4で使えるように、
# python2.4 ez_setup.py
# wget http://pypi.python.org/packages/source/s/setuptools/setuptools-0.6c9.tar.gz
# tar zxvf setuptools-0.6c9.tar.gz
# cd setuptools-0.6c9
# python2.4 setup.py build
# python2.4 setup.py install
■3:インタアクトのサイトから
最新版のtrac-0.11.3.ja1を落としてきて
# cd Trac-0.11.3.ja1
# python2.4 setup.py intall
Trac0.11に必要なGenshi、Pygmentsのライブラリも2.4用eggを勝手に作ってくれる。
※初めてtrac入れる場合(既存プロジェクトが無い)場合、この段階で、mod_pythonの設定やtrac-adminコマンドでの一般的なプロジェクトのセットアップが必要。
※0.10系から0.11系に初めて上げる場合は、
# trac-admin /path/to/projenv wiki upgrade //プロジェクト分やる
(いろんなサイトに情報があるのでそれを参考に)
■4:この状態でtracを実行してもmod_pythonとlibxmlはデフォルトの2.3をみてるらしくブラウザでアクセスしても、python2.3の文字が大量に出てエラー。confか何かで切り替えられないかと探すもできないらしく、とりあえず、
mod_pythonのCentOS4用のSRPMをから落としてきて
# vi /usr/src/redhat/SPECS/mod_python.spec
lib2xmlも2.4を見るようにする必要があるようなのでCentOS4用のSRPM拾ってきて、リビルド。こちらは、
■5:これでOKかと思いきや、アクセスしても画面が真っ白に。デバッグ用ログすら出てこなく、仕方なくapacheのエラーログ見ると
[Sun Apr 12 18:48:46 2009] [notice] child pid 2000 exit signal Aborted (6)
http://blog.mufu.jp/2008/12/amazon-ec2-1.html
がでてきたが、自前make installでライブラリ強制上書きという、一番やりたくな結果が。。。
RPMのリビルドでなんとかならないかと思ったけども、根幹的なglibcのRPMまで行きついてダメらしいです。
しかし、もう引き下がれないので、
# tar zxvf expat-2.0.1.tar.gz
# cd expat-2.0.1
# ./configure –prefix /usr/local/expat
# make
# make install
さすがにいきなり強制上書きは怖いので、
/usr/lib/配下のexpat関連のファイルをバックアップ
元々Apacheが見ていたlibexpat.so.0がなくなったらしく、httpd 起動すらできなくなる模様なので、
致し方なく、
気を取り直して、httpd restartしたらとりあえずブラウザ上でデバッグ情報がなんとかでるようになってる。
■6:エラーメッセージ見ていると一番下に
「global name ’sqlite’ is not defined」
がでてるところを見るとどうやらpython2.4用のsqliteライブラリがないらしい。
(centosデフォルトの2.3用のやつは入ってるけど)
本家の
http://initd.org/tracker/pysqlite
からpythonのsqliteライブラリを落としてきて
# cd pysqlite-2.5.5
# python2.4 setup.py build
# python2.4 setup.py install
ただ、
「リポジトリと同期できません」&いくらログインしても「現在ログインしていません」
のメッセージが。。。(泣)
次につづく。
<追記1>
pythonって既に3.0がでてきたりして、すぐに2.4もサポート切られそう&libexpatは、apacheバージョンが上がると上書きされるっぽい(=都度強制インストールする必要が。。。)ので、普通の人にはまったく勧めらんないやり方です。
あと、Pythonってeggファイルをバージョンごとに管理するようですけど、これうまく移行とかできなんですかね。。
ものすごくめんどくさいです。
<追記2>
mod_pythonを使うとき、500サーバーエラー乱発だの真っ白で何もでないときなど、そのままだと全然エラー内容がわからないので、tmod_pythonのディレクティブに
PythonDebug on
を入れるとエラーが記録されるようになります。
Trac0.10系から0.11系へのアップデート
会社でナレッジベース(≒共有メモ)として使っているTracのバージョンアップをしようとしたら思い切り、ハマったのでメモ。
(そもそもTracは、SVNとセットで使ってなんぼだと思うけど、こんな使い方もしてます)
インタアクトのサイトからTrac0.11系の日本語落として、さくっと終わるだろうと思ったら甘かった・・・
いざやってみたら、
File “/usr/lib/python2.3/site-packages/Trac-0.11.2.1.ja1-py2.3.egg/trac/web/api.py”, line 367, in send_error
File “/usr/lib/python2.3/site-packages/Trac-0.11.2.1.ja1-py2.3.egg/trac/web/chrome.py”, line 688, in render_template
data = self.populate_data(req, data)
File “/usr/lib/python2.3/site-packages/Trac-0.11.2.1.ja1-py2.3.egg/trac/web/chrome.py”, line 596, in populate_data
d['chrome'].update(req.chrome)
File “/usr/lib/python2.3/site-packages/Trac-0.11.2.1.ja1-py2.3.egg/trac/web/api.py”, line 194, in __getattr__
value = self.callbacks[name](self)
File “/usr/lib/python2.3/site-packages/Trac-0.11.2.1.ja1-py2.3.egg/trac/util/compat.py”, line 133, in newfunc
return func_(*(args + fargs), **dict(kwargs, **fkwargs))
File “/usr/lib/python2.3/site-packages/Trac-0.11.2.1.ja1-py2.3.egg/trac/web/chrome.py”, line 464, in prepare_request
for category, name, text in contributor.get_navigation_items(req):
File “/usr/lib/python2.3/site-packages/TracAccountManager-0.1.3dev_r2171-py2.3.egg/acct_mgr/web_ui.py”, line 144, in get_navigation_items
(req.href.account()))
LookupError: unknown encoding: /kb/site-catalyst/account
Pythonのバージョン(CentOS4は2.3なので古い)が原因かと途方に暮れてたら、ネット結果、0.10系のときに入れていたTracプラグインが悪さをしているらしいですね。。。
なので、site-packages以下(CentOS4系ならば、/usr/lib/python2.3/site-packages)以下のTrac、tracから始まるプラグインディレクトリをゲシゲシ削除(一部わからないのがあったけどそれはそのまま)、古いTracも削除(新しいの入れると古いのは無視するみたいだけど)
site-packages内のsetuptools.pthに記述があったら、それも削除(自分の場合無かった)で、インストールし直せばOKです。
#easy_install easy_install pygments
#python /Trac-0.11.2.1.ja1/setup.py install
#trac-admin /path/to/projenv upgrade //プロジェクト分やる
#trac-admin /path/to/projenv wiki upgrade //プロジェクト分やる
#/etc/init.d/httpd restart
でプラグインも入れ直し(ただし、WebAdminはiniadminは機能がかぶっているような。。。)
・iniadminplugin
・TracGantt
・Account Manager Plugin
・Ticket and Ticket Change Deletion Plugin
・TracDecoratorPlugin
#やる前に念のため、プロジェクトのデータは、バックアップ取っておきましょう。
======
<追記>
・Account Manager Pluginが動きません・・・(泣)どうやら、Python2.4以降にしかない、sorted()をつかっているのが原因らしいけど、直し方がわからない。。。
その後の顛末はこちら。
