Forum: Ruby on Rails can't display controllers with lighttpd

Announcement (2017-05-07): www.ruby-forum.com is now read-only since I unfortunately do not have the time to support and maintain the forum any more. Please see rubyonrails.org/community and ruby-lang.org/en/community for other Rails- und Ruby-related community platforms.
user (Guest)
on 2005-11-14 19:53
(Received via mailing list)
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: <errorfile-prefix><status>.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 <uid> (default: don't care)
server.username            = "www-data"

## change uid to <uid> (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"
This topic is locked and can not be replied to.