#apacheのエラーログは
#%[Fri Sep 04 09:27:37 2009] [error] [client 127.0.0.1] *** ERROR: invalid application: (#f #<error "couldn't open output file: "/h ...">), referer: http://chaton/chaton/gauche/
[Fri Sep 04 09:27:37 2009] [error] [client 127.0.0.1] Stack Trace:, referer: http://chaton/chaton/gauche/
[Fri Sep 04 09:27:37 2009] [error] [client 127.0.0.1] _______________________________________, referer: http://chaton/chaton/gauche/
[Fri Sep 04 09:27:37 2009] [error] [client 127.0.0.1] 0 on-error, referer: http://chaton/chaton/gauche/
[Fri Sep 04 09:27:37 2009] [error] [client 127.0.0.1] , referer: http://chaton/chaton/gauche/
[Fri Sep 04 09:27:37 2009] [error] [client 127.0.0.1] 1 opener, referer: http://chaton/chaton/gauche/
[Fri Sep 04 09:27:37 2009] [error] [client 127.0.0.1] , referer: http://chaton/chaton/gauche/
[Fri Sep 04 09:27:37 2009] [error] [client 127.0.0.1] 2 (with-error-handler (lambda (e) (let ((e e)) (%guard-rec e e (else ..., referer: http://chaton/chaton/gauche/
[Fri Sep 04 09:27:37 2009] [error] [client 127.0.0.1] [unknown location], referer: http://chaton/chaton/gauche/
[Fri Sep 04 09:27:37 2009] [error] [client 127.0.0.1] 3 (chaton-with-exclusive-locking (lambda () (call-with-output-file | ..., referer: http://chaton/chaton/gauche/
[Fri Sep 04 09:27:37 2009] [error] [client 127.0.0.1] At line 24 of "/home/masahiro/www/chaton/gauche/chaton-poster-gauche", referer: http://chaton/chaton/gauche/
[Fri Sep 04 09:27:37 2009] [error] [client 127.0.0.1] 4 proc, referer: http://chaton/chaton/gauche/
[Fri Sep 04 09:27:37 2009] [error] [client 127.0.0.1] , referer: http://chaton/chaton/gauche/
[Fri Sep 04 09:27:37 2009] [error] [client 127.0.0.1] 5 (with-error-handler (lambda (e) (let ((e e)) (%guard-rec e e (else ..., referer: http://chaton/chaton/gauche/
[Fri Sep 04 09:27:37 2009] [error] [client 127.0.0.1] [unknown location], referer: http://chaton/chaton/gauche/
[Fri Sep 04 09:27:37 2009] [error] [client 127.0.0.1] 6 (cgi-main (lambda (params) (let ((nick (cgi-get-parameter
#アクセスログは
#%127.0.0.1 - - [04/Sep/2009:09:27:37 +0900] "POST /chaton/gauche/chaton-poster-gauche HTTP/1.1" 500 455 "http://chaton/chaton/gauche/" "Mozilla/5.0 (X11; U; Linux i686; ja; rv:1.9.0.13) Gecko/2009080315 Ubuntu/9.04 (jaunty) Firefox/3.0.13" #試しにDebianでもやってみたのですが、同じでした。
#posterが失敗してるのは確かなようですね。
#そのエラーログから推測すると、エラーハンドラ中でエラーが起きてて本来のエラーが隠されてるんですが、どうもロックファイルをつくろうとしたところでファイルがオープンできなくて死んでるっぽいです。
#confファイルのserver-data-dirで指定したディレクトリは存在していて、CGIプロセスから書き込み可能ですか?
#やってみます
#server-data-dirは間違いなく存在しています。CGIプロセスからの書き込みは、index.scmというcgiスクリプトを作ってserver-data-dirに書き込みできるかやってみたところ問題なくファイル作成、書き込みができました。
#ところで、chaton-archiver-$roomは関係ありますか?
#gosh build-site sample.confを実行した後に、$BINDIRで指定したディレクトリに作成された、chaton-archiver-$roomを実行しようとしたのですが、エラーが出て実行できませんでした。
#エラーログは
#% gosh chaton-archiver-gauche
*** ERROR: real number required: #f
Stack Trace:
_______________________________________
0 (do ((dis min-dis (dis+ dis 1))) ((>= dis today-dis)) (write-daily ...
At line 142 of "./chaton-archiver-gauche"
1 (with-error-handler (lambda (e) (let ((e e)) (%guard-rec e e (else ...
[unknown location]
2 (dynamic-wind (lambda () (set! tmp2a (verbose tmp1a)) (set! tmp2a ...
[unknown location]
#server-data-dirにあるlockファイルのアクセス権限を変更したところ、無事書き込みができるようになりました。
#あと、gosh chaton-arciver-$roomも無事実行できるようになりました。
#shiroさん、アドバイス本当にありがとうございました。
#また、どうしても分からないことができたら質問させてください。
#ああそうか、suexecを有効にしていない場合、viewerは起動者の権限で、posterはnobodyの権限で動作するわけだけど、最初にlockfileを作るのがviewerだからそのパーミッションが問題になるわけですね。
#lockfileを作る時に666にすれば大丈夫かな。
#そうみたいです。
#パーミッションの問題は初歩的ですがハマると大変ですね。今後気をつけます。
#Chatonはまだあまり汎用性を考えてはいないので、ハマりどころは多いと思います。