nDiki : 2003年11月20日

2003年11月20日 (木)

やっぱハイパー日記システム

tDiary に随分傾むいていたのだが。

自分自身の使用としては、

  • tDiary で SUB できない?
  • tDiary で 旬単位表示できない? (月まとめ表示はちょっと大きすぎる気が)
  • tDiary には hns の log.cgi に当たる機能がない?
  • Ruby プログラム、 hack できない (これを機に覚えれば良いのだが)
  • WiKicker との連動コードを簡単に埋め込めなくなる(WiKickerPerl)
  • Unison 導入により hns 関連ファイル管理の整理ができたので、そこら辺が綺麗で気にいった tDiary のメリットが少なくなった。

といった感想。 最初から tDiary だったら問題を感じなかった部分も多いだろう。 慣れの問題。 あとこれから日記システムを提供してあげる予定の Tarebouzuさんに対しては、

  • hns でも tDiary のテーマが使える事が判明した(tdiary-hns-theme 使用)ので、レイアウトの選択肢が広まった
  • hns にも Web インタフェースがあるし
  • hnf 記法の方が、tDiary 記法より簡単 (私が慣れているだけかもしれないが。まぁ教えやすいし。)

といった感想。 で、二転三転したが結局 hns でいこうかと。

hns のセットアップ、theme の入れかえ、mod_rewrite の設定あたりまで終わらせる。 後は、Namazu とかそのあたり。 週末には稼働できるかと。

スポンサード リンク

ボジョレー・ヌーヴォー

今週の平日は落ちつかないので週末でいいやと思っていたのだが、家に帰ったらが買ってきてくれていた。

でも飲むのはやはり週末にとっておく。

www.naney.org のファイルを全て Unison で同期

www.naney.org 上のコンテンツは、ローカルで一旦構築したファイル(ディレクトリ構造)を rsync で1方向に sync している。

しかし細かくみてみると

  • (L) ローカルで xml -> html し、サーバに送るファイル (html/ 以下のファイルなど)
  • (L) ローカル上で直接作成し、サーバに送るファイル (etc/ 以下のファイルなど)
  • (L) ローカルから定期的に送るファイル(webcamの画像など)
  • (S) サーバ上でインストールし、オリジナルがサーバにあるファイル (local/ 以下のファイルなど)
  • (L) サーバ上でインストール後、ローカルにコピーし改変して送るファイル(設定ファイルなど)
  • (S) サーバ上で生成されるファイル (Wikiデータベース、ログなど。var/ 以下)

とかなりかなり混在中。(L) はローカルにマスターがあるもの。(S) はサーバにマスターがあるもの。

できるだけ(L)と(S)を分離するようにはしているのだが(例えばサーバでインストールしたものの中で手元にコピーして編集したファイルは別ディレクトリにまとめておいて、サーバ上ではそちらへ symbolic link を張るとか)、これはこれで訳がわからなくなってしまう訳で。 rsync の実行も --exclude オプションがからみあい、--delete を付けられたり付けられなかったりとちょっとトリッキーな状態。

Unison で同期

日記システム関連の導入検討の前に、一旦ここら辺を整理し簡略化したい。 ということで、これからは Unison を使って www.naney.org とローカルを基本的に同期させてしまう事にした。

これならばどれがサーバオリジナルのファイルで、どれがローカルがオリジナルのファイルか迷わなくて済むようになると。

で、設定。ローカルの /usr/local/www.naney.org ディレクトリで同期させる事にする(ディレクトリ名は実際は違うところ)。 ローカルホストの ~/.unison/naneyorg.prf に

 times = true

 # Roots
 root = /usr/local/www.naney.org
 root = ssh://www.naney.org//home/naney

 # ignore backup
 ignore = Name *~
 ignore = Name .*~

 # ignore files
 ignore = Path .cpan
 ignore = Path .union
 ignore = Path var/log/access_log

 # hns
 ignore = Name referer_log
 ignore = Name referer_batta_log

と書く(ignore は一部抜粋。ディレクトリ等は実際は微妙に違う)。 で、

 unison naneyorg

で同期。 同期処理中に、(ログファイルなど)書き換わってしまうものがあるとそれを含むディレクトリの同期がごっそり abort させられるようなので、ignore を調整しつつ何回か実行して完全に同期をかける。

これで、ローカル・サーバどちらでファイルを書き換えてもOK。

rsync よりパスの指定が簡単だし(rsync はパス指定最後の / の有り・無しでの挙動の違いをいつも忘れてしまうので怖い)、なかなか使い勝手が良いかも。

ちなみにローカルで xml -> html しているファイル群だけは一旦別ディレクトリに生成してから、ローカルの www.naney.org 同期ディレクトリへ rsync で一方向 sync するようにしておいた(その後サーバと同期するという2段階処理)。

はまり所

最初 -times オプションを指定していなかったので、サーバからローカルへ同期したファイルの更新時刻が全て現在のものになってしまった。 後から -times オプションを指定して unison しなおすと、全部再同期しようとしてしまうようだ。 よくわからないので、一旦同期ディレクトリを消して全部取り直し。

Crypto++ 4 -> 5

Debian GNU/Linux sidCrypto++ が 5 に上がっている都合で、前に作った自分用のツールが 'error while loading shared libraries: libcrypto++.so.4: cannot open shared object file: No such file or directory'。

Crypto++ は 4 と 5 でソース非互換。 Crypto++ 4.2 を /tmp 以下でビルドして静的にリンクしておく。

過去の今ごろ

過去の11月20日より。

[ 11月20日全て ]

About Me

Naney Naney (なにい)です。株式会社ミクシィで SNS 事業の部長をしています。

nDiki1999年1月に始めたコンピュータ日誌を前身とする NaneyWeb 日記(兼パーソナルナレッジベース)です。ちょっとしたノートは nNote にあります。

※内容は個人的見解であり所属組織とは関係ありません。

月別インデックス
Process Time: 0.053908s / load averages: 0.75, 0.86, 0.76
nDiki by WATANABE Yoshimasa (Naney)
Powered by DiKicker