Your message dated Fri, 27 Oct 2006 15:28:30 +0200
with message-id <[EMAIL PROTECTED]>
and subject line already fixed
has caused the attached Bug report to be marked as done.

This means that you claim that the problem has been dealt with.
If this is not the case it is now your responsibility to reopen the
Bug report if necessary, and/or fix the problem forthwith.

(NB: If you are a system administrator and have no idea what I am
talking about this indicates a serious mail system misconfiguration
somewhere.  Please contact me immediately.)

Debian bug tracking system administrator
(administrator, Debian Bugs database)

--- Begin Message ---
package:lighttpd
version: 1.4.13-2


Installed rails from rubygems and deployed an app. Rails app works but I 
couldn't access static content in (application path)/public/images even if 
permissions check.

lighttpd displays the app-configured 404 page and rails logs utter:

ActionController::RoutingError (Recognition failed for "/images/rails.png"):
    
/var/lib/gems/1.8/gems/actionpack-1.12.5/lib/action_controller/routing.rb:522:in
 `recognition_failed'
    
/var/lib/gems/1.8/gems/actionpack-1.12.5/lib/action_controller/routing.rb:512:in
 `recognize!'
    /var/lib/gems/1.8/gems/rails-1.1.6/lib/dispatcher.rb:38:in `dispatch'
    /var/lib/gems/1.8/gems/rails-1.1.6/lib/fcgi_handler.rb:150:in 
`process_request'
    /var/lib/gems/1.8/gems/rails-1.1.6/lib/fcgi_handler.rb:54:in `process!'
    /usr/lib/ruby/1.8/fcgi.rb:612:in `each_cgi'
    /usr/lib/ruby/1.8/fcgi.rb:609:in `each'
    /usr/lib/ruby/1.8/fcgi.rb:609:in `each_cgi'
    /var/lib/gems/1.8/gems/rails-1.1.6/lib/fcgi_handler.rb:53:in `process!'
    /var/lib/gems/1.8/gems/rails-1.1.6/lib/fcgi_handler.rb:23:in `process!'
    /var/www/AreaSezione/public/dispatch.fcgi:24

In fact renaming images to something else makes content accessible (breaking 
the rails app). The problems seems to be in this part of debian lighttpd.conf: 

#### handle Debian Policy Manual, Section 11.5. urls
#### and by default allow them only from localhost

$HTTP["host"] == "localhost" {
        global {
                alias.url += (
                        "/doc/" => "/usr/share/doc/",
                        "/images/" => "/usr/share/images/
                )
        }
        dir-listing.activate = "enable"
}


if I remove it or change "images" to something else, images dir becomes 
accessible again (and there is much rejoicing :) ).


Of course it could be not a bug, just me misconfiguring lighttpd, or dns. DNS 
has an A record for the app exclusive hostname to the server ip.
$ dig areasezione.no-ip.org

; <<>> DiG 9.3.2-P1 <<>> [domainfortheapp]
;; global options:  printcmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 38457
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 0

;; QUESTION SECTION:
;[domainfortheapp].         IN      A

;; ANSWER SECTION:
[domainfortheapp].  60      IN      A       [IPfortheapp]


 And here is the Not Working lighttpd.config

# Debian lighttpd configuration file
#

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

## modules to load
# mod_access, mod_accesslog and mod_alias are loaded by default
# all other module should only be loaded if neccesary
# - saves some time
# - saves memory

server.modules              = (
        "mod_fastcgi",
            "mod_access",
            "mod_alias",
            "mod_accesslog",
           "mod_rewrite",
#           "mod_redirect",
#           "mod_status",
#           "mod_evhost",
           "mod_compress",
#           "mod_usertrack",
#           "mod_rrdtool",
#           "mod_webdav",
           "mod_expire",
#           "mod_flv_streaming",
#           "mod_evasive"
 )

## 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"

## files to check for if .../ is requested
index-file.names           = ( "index.php", "index.html",
                               "index.htm", "default.htm" )


## 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" )



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

## bind to port (default: 80)
#server.port               = 81

## bind to localhost only (default: all interfaces)
server.bind                = "IPOFTHEAPP"

## 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"

##
## Format: <errorfile-prefix><status>.html
## -> ..../status-404.html for 'File not found'
#server.errorfile-prefix    = "/var/www/"

## virtual directory listings
dir-listing.encoding        = "utf-8"
server.dir-listing          = "disable"

## 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")

#### status module
# status.status-url = "/server-status"
# status.config-url = "/server-config"

#### 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 = "/var/www/%2/htdocs/"

#### expire module
# expire.url                  = ( "/buggy/" => "access 2 hours", "/asdhas/" => 
"access plus 1 seconds 2 minutes")

#### rrdtool
# rrdtool.binary = "/usr/bin/rrdtool"
# rrdtool.db-name = "/var/www/lighttpd.rrd"

## this is a hack
alias.url = ("___invalid___" => "___invalid___")

#### handle Debian Policy Manual, Section 11.5. urls
#### and by default allow them only from localhost

$HTTP["host"] == "localhost" {
        global {
                alias.url += (
                        "/doc/" => "/usr/share/doc/",
                        "/images/" => "/usr/share/images/"
                )
        }
        dir-listing.activate = "enable"
}

#### variable usage:
## variable name without "." is auto prefixed by "var." and becomes "var.bar"
#bar = 1
#var.mystring = "foo"

## integer add
#bar += 1
## string concat, with integer cast as string, result: "www.foo1.com"
#server.name = "www." + mystring + var.bar + ".com"
## array merge
#index-file.names = (foo + ".php") + index-file.names
#index-file.names += (foo + ".php")


#### external configuration files
## mimetype mapping
include_shell "/usr/share/lighttpd/create-mime.assign.pl"

## load enabled configuration files,
## read /etc/lighttpd/conf-available/README first
include_shell "/usr/share/lighttpd/include-conf-enabled.pl"

# NOTE I REMOVED FCGI stuff from conf-enabled and put it in this file

# lighttpd.conf entry to transparently add ssl
$SERVER["socket"] == "IPFORTHEAPP:443" {
  ssl.pemfile = "...../key-cert.pem"
  ssl.ca-file = "....../cacert.pem"
  ssl.engine = "enable"
}


$HTTP["host"] =~ "(^|\.)URLFORTHEAPP$" {

server.error-handler-404 = "/dispatch.fcgi"
server.document-root     = "/var/www/app/public/"

server.errorlog          = "/var/www/app/log/lighttpd.error.log"
accesslog.filename       = "/var/www/app/log/lighttpd.access.log"

url.rewrite              = ( "^/$" => "index.html", "^([^.]+)$" => "$1.html" )

compress.filetype        = ( "text/plain", "text/html", "text/css", 
"text/javascript" )
compress.cache-dir       = "/var/www/AreaSezione/tmp/cache"

expire.url               = ( "/favicon.ico"  => "access 3 days",
                             "/images/"      => "access 3 days",
                             "/stylesheets/" => "access 3 days",
                             "/javascripts/" => "access 3 days" )




fastcgi.server      = ( ".fcgi" => ( "localhost" => (
  "min-procs"       => 1,
  "max-procs"       => 2,
  "socket"          => "/var/www/app/tmp/sockets/fcgi.socket",
  "bin-path"        => "/var/www/app/public/dispatch.fcgi",
  "bin-environment" => ( "RAILS_ENV" => "production" )
) ) )

}


$HTTP["useragent"] =~ "^(.*MSIE.*)|(.*AppleWebKit.*)$" {
  server.max-keep-alive-requests = 0
}



__________________________________________________
Do You Yahoo!?
Poco spazio e tanto spam? Yahoo! Mail ti protegge dallo spam e ti da tanto 
spazio gratuito per i tuoi file e i messaggi 
http://mail.yahoo.it


--- End Message ---
--- Begin Message ---
stop
-- 
[EMAIL PROTECTED]

       jak to dobrze, że są oceany - bez nich byłoby jeszcze smutniej

--- End Message ---

Reply via email to