COREBlog 1.2 Updated

いつの間にか、GW中にCOREBlogがVer.1.2にアップデートされていることに今更気付く。
で、当然ながらUpdateされた内容を吟味してこのサーバーを1.11から1.2に変更するかどうか、を考えないといけないわけだが・・・。
Changelogがねえよ。作者のページでCOREBlog
1.2の変更点は詳しくはChangelogを見てね、って書いてるのにリンクも張ってないし、本家配布元でChangelogをクリックすると、今回のアップデートで同梱されたPloneとの親和性を高めるSkin…

いつの間にか、GW中にCOREBlogがVer.1.2にアップデートされていることに今更気付く。

で、当然ながらUpdateされた内容を吟味してこのサーバーを1.11から1.2に変更するかどうか、を考えないといけないわけだが・・・。

Changelogがねえよ。作者のページでCOREBlog 1.2の変更点は詳しくはChangelogを見てね、って書いてるのにリンクも張ってないし、本家配布元でChangelogをクリックすると、今回のアップデートで同梱されたPloneとの親和性を高めるSkinの使い方について書いてあるだけ。わしゃPloneなんか使ってないから、それ以外で何が変更されたのか知りたいのに。

まあ、Zope家さんから見れば、ソースも見ないようなヘタレユーザーなんか知らん、ということなんだろうが、COREBlogはZope普及の起爆剤、とか言っておいて、まともなChangelogも提示しない様なものは決して普及しないと思うんだが。

ということで今回はアップデートは見送り。Zopeってのはなかなか面白いいいシステムだとは思うが、こういうところでいちいち「なんでよ?」って思っちゃうんだよなあ。まあ、それを言うならなんらかの手段でContributeしろ、って言われて堂々巡りなんだろうけど。ってそれってLinuxのタコ論争の繰り返しじゃん。

トラックバックってシステムの善し悪し

最近、やっぱりBlogをするのがはやってるのか。前にも書いたけど、Blogって疑似リアルタイムコミュニケーションなので、ちょっと時間が経つだけで過去の情報が形骸化していって、内容が残らないのよねえ。
と、なにか意味のありげなことを書いておきつつ、知人のBlogに初TrackBackを打って見る。
そこの初被TrackBackは、あるあるのことを書いたらアメーバブログであるあるの情報をまとめるBlogをやってる人からの宣伝TrackBackだった。この人って、Googleであるある関係でググって…

最近、やっぱりBlogをするのがはやってるのか。前にも書いたけど、Blogって疑似リアルタイムコミュニケーションなので、ちょっと時間が経つだけで過去の情報が形骸化していって、内容が残らないのよねえ。

と、なにか意味のありげなことを書いておきつつ、知人のBlogに初TrackBackを打って見る。

そこの初被TrackBackは、あるあるのことを書いたらアメーバブログであるあるの情報をまとめるBlogをやってる人からの宣伝TrackBackだった。この人って、Googleであるある関係でググって引っかかるBlogに片っ端から意味のないTrackBackを打って、アメーバブログのランキングをあげようとしてるんだろうなあ。

アメーバブログって探偵ファイルのあることないことふいてランキング稼ごうとしてたり、なんかうざいBlogサービスって感じだな。ランキングによる賞金制度なんかあるから、そういううっとうしいことになる様な気がする。

ここのページは極力TrackBackを受けたくないので、どこにもTrackBackを送らなかったんだけど、これがきっかけでTrackBackが来るようになったら、Comment,TrackBackは受け付けない様にするかも。

COREBlogユーザーにページをいじらせる

COREBlogを貸し出してるユーザーがCSS等をいじりたいといってきたので、Contentsタブを有効にするためのSecurity設定を模索。
まずManage ZCatalog
Entriesを有効にする。これでContentsタブが見える様になる。
次に、ドキュメントの内容やCSSの内容をいじれるようにするためにChange
DTML DocumentsとChange DTML
Methodsを有効にする。これらを有効にしていないと、ContentsタブでファイルをクリックしてもView…

COREBlogを貸し出してるユーザーがCSS等をいじりたいといってきたので、Contentsタブを有効にするためのSecurity設定を模索。

まずManage ZCatalog Entriesを有効にする。これでContentsタブが見える様になる。

次に、ドキュメントの内容やCSSの内容をいじれるようにするためにChange DTML DocumentsとChange DTML Methodsを有効にする。これらを有効にしていないと、ContentsタブでファイルをクリックしてもViewするだけになってしまう。

他にもChangeを有効にした方がいいものもあるかもしれないが、CSSやページ構成をいじるだけならこの二つで十分だろう。

Safari 2.0で日本語自動判別失敗?

Mac OS
XをTigerにアップデートして、結果としてSafariのバージョンが2.0になってから、某所で運用している掲示板の日本語コードの判別に失敗するようになった。
その掲示板は、ApacheのDefaultCharsetも有効にせず、CGIからのCharsetも日本語コードを特に指定していない。DefaultCharsetを有効にすると、他のコードを使うCGIで問題になるし、CGIから直接返すとなぜかApacheが書き換えようとしてうまくいかない。
で、仕方なく各ブラウザの日本語コード…

Mac OS XをTigerにアップデートして、結果としてSafariのバージョンが2.0になってから、某所で運用している掲示板の日本語コードの判別に失敗するようになった。

その掲示板は、ApacheのDefaultCharsetも有効にせず、CGIからのCharsetも日本語コードを特に指定していない。DefaultCharsetを有効にすると、他のコードを使うCGIで問題になるし、CGIから直接返すとなぜかApacheが書き換えようとしてうまくいかない。

で、仕方なく各ブラウザの日本語コードの判別能力に期待していたわけだが、これまでSafariも1.3までは自動できっちりと認識していたのに、2.0のなって判別しないでDefault設定のShiftJISだと思い込むようになった。ていうか、2.0から自動判別やめてない?

仕方ないので、CGIがHEADセクションでMETAタグのHTTP-EQUIVでContent-Typeを返すようにCGIを書き換えて対処。

CoreBlogで検索を可能にする

CoreBlogで日本語の検索を可能にすることにした。
とりあえず、単語分割用のSplitterで日本語が通るものを入れないといけないのだが、無駄が多いのを承知で単純な単語分割をするejsplitterを入れることにする。
といっても、ソースを取ってきて、Productディレクトリ(/usr/local/www/Zope/Product)で展開。ZopeのコントロールパネルからZopeを再起動して終わり。
次に、既に日本語非対応のSplitterで作られている分割単語の辞書であるlexiconを…

CoreBlogで日本語の検索を可能にすることにした。

とりあえず、単語分割用のSplitterで日本語が通るものを入れないといけないのだが、無駄が多いのを承知で単純な単語分割をするejsplitterを入れることにする。

といっても、ソースを取ってきて、Productディレクトリ(/usr/local/www/Zope/Product)で展開。ZopeのコントロールパネルからZopeを再起動して終わり。

次に、既に日本語非対応のSplitterで作られている分割単語の辞書であるlexiconを入れ替える。

まずはCoreBlogのContentでlexiconを削除する。次に、ZCTextIndexをAddして、idをlexicon、titleは空にしておいて、Splitterでejsplitter UTF-8を選択する。最後に、EntryからRecatalogを押すと、単語分割がやり直される。

Contentからlexiconを選んでQueryタブを選ぶと、ちゃんと日本語が分割されたか見ることが出来る。さすがに、辞書を使わず分割してるので、非常に馬鹿っぽいが、簡易検索には十分だろう。

これをCoreBlogから利用できる用にする為には、Content/modulesのなかのindex_htmlを開いて、検索部分でコメントアウトされてる部分を有効にするだけでいい。

Moblogも出来るようにしてみる

FreeBSDのportsでpython &
zopeをインストールしただけでは日本語が化けてしまうので、JapaneseCodecとpykfをインストール。といっても、portsではJapaneseCodecはzope用にinstallされるpython2.3でなくてpython2.4を要求するし、pykf自体はそもそもない。というわけで、ソースサイトからソースを取ってくる。
どちらも、展開してからそのディレクトリに移動して以下のcommandを入れるだけでinstall完了。pythonが2…

FreeBSDのportsでpython&zopeをインストールしただけでは日本語が化けてしまうので、JapaneseCodecとpykfをインストール。といっても、portsではJapaneseCodecはzope用にinstallされるpython2.3でなくてpython2.4を要求するし、pykf自体はそもそもない。というわけで、ソースサイトからソースを取ってくる。

どちらも、展開してからそのディレクトリに移動して以下のcommandを入れるだけでinstall完了。pythonが2.3と2.4の両方入っている場合はinstallするpythonを間違えないようにしないといけないかもしれない。

/usr/local/bin/python2.3 setup.py install

後はmoblog用のpop3アカウントを用意して読み込み用のURLを叩いてあげれば読み込まれる。

Blogタイトルはメールタイトルが使われる。パスワードはメール本文一行目に書く。その次の行は無視されるので、一行あけて本文を書く。カテゴリーはおそらくmoblogセッティングで設定したデフォルトカテゴリーが使われると思われ。

ほんとのところどうなのさ?

L2TPv3がらみのVPN設計をしているついでで、IPSecによるVPNにもちょこちょこ手を出しているんだけど・・・。
FreeBSDのカーネルをIPSec対応にするためのオプションの指定が、
options IPSEC options IPSEC_ESP options IPSEC_DEBUG
となっているドキュメントが検索でわらわら出てくるんだけど、最後のIPSEC_DEBUGって本当にいるのか?
ごく稀に上の二行しか書いていないドキュメントも出てくるし、どっかの誰かがわけもわからず三つと…

L2TPv3がらみのVPN設計をしているついでで、IPSecによるVPNにもちょこちょこ手を出しているんだけど・・・。

FreeBSDのカーネルをIPSec対応にするためのオプションの指定が、

options IPSEC
options IPSEC_ESP
options IPSEC_DEBUG

となっているドキュメントが検索でわらわら出てくるんだけど、最後のIPSEC_DEBUGって本当にいるのか?

ごく稀に上の二行しか書いていないドキュメントも出てくるし、どっかの誰かがわけもわからず三つとも入れたのを真に受けてみんなそれを馬鹿正直に書き写してるような気がしてならない。

CoreBlogでのイメージの貼り付け方

CoreBlogでイメージを貼り付ける場合には、まずイメージをサーバーにアップロードする必要がある。
まず、manageページから自分のブログディレクトリー内のimagesフォルダーに移動する。ここでAddでImagesを選び、ID(ファイル名)とTitle(イメージの説明)を入力し、イメージのファイルを指定してアップロードする。これで準備は完了。
次に、Entry作製時にIMGタグで埋め込む。この時、相対パス指定で”image/filename”と指定するだけでよい。
これで、Entry内に…

CoreBlogでイメージを貼り付ける場合には、まずイメージをサーバーにアップロードする必要がある。

まず、manageページから自分のブログディレクトリー内のimagesフォルダーに移動する。ここでAddでImagesを選び、ID(ファイル名)とTitle(イメージの説明)を入力し、イメージのファイルを指定してアップロードする。これで準備は完了。

次に、Entry作製時にIMGタグで埋め込む。この時、相対パス指定で”image/filename”と指定するだけでよい。

これで、Entry内に写真等のイメージを埋め込む事が出来る。

XR-410/TX2-L2テストレポート

とりあえず、テストの為にXR-410/TX2-L2をLAN内に2台設置してL2TPv3トンネルを張ってみた。というより、あまりの簡単さに拍子抜け。
最初はトンネルの向こう側のルーターの出口インターフェースのIPにPingが通らないのでトンネルが張れてないのかと焦ったけど、XR-410は組み込みLinuxベースなので、たんなるLinuxのインターフェースの制限だった。L2TPにカプセルされたパケットは相手側ルーターでデカプセルされたあと、自身宛かどうかを見ないで出口インターフェースに送ってるらし…

とりあえず、テストの為にXR-410/TX2-L2をLAN内に2台設置してL2TPv3トンネルを張ってみた。というより、あまりの簡単さに拍子抜け。

最初はトンネルの向こう側のルーターの出口インターフェースのIPにPingが通らないのでトンネルが張れてないのかと焦ったけど、XR-410は組み込みLinuxベースなので、たんなるLinuxのインターフェースの制限だった。L2TPにカプセルされたパケットは相手側ルーターでデカプセルされたあと、自身宛かどうかを見ないで出口インターフェースに送ってるらしい。で、Linuxの基本中の基本で自身のインターフェース宛のパケットは自身で出して受け取ることは出来ない、の制限らしい。それ以外は、非常に問題なくトンネル経由で全てのパケットがブリッジされてる。

というわけで、自身のLAN側インターフェースを使ってトンネルの向こう側からのパケットを受け取れないので、XR-410/TX2-L2をトンネル兼インターネットへのゲートウェイとして利用する計画は、トンネルされた側から外に出れなくなるので断念。別にゲートウェイを導入して、XR-410/TX2-L2はトンネルに専念させる設計に変更。

あとの問題は、L2TPv3 over IPSecにすると、XR-410はIPSec暗号化をソフトウェアでやるので、スループットが6Mbpsぐらいまで落ちてしまうことだけど、これは新しい研究室は上位にファイアーウォールが入ってるので、暗号化する必要はなしという判断で、IP Spoofing防止の為にL2TPv3の認証をハッシュ化するのみにとどめることに決定。

L2TPv3で遊ぼう

次の仕事先のネットワーク設計がうざい。
どうやらフロアごとにIP空間を分けてるらしい。しかも、研究室で割り当てられた部屋は防火扉に分けられた二つの同フロアの部屋と別フロアの大部屋。一応フロア間や防火壁にシャフトは通っていて各部屋の配線をしなおして一つの部屋に全部ネットワークを持ってくることはできるんだろうけど、ネゴシエーションも面倒そうだし、ましてフロア単位でIP空間を分けるような設計をする人が物理トポロジーと論理トポロジーの食い違いを受け入れるとは思えない。
ということで、各部屋間をVPNで結…

移転予定の研究室のネットワークを設計中。

新しい研究室の入っている建物はどうやらフロアごとにIP空間を分けてるらしい。しかも、研究室で割り当てられた部屋は防火扉に分けられた二つの同フロアの部屋と別フロアの大部屋。一応フロア間や防火壁にシャフトは通っていて各部屋からの配線を一つの部屋に持ってきて閉じたLANを作ることはできるんだろうけど、新たに配線をシャフトを通してもらう為のネゴシエーションが面倒そう。というか、レイヤー0レベルでなかなかうまく通信できない管理者をあまり相手にしたくない。

ということで、各部屋間をVPNで結ぶことに決定。普通のIP based VPNだとIP以外のレイヤー3なプロトコルが通らない。新しい研究室はボスがMacユーザーなので是非AppleTalkを部屋間で通したい所だが、レガシー(って言うな!)なプロトコルを通すには各部屋にルーターを置いてover IPなカプセル化をして通してあげないといけないので、これだと各部屋に都合3台のルーター(PC-UNIX)を置かないといけない。ところが、最近Ciscoを中心に策定が進められているL2TPの新バージョンv3だと、一度トンネルを張ってしまえばレイヤー2レベルでブリッジとして振舞うので、各部屋にL2TPv3なトンネルゲートウェイを置くことで物理配線無しに各部屋を一つの論理セグメントに繋いでしまうことが出来そう。

で、L2TPv3を先走って勝手に搭載したルーター(XR-410/TX2-L2)を出してる会社(Century Systems)があったので、研究費でとりあえず2つ導入してテストすることに。