# Ruby httpd/cgi server for a directory

**URL:** <https://www.ruby-forum.com/t/ruby-httpd-cgi-server-for-a-directory/64856>\
**Category:** Ruby\
**Created:** [August 15, 2006, 2:19pm UTC](https://www.ruby-forum.com/t/ruby-httpd-cgi-server-for-a-directory/64856 "2006-08-15T14:19:52Z")\
**Posts on this page:** 5\
**Page:** 1

<div class="post-metadata">

**Author:** ![jim](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/j/ac91a4/32.png) [@jim](https://www.ruby-forum.com/u/jim)\
**Post date:** [August 15, 2006, 2:19pm UTC](https://www.ruby-forum.com/t/ruby-httpd-cgi-server-for-a-directory/64856/1 "2006-08-15T14:19:52Z")

</div>

Hello,

I have a set of ruby scripts I run manually from the command line. I’d  
like to put a simple web front-end to them and use them as cgi scripts.  
I also want to be able to keep them on a USB stick and run them  
anywhere Ruby is installed. All config files and generated data will be  
read and written to the directory.

Which is the best/easiest to use: webrick, lighttpd, mongrel, or  
something else?

Thanks

---

<div class="post-metadata">

**Author:** ![jim](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/j/ac91a4/32.png) [@jim](https://www.ruby-forum.com/u/jim)\
**Post date:** [August 15, 2006, 2:19pm UTC](https://www.ruby-forum.com/t/ruby-httpd-cgi-server-for-a-directory/64856/2 "2006-08-15T14:19:53Z")

</div>

On Mon, 14 Aug 2006, Jim wrote:

> I have a set of ruby scripts I run manually from the command line. I’d  
> like to put a simple web front-end to them and use them as cgi scripts.  
> I also want to be able to keep them on a USB stick and run them  
> anywhere Ruby is installed. All config files and generated data will be  
> read and written to the directory.
> 
> Which is the best/easiest to use: webrick, lighttpd, mongrel, or  
> something else?

webrick. It’s standard with Ruby and is capable and flexible. It’s not  
nearly so fast as mongrel, but is plenty fast for what you describe.

Kirk H.

---

<div class="post-metadata">

**Author:** ![jim](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/j/ac91a4/32.png) [@jim](https://www.ruby-forum.com/u/jim)\
**Post date:** [August 15, 2006, 2:52pm UTC](https://www.ruby-forum.com/t/ruby-httpd-cgi-server-for-a-directory/64856/3 "2006-08-15T14:52:21Z")

</div>

Thanks, fellers.

---

<div class="post-metadata">

**Author:** ![jim](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/j/ac91a4/32.png) [@jim](https://www.ruby-forum.com/u/jim)\
**Post date:** [August 15, 2006, 2:20pm UTC](https://www.ruby-forum.com/t/ruby-httpd-cgi-server-for-a-directory/64856/4 "2006-08-15T14:20:06Z")

</div>

On Mon, 2006-08-14 at 22:50 +0900, removed\_email\_address@domain.invalid wrote:

> webrick. It’s standard with Ruby and is capable and flexible. It’s not  
> nearly so fast as mongrel, but is plenty fast for what you describe.

Yep, webrick’s the way to go there. That way no extra software is  
installed.

---

<div class="post-metadata">

**Author:** ![jim](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/j/ac91a4/32.png) [@jim](https://www.ruby-forum.com/u/jim)\
**Post date:** [August 17, 2006, 4:41pm UTC](https://www.ruby-forum.com/t/ruby-httpd-cgi-server-for-a-directory/64856/5 "2006-08-17T16:41:28Z")

</div>

Jim wrote:

> Thanks, fellers.

# Well, I can’t seem to get this to work. Any suggestions?

# server.rb:

#!/usr/local/bin/ruby  
require ‘webrick’  
include WEBrick

s = HTTPServer.new(  
:Port =\> 2000,  
:DocumentRoot =\> Dir::pwd  
)

trap(“INT”){ s.shutdown }  
s.start

# ===== test.cgi: (in same sirectory as server.rb)

#!c:/ruby/bin/ruby.exe

# 

print “Content-type: text/html\n\n”

# puts “Hi”

I get

Internal Server Error  
Premature end of script headers: E:/directory/test.cgi  
WEBrick/1.3.1 (Ruby/1.8.4/2006-04-14) at localhost:2000
