- キット各種完売。
- msBerryDAC改造情報
2009/04/15(水)OpenLDAP の Berkeley DB が壊れた……
長年運用してきた某所にある OpenLDAP の Berkeley DB が(リセットなどのトラブルで)ファイル破損しました。
# slapd.sh start
して一応数秒返ってくるんですが、OpenLDAPシステムが起動したまま接続を受付ない。どうも起動プロセスの途中で止まってしまう模様で、ログにもスタートしました以外、何も残ってない。
# slapd.sh stop
してもプロセスがみつからないと言われるし、実際にプロセスはあるんだけど kill -KILL しないと落ちてくれない。「telnet 127.0.0.1 387」しても何も応答がない。
結果的には、OpenLDAPのデータ管理している Berkeley DB の故障で、故障すると BDB 関係の関数がハングアップする模様。さてこれは困った。
復旧コマンドがあったらしい
BDBを開こうとするだけで停止するので、ダンプも何もできない。さて困った……と思ったら、db_recover という復旧コマンドがあるらしい。OpenLDAP 2.2.30 on FreeBSD だったので、DBDはVer4.2。ということで、
/var/db# db_recover-4.2 -c -v -h openldap-data db_recover: Finding last valid log LSN: file: 1 offset 10445896 db_recover: Recovery starting from [1][28] db_recover: Recovery complete at Wed Apr 15 00:11:18 2009 db_recover: Maximum transaction ID 800019e7 Recovery checkpoint [1][10445896]
とやって無事復旧しました。Berkeley DBは壊れたとき、必ずしも「エラー」になってくれないので原因究明が厄介ですね。
svnとかもそうだけど、Berkeley DBは時々壊れてくれるので、バックアップ取っておかないと痛い目みる。
参考
2009/02/25(水)Plone / Archetypes のプロダクトサンプル
ArchExampleをベースに製作したプロダクトサンプルを配布し、解説します。ArchetypesによるPlone3.x Product開発に資料はあるにはありますが、とても直感的には理解しにくいため、分かっている範囲で分かりやすく解説します。*1
2009/02/23(月)Ploneのメモ
メモです。当分、追記します。
手っ取り早くプロダクトを作りたい人はArchetypes のプロダクトサンプル参照。
2009/02/10(火)Ploneの概要と、Ubuntu/Debianへのインストール方法
Ubuntu8.04上に、Ploneと呼ばれるWeb型CMSをインストールしたときの記録。
よければこちらも参照ください→Ploneメモ、Plone / Archetypes のプロダクトサンプル
Plone(ぷろーん)とは
PythonというRubyっぽいオブジェクト指向言語の上で動く、CMSツールです。Zopeと呼ばれるWebアプリケーションワークフレームの上で動作します。Ploneの動作サンプルはオフィシャルを見るのが良いようです。
Zopeとは、Pythonで記述されたWebアプリケーションフレームワーク。CGIフレームワークとは異なり、それ自体がWebサーバ機能、データベース機能を内包しています。
スタンドアローンで動作するので通常のレンタルサーバ等では動作しません。ユーザーのホームにPython+Zopeをインストールし、特権ポートをListenしなければユーザー権限で動作させることもできます。Apacheからのmod_proxyなりで透過的に接続させることもあるようです。
……というレベルの説明が、どうしてPloneオフィシャルサイトに書いてないのか謎。*1