Sam Waller wrote:

/ ...

> [Fri Dec 08 13:52:30 2006] [error] [client 127.0.0.1] (2)\xd9\x05i\xb7:
> [exec of
> '/var/www/site/test.rb' failed
> [Fri Dec 08 13:52:30 2006] [error] [client 127.0.0.1] Premature end of
> [script headers: test.rb

This reveals a common error. Your Ruby script has to emit this as its first
output:

print "Content-type:text/html\r\n\r\n"

There is a similar feature that is automatically provided in the CGI support
library. But if you will add the above to your script, it should prevent
the failure.

> test.rb just contains this:
> 
> #!/usr/bin/ruby
> print "Content-type: text/html\r\n\r\n"
> print "<html><body>Hello World!</body></html>\r\n"

Well, that takes care of my theory. The error message is consistent with my
analysis, but this appears to meet the requirement I suggested. You could
take the space out, the one between "type:" and "text/html", but that is a
long shot.

Other possibilities are wrong file permissions, wrong path to the Ruby
interpreter, things like that.

You could get more information by reading the URL using the 'net/http'
library:

require 'net/http'

http = Net::HTTP.new('localhost', 80)
resp, page = http.get('/(path to page)', nil )

This provides a lot of detail, some of which might be useful in resolving
the error.

-- 
Paul Lutus
http://www.arachnoid.com