--- /dev/null
+#
+# Load the modules that we need
+#
+server.modules = (
+ "mod_access",
+ "mod_accesslog",
+ "mod_compress",
+ "mod_evasive",
+ "mod_fastcgi",
+ "mod_status"
+)
+
+#
+# Basic server configuration
+#
+server.username = "www-data"
+server.groupname = "www-data"
+server.pid-file = "/var/run/lighttpd.pid"
+
+#
+# Setup logging
+#
+accesslog.filename = "/var/log/lighttpd/access.log"
+server.errorlog = "/var/log/lighttpd/error.log"
+
+#
+# Allow munin to monitor the server's status
+#
+$HTTP["remoteip"] == "127.0.0.1" { status.status-url = "/server-status" }
+
+#
+# API 0.3 is long dead, so fail any attempt to access it without
+# getting rails involved at all
+#
+$HTTP["url"] =~ "^/api/0.3/" { url.access-deny = ("") }
+
+#
+# IP blocked at SteveC's request as it was trying to download the
+# history of every object in the database one at a time
+#
+$HTTP["remoteip"] == "143.210.16.160" { url.access-deny = ("") }
+
+#
+# Limit connections to 20 per IP address
+#
+evasive.max-conns-per-ip = 20
+
+#
+# Setup MIME type mapping
+#
+mimetype.assign = (
+ ".css" => "text/css",
+ ".gif" => "image/gif",
+ ".html" => "text/html",
+ ".js" => "application/x-javascript",
+ ".png" => "image/png",
+ ".swf" => "application/x-shockwave-flash",
+ ".txt" => "text/plain"
+)
+
+#
+# Serve static content from the rails public area ourselves
+#
+server.document-root = "/var/www/rails/public"
+
+#
+# Send everything else to the appropriate FastCGI server
+#
+server.error-handler-404 = "/dispatch.fcgi"
+$HTTP["url"] =~ "^/api/" { server.error-handler-404 = "/dispatch.api" }
+
+#
+# Configure the FastCGI servers
+#
+fastcgi.server = (
+ ".fcgi" => (
+ ( "host" => "127.0.0.1", "port" => 8000, "check-local" => "disable" ),
+ ( "host" => "127.0.0.1", "port" => 8001, "check-local" => "disable" ),
+ ( "host" => "127.0.0.1", "port" => 8002, "check-local" => "disable" ),
+ ( "host" => "127.0.0.1", "port" => 8003, "check-local" => "disable" ),
+ ( "host" => "127.0.0.1", "port" => 8004, "check-local" => "disable" ),
+ ( "host" => "127.0.0.1", "port" => 8005, "check-local" => "disable" )
+ ),
+ ".api" => (
+ ( "host" => "127.0.0.1", "port" => 8006, "check-local" => "disable" ),
+ ( "host" => "127.0.0.1", "port" => 8007, "check-local" => "disable" ),
+ ( "host" => "127.0.0.1", "port" => 8008, "check-local" => "disable" )
+ )
+)