Hi I thought it was time to test my app out on a real server. So i have
installed lighttpd following the instruction on the rails wiki.
everything seems to work fine except the file upload page. It doesn’t
throw any errors, it just doesn’t seem to write the image to disk.
Nothing is printed to the lighttpd error log when the file upload fails.
I thought it might be my code but i downloaded the code from the rails
recipes book and tested the processingimage recipe and the same thing
happens. I installed lighttpd and libfcgi-ruby1.8 using synaptic. Below
is my lighttpd.conf. I would be very grateful for any and all
suggestions. Totally new to lighttpd and don;t know what else to try.
regards
C
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_access”,
“mod_alias”,
“mod_accesslog”,
“mod_rewrite”,
“mod_redirect”,
“mod_fastcgi”,
“mod_status”,
“mod_evhost”,
“mod_compress”,
“mod_usertrack”,
“mod_rrdtool”,
“mod_webdav”,
“mod_expire”,
“mod_flv_streaming”,
“mod_evasive”
)
server.max-request-size = 100000
$HTTP[“useragent”] =~ “^(.MSIE.)|(.AppleWebKit.)$” {
server.max-keep-alive-requests = 0
}
new way. include as many sockets as you want. I use 5.
fastcgi.server = (“.fcgi” => ( “V_O_2” =>
( “min-procs” => 1,
“max-procs” => 5,
“socket” => “/tmp/V_O_2.fastcgi”,
“bin-path” => “/home/ghost/user/V_O_2/public/dispatch.fastcgi”
)
))
a static document-root, for virtual-hosting take look at the
server.virtual-* options
server.document-root = “/home/ghost/user/V_O_2/public”
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 = “localhost”
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: .html
→ …/status-404.html for ‘File not found’
Server.errorfile-prefix = “/var/www/”
virtual directory listings
dir-listing.encoding = “utf-8”
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”)
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/(.+)” =>
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”)
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”