Home

技術系のメモと日々の雑感

.svn/tmp を開けません

以前 .svn/tmp が開けないエラーが出て、一旦リポジトリを消してから作り直したことがあった。
そのときは珍しいエラーなのかと思っていたんだけど、近頃、似たようなパターンで svn update がちょくちょく引っかかるようになった。

$ svn update
svn: 作業コピー '.' はロックされています
svn: ロックを解除するには 'svn cleanup' を実行してください (さらに詳しく知りたいときは 'svn help cleanup' と打ってください)

で、言われた通り cleanup してみると

$ svn cleanup
svn: ディレクトリ 'hoge/.svn/tmp' を開けません: そのようなファイルやディレクトリはありません

とのこと。
クライアント側の操作がトリガーになっているんだろうな。
メッセージに出てる .svn/tmp ディレクトリを作ってから svn cleanup と svn update したら通ることは分かってる。
でも、どのディレクトリで起こるかが事前に掴めないんだよねぇ。
仕方がない。
mkdir するスクリプトを cron で回して回避しよう。

#!/bin/sh
cd /usr/local/apache/htdocs
find . -name '.svn' | while read dir; do
  if [ ! -e $dir/tmp ]; then
    mkdir $dir/tmp
  fi
done

根本的な解決になってない?
まぁ、そこは大人の事情というやつで。

OpenWebMail を試してみた

ふとした理由で OpenWebMail を試してみたので手順をまとめておく。
環境は CentOS 5.3 だったけど、もっと新しいバージョンでも大して変わらないと思う。
まずは前提となる Perl のモジュールのインストールから。

# perl -MCPAN -e shell
cpan> install CGI
cpan> install MIME::Base64
cpan> install Text::Iconv
cpan> install HTML::Template

後で分かったことだけど、suid が立っているスクリプトがあって、そのままでは Apache から呼べない。
なのでここで suidperl を入れておく。

# yum -y install perl-suidperl

続いて OpenWebMail のソースを展開。

# mkdir -p /usr/local/src/openwebmail
# cd /usr/local/src/openwebmail
# wget http://openwebmail.org/openwebmail/download/release/openwebmail-2.53.tar.gz
# tar zxvf openwebmail*
# mv data/openwebmail /var/www/html
# mv cgi-bin/openwebmail /var/www/cgi-bin

カレントディレクトリ直下に cgi-bin と data というディレクトリができるから、他のファイルと混ざらないように、あらかじめ専用のディレクトリを作ってから展開した方がいいね。
さて、動かすための設定を入れていこう。
ログイン認証のパスワードは /etc/shadow を見にいくように /var/www/cgi-bin/openwebmail/etc/defaults/auth_unix.conf をちょこっと修正。

passwdfile_encrypted /etc/shadow
passwdmkdb none

メインの設定ファイル /var/www/cgi-bin/openwebmail/etc/openwebmail.conf は環境に合わせておく。

mailspooldir /var/spool/mail
ow_cgidir /var/www/cgi-bin/openwebmail
ow_cgiurl /cgi-bin/openwebmail
ow_htmldir /var/www/html/openwebmail
ow_htmlurl /openwebmail

で、設定を反映するおまじない。

# /var/www/cgi-bin/openwebmail/openwebmail-tool.pl --init
Please change '/var/www/cgi-bin/openwebmail/etc/dbm.conf' from

dbm_ext .db
dbmopen_ext none
dbmopen_haslock no

to

dbm_ext .db
dbmopen_ext .db
dbmopen_haslock no

And execute '/var/www/cgi-bin/openwebmail/openwebmail-tool.pl --init' again!

おおっと、怒られてしまった。
親切なメッセージに従って /var/www/cgi-bin/openwebmail/etc/defaults/dbm.conf を手直ししよう。

dbmopen_ext .db

これであとは Apache の AddHandler cgi-script .cgi .pl を有効にしたらできあがり。
ログイン画面は http://[IP or host]/cgi-bin/openwebmail/openwebmail.pl だ。

WordPress 3.0 で imagecreatefromstring の Warning

CentOS 5.4 が載ってるマシンに WordPress 3.0 を入れて、JPEG ファイルをアップロードしようとしたら、サムネイル表示のところで

Warning: imagecreatefromstring() [function.imagecreatefromstring]: No JPEG support in this PHP build in /usr/local/apache/htdocs/hoge/wp-includes/media.php on line 253

というワーニングが出てうまくいかなかった。
調べたところ、PHP で GD の JEPG サポートが有効になってないのが原因だった。
そういえば、このマシンでは PHP をソースから入れてたんだったな。
やったことを書いておくと

yum install gd-devel

してから、configure で

--with-gd --with-jpeg-dir=/usr/include

を付けてコンパイルしなおしただけ。
phpinfo() で gd のところの JPG Support が enabled になっていたらオッケーだ。
さて、WordPress 3.0 をいじり倒すとするか!

MRTG の WithPeak

MRTG Weekly GpaphMRTG で Load Average をグラフにしていて、前から気になっていたことがひとつ。
Daily は5分間隔の平均だからいいんだけど、これ以外のグラフは値の平均を取る間隔が広くなるので、全体的に値が小さくなっているように見えることだ。
そうこうしているうちに、近頃、CPU の負荷をシビアに見ないといけないマシンが出てきた。
放置し続けることもできないので、何とかならないかと調べてみたら、WithPeak を指定すればピーク値もグラフに出力してくれるとのこと。
上のイメージは設定後の Weekly のグラフだ。
濃いグリーンが1分間隔のピーク、マゼンタが5分間隔のピークになるらしい。
このマシンはまだいいけど、別のマシンではほとんどグリーンで塗りつぶされてしまってて、実は焦ってたりする。

Kai で Key-Value ストア環境を作ってみる

テストで Key-Value ストアの環境を作ることになった。
オープンソースのものを探した結果、Kai でいくことに決定。

続きを読む