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: <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 = "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") #### 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 = "/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" -- Posted via http://www.ruby-forum.com/.