Thu, 18 Nov 2004
お手軽 NAS + Linux であそべる「玄箱」ですが、いまのところノートラブルで動いているようです。
thttpd + Wiki はメモリは食わないですが、致命的に遅いので、
apache + mod_perl を試してみました。
が、こちらも若干早くなるものの、apache を立ち上げた段階でメモリを食いつぶしてしまいました(SWAP を使用しはじめる)。
LAN 実験用なので、それでもいいのですが、メモリを普段使わない apache なんぞに占領されるのはいただけないので、何か他に使えそうな類似製品がないかと探していたところ、ちょうど Zope の日本語版がリリースされた、というニュースをみたので、興味半分に入れてみました。
Zope が何か分からないまま(名前は聞いたことある程度)に入れてみたのですが、ZWiki とおまけの Blog を動かしてみたところ、起動時以外はそこそこのレスポンスで動作するみたいなので、インストールメモを。
必要なものはZope ジャパン - Zope 日本語版のページにあるとおりです。
玄箱に入れる際にひっかかった点をいくつか。
・前準備
玄箱を買ってみた(今更)-(1)でも書きましたが、grep を 上書きインストールして update しておきましょう(今回のインストールに影響があるかどうかは試してないので分かりませんが、configure で発生する問題を回避できるはずです)。
・Python 2.3.3
現在 Python の最新版は 2.3.4 のようですが、指示どおり 2.3.3 を入れてみました。
玄箱には Version2.0 が入っているので、これを壊したくなければ、別フォルダに入れる必要があります。
上のサイトをたどったところに書いてあるように、/opt/python2.3.3 にインストールすることで共存するには、
./configure --prefix=/opt/python2.3.3
のようにする必要があります。
システムパーティション(/)の下に入れるのがいやな方は、 /mnt/opt を作成して、シンボリックリンクを貼っておくとよいかと思います。 また、以降、python 用パッケージのインストーラ setup.py を実行する際には、フルパスで/opt/python2.3.3/bin/python と指定してやる必要がでてきます。
・Zope 2.7.3
python のパスを指定して
./configure --with-python=/opt/python-2.3.3/bin/python
を実行しますが、ここで dirname がないため、エラーとなります。 dirname は busybox に含まれていますが、リンクがないので、 作成する必要がありました。
#cd /bin
#ln -s busybox dirname
あとは問題なく make , make install できました。
/opt/Zope-2.7/bin/mkzopeinstance.py を実行すると zope instance home とやらの作成位置を聞かれます。
/mnt 以下にするか、/var/zope にするときはあらかじめ /mnt/var/zope を作成してシンボリックリンクを作成しておくと、
容量の問題を回避できると思われます。
私ははじめ、消してある説明のように、シンボリックリンクを利用して(/var/zope->/mnt/var/zope) にインストールしました(以下の説明はそのようになっています)。が、起動時 Product の読み込み時に Duplicate なんとかっていう "Problem" がレポートされてしまったので、/var/zope/var だけ /mnt 以下に移しました(懲りずにシンボリックリンク)。/var/zope/etc/zope.conf でも位置指定できるようですが、instance home は起動スクリプト等で指定されているので、結局ごまかしました。
ここまで完了したら、zopectl start で起動することを確認しておきましょう。
上記リンク先にもありますが、zope はユーザ zope を作成して起動します。そのため、/var/zope/log と /var/zope/var はユーザ zope がアクセスできるように、インストールスクリプト実行「後」に chmod 1777 する必要がありました(起動時にエラーになった)。
・Japanese Codecs
これは python のインストーラ、setup.py で問題なく入りました。
・Placeless Translation Service 1.0rc8
・ZMI Localizer
これらは展開して「Zope instance の Product ディレクトリ内」とやらにコピーするだけらしい、のですが、いきなり慣れない用語で戸惑いました。
なんのこっちゃと思いましたが、どうやら上記が指すのはさっき指定した instance home 以下の /var/zope/Products のことのようです。
/opt/Zope-2.7/skel 以下にも同じようなフォルダができますが、こっちはインスタンスの素?みたいですね(分かってない)。
ここに上記のアーカイブを展開してできる、[PlacelessTranslationService][COREBlog][ZMILocalizer] をディレクトリごとコピーします。
Zope のコントロールパネルからリブートするか、/var/zope/bin/zopectl stop で落として、再起動します。
これで、トップページ http://ZOPEホスト:8080/ の QuickStart が日本語化されま......せんでした(w
原因はブラウザの送っている情報で、言語が en-us になっていました(FireFox を英語版からアップデートしていたため?)。
あわてて jp を追加して、無事日本語の QuickStart が表示されました。
メモリ使用量ですが、以下のような感じです。(起動後、COREBLOG を表示した状態)
zope@YANEURA1:/$ free
total used free shared buffers cached
Mem: 62800 61544 1256 0 7196 22752
-/+ buffers/cache: 31596 31204
Swap: 257032 0 257032
追記。
reStructuredText で日本語を入れるとエラーになる
→象歩Blog (coreblog)にある input-encoding,output-encoding を
指定する方法で回避できるようです。
Sun, 14 Nov 2004
デジカメを使っていたら急にこんなメッセージがでました。
SD カードが壊れたのか?
帰ってあわてて Windows2000 のマシンでみてみると、"DCIM" のフォルダ名が化けています。しかもコントロールキャラクタか何かに化けているようで、リネームを受け付けません。
早速ディスクのプロパティからエラーチェックを実行。しかしエラーは検出されず。
コマンドプロンプトから CHKDSK /F してみましたが(実体は同じか?)、こちらでも異常はないと言われる始末。
ちなみに CHKDSK /V を実行すると、化けたフォルダの下にあるファイル名が出てくるので、リンクは破壊されていないようです。
Web を探していると、DISK をセクタ単位で書き換えるソフトを発見。しかし、これは Windows95系 限定でした。
他によさげな方法が見当たらなかったので、セクタ編集ソフトをダウンロードして、しぶしぶ Windows98 マシンを起動。
新しいデバイスの認識、なんていう画面を見ている時に、「そういえば CHKDSK の親玉?の SCANDISK なんてのが Windows98 にはあったっけ。」と思いつきました。
FATエントリの編集なんていう恐ろしいコト(DOS 時代はフロッピーでよくやりましたけど)をする前に、ためしに SCANDISK したら、すぐにエラー検出。コントロールキャラクタを "-" に置換してくれました。
さて、Windows98 があったから今回は助かりましたが、Windows2000 で FAT ファイルシステムがおかしくなったら、どうするのが「正しい」んでしょう?「教えて、エラい人。 」