Can't display controllers with lighttpd

Hello,

I can see http://192.168.1.5/public/index.html

i’ve created a controller as it’s mentionned in the rails bible
(“agile web dev…” of M.Thomas)

If i try http://192.168.1.5/say i have an error “file not found”

I’ve really struggled a lot with this and already asked people at
#lighhtpd but i really can’t find the answer.

This is my config file, if someone could have a look at it it would
be really nice.

Best regards,

Jean-Jacques

I’m using debian stable and the latest version of lighttpd, this is
my config file:

lighttpd configuration file

use a it as base for lighttpd 1.0.0 and above

$Id: lighttpd.conf,v 1.7 2004/11/03 22:26:05 weigon Exp $

############ Options you really have to take care of
####################

modules to load

at least mod_access and mod_accesslog should be loaded

all other module should only be loaded if really neccesary

- saves some time

- saves memory

server.modules = (
“mod_rewrite”,
“mod_redirect”,
“mod_access”,

“mod_auth”,

“mod_status”,

    "mod_fastcgi",
    "mod_simple_vhost",
    #"mod_evhost",

“mod_cgi”,

    "mod_compress",

“mod_ssi”,

“mod_usertrack”,

“mod_rrdtool”,

    "mod_accesslog" )

a static document-root, for virtual-hosting take look at the

server.virtual-* options

server.document-root = “/var/www/”

where to send error-messages to

server.errorlog = “/var/log/lighttpd/error.log”

debug.log-request-handling = “enable”

files to check for if …/ is requested

server.indexfiles = ( “index.php”, “index.html”,
“index.htm”, “default.htm” )

mimetype mapping

mimetype.assign = (
“.pdf” => “application/pdf”,
“.sig” => “application/pgp-signature”,
“.spl” => “application/futuresplash”,
“.class” => “application/octet-stream”,
“.ps” => “application/postscript”,
“.torrent” => “application/x-bittorrent”,
“.dvi” => “application/x-dvi”,
“.gz” => “application/x-gzip”,
“.pac” => “application/x-ns-proxy-autoconfig”,
“.swf” => “application/x-shockwave-flash”,
“.tar.gz” => “application/x-tgz”,
“.tgz” => “application/x-tgz”,
“.tar” => “application/x-tar”,
“.zip” => “application/zip”,
“.mp3” => “audio/mpeg”,
“.m3u” => “audio/x-mpegurl”,
“.wma” => “audio/x-ms-wma”,
“.wax” => “audio/x-ms-wax”,
“.ogg” => “audio/x-wav”,
“.wav” => “audio/x-wav”,
“.gif” => “image/gif”,
“.jpg” => “image/jpeg”,
“.jpeg” => “image/jpeg”,
“.png” => “image/png”,
“.xbm” => “image/x-xbitmap”,
“.xpm” => “image/x-xpixmap”,
“.xwd” => “image/x-xwindowdump”,
“.css” => “text/css”,
“.html” => “text/html”,
“.htm” => “text/html”,
“.js” => “text/javascript”,
“.asc” => “text/plain”,
“.c” => “text/plain”,
“.conf” => “text/plain”,
“.text” => “text/plain”,
“.txt” => “text/plain”,
“.dtd” => “text/xml”,
“.xml” => “text/xml”,
“.mpeg” => “video/mpeg”,
“.mpg” => “video/mpeg”,
“.mov” => “video/quicktime”,
“.qt” => “video/quicktime”,
“.avi” => “video/x-msvideo”,
“.asf” => “video/x-ms-asf”,
“.asx” => “video/x-ms-asf”,
“.wmv” => “video/x-ms-wmv”
)

Use the “Content-Type” extended attribute to obtain mime type if

possible

mimetype.use-xattr = “enable”

accesslog module

accesslog.filename = “/var/log/lighttpd/access.log”

deny access the file-extensions

~ is for backupfiles from vi, emacs, joe, …

.inc is often used for code includes which should in general not be

part

of the document-root

url.access-deny = ( “~”, “.inc”,“.svn” )

######### Options that are good to be but not neccesary to be changed
#######

bind to port (default: 80)

server.port = 80

bind to localhost (default: all interfaces)

Server.bind = “grisu.home.kneschke.de

error-handler for status 404

Server.error-handler-404 = “/error-handler.html”
Server.error-handler-404 = “/error-handler.php”

to help the rc.scripts

server.pid-file = “/var/run/lighttpd.pid”

virtual hosts

If you want name-based virtual hosting add the next three

settings and load

mod_simple_vhost

document-root =

virtual-server-root + virtual-server-default-host + virtual-

server-docroot or

virtual-server-root + http-host + virtual-server-docroot

#simple-vhost.server-root = “/home/weigon/wwwroot/servers/”
#simple-vhost.default-host = “grisu.home.kneschke.de
#simple-vhost.document-root = “/pages/”

simple-vhost.server-root = “/var/www/jeanjacques/test/”
simple-vhost.default-host = “/var/www/jeanjacques/test/public/”
simple-vhost.document-root = “/public/”

Format: .html

→ …/status-404.html for ‘File not found’

Server.errorfile-prefix = “/home/weigon/projects/lighttpd/doc/
status-”

virtual directory listings

Server.dir-listing = “enable”

send unhandled HTTP-header headers to error-log

#debug.dump-unknown-headers = “enable”

only root can use these options

chroot() to directory (default: no chroot() )

Server.chroot = “/”

change uid to (default: don’t care)

server.username = “www-data”

change uid to (default: don’t care)

server.groupname = “www-data”

compress module

compress.cache-dir = “/var/tmp/lighttpd/cache/compress/”
compress.filetype = (“text/plain”, “text/html”)

fastcgi module

read fastcgi.txt for more info

#fastcgi.server = ( “.php” =>

( “localhost” =>

(

“socket” => “/tmp/php-fastcgi.socket”,

“bin-path” => “/usr/local/bin/php”

)

)

)

new way. include as many sockets as you want. I use 5.

$HTTP[“host”] =~ “192.168.5.10” {
server.document-root = “/var/www/jeanjacques/test/public”
#accesslog.filename = “/var/www/jeanjacques/test/lighttpd-logs/
access.log”
#errorlog.filename = “/var/log/lighttpd-logs/error.log”
server.indexfiles = ( “dispatch.fcgi”, “index.html” )
server.error-handler-404 = “/dispatch.fcgi”

fastcgi.server = (“.fcgi” =>
( “monsite.com” =>
( “min-procs” => 1,
“max-procs” => 5,
“socket” => “/tmp/test.fastcgi”,
“bin-path” => “/var/www/jeanjacques/test/public/dispatch.fcgi”,
“bin-environment” => ( “RAILS_ENV” => “production” )
)
)
)
}

#$SERVER[“socket”] == “127.0.0.1:443” {

ssl.pemfile = “/var/www/certs/localhost.pem”

ssl.engine = “enable”

server.document-root = “/var/www/htdocs/secure.example.org/pages/”

#}

CGI module

#cgi.assign = ( “.pl” => “/usr/bin/perl”,

“.cgi” => “/usr/bin/perl” )

SSL engine

#ssl.engine = “enable”
#ssl.pemfile = “server.pem”

status module

status.status-url = “/server-status”

status.config-url = “/server-config”

auth module

read authentification.txt for more info

auth.backend = “plain”

auth.backend.plain.userfile = “lighttpd.user”

auth.backend.plain.groupfile = “lighttpd.group”

auth.backend.ldap.hostname = “localhost”

auth.backend.ldap.base-dn = “dc=my-domain,dc=com”

auth.backend.ldap.filter = “(uid=$)”

auth.require = ( “/server-status” =>

(

“method” => “digest”,

“realm” => “download archiv”,

“require” => “group=www|user=jan|host=192.168.2.10”

),

“/server-info” =>

(

“method” => “digest”,

“realm” => “download archiv”,

“require” => “group=www|user=jan|host=192.168.2.10”

)

)

url handling modules (rewrite, redirect, access)

url.rewrite = ( “^/$” => "/server-

status" )

url.redirect = ( “^/wishlist/(.+)” => "http://www.

123.org/$1" )

define a pattern for the host url finding

%% => % sign

%0 => domain name + tld

%1 => tld

%2 => domain name without tld

%3 => subdomain 1 name

%4 => subdomain 2 name

evhost.path-pattern = “/home/storage/dev/www/%3/htdocs/”

expire module

expire.url = ( “/buggy/” => “access 2 hours”, "/

asdhas/" => “access plus 1 seconds 2 minutes”)

ssi

ssi.extension = ( “.shtml” )

rrdtool

rrdtool.binary = “/usr/bin/rrdtool”

rrdtool.db-name = “/var/www/lighttpd.rrd”