From 7e7e88d4ad53f67d77bee3e2ea3324659c3bcf2d Mon Sep 17 00:00:00 2001 From: Thomas Willingham Date: Fri, 1 Mar 2013 19:55:33 +0000 Subject: [PATCH] Add sample lighttpd config, from the mailing list. --- mods/sample-Lighttpd.config | 134 ++++++++++++++++++++++++++++++++++++ 1 file changed, 134 insertions(+) create mode 100644 mods/sample-Lighttpd.config diff --git a/mods/sample-Lighttpd.config b/mods/sample-Lighttpd.config new file mode 100644 index 000000000..66d00585d --- /dev/null +++ b/mods/sample-Lighttpd.config @@ -0,0 +1,134 @@ +Below is a sample config for Lighttpd that +seems to work well on Debian Squeeze, with "lighttpd/1.4.28 (ssl)" + +The idea is: if someone enters the bare URL for my site, 'example.com', +they get redirected to https://example.com/index.html, which is simply a +page with two links on it: https://wordpress.example.com and +https://friendica.example.com. + +If someone enters https://example.com, they get redirected to +https://wordpress.example.com/main/, which is the 'main' blog in a Word +Press 'network install' of the 'subdirectory' variety. + +I thought it might be nice to offer people who join my Friendica +instance their own blogs, if they like. + +One can obtain free, signed, single subdomain SSL certificates from +StartCom CA, which upon checking I noticed was already installed in both +Firefox and Google Chromium. Info at http://cert.startcom.org/ . So I +got one for each site, and have Lighty use the appropriate cert based on +the requested URL. + +Enjoy! + +---------------( config starts )----------------- + +debug.log-request-handling = "disable" +debug.log-condition-handling = "disable" + +server.modules = ( + "mod_access", + "mod_alias", + "mod_compress", + "mod_redirect", + "mod_fastcgi", + "mod_rewrite" +) + +server.document-root = "/var/www" +server.upload-dirs = ( "/var/cache/lighttpd/uploads" ) +server.errorlog = "/var/log/lighttpd/error.log" +server.pid-file = "/var/run/lighttpd.pid" +server.username = "www-data" +server.groupname = "www-data" + +ssl.engine = "enable" +ssl.pemfile = "/etc/lighttpd/ssl/wordpress.pem" +ssl.ca-file = "/etc/lighttpd/ssl/ca.pem" + +# Send everybody to landing +page: +$SERVER["socket"] == ":80" { + +$HTTP["scheme"] == "http" { + $HTTP["host"] =~ ".*" { + # This next redirect doesn't appear to ever execute in +Firefox + # (sometimes, anyway -- caching issue?), but it does seem +to + # reliably in Google's Chromium browser. If I change it +here + # and restart Lighty, Firefox still goes to the URL in +the + # last 'else' below. Or something. +Sometimes. + server.document-root = "/var/www" + url.redirect = (".*" => "https://example.com") + } +} + +} +else $SERVER["socket"] == ":443" { + +$HTTP["scheme"] == "https" { + + $HTTP["host"] == "wordpress.example.com" { + server.document-root = "/var/www/wordpress" + ssl.pemfile = "/etc/lighttpd/ssl/wordpress.pem" + # include +"wpmu-rewrites.conf" + url.rewrite-if-not-file = ( + "^/(.*/)?files/$" => "/index.php", + "^/(.*/)?files/(.*)" => "/wp-includes/ms-files.php?file=$2", + "^(/wp-admin/.*)" => "$1", + "^/([_0-9a-zA-Z-]+/)?(wp-.*)" => "/$2", + "^/([_0-9a-zA-Z-]+/)?(.*\.php)" => "/$2", + "^/(.*)/?$" => "/index.php/$1" + ) + } + else $HTTP["host"] == "friendica.example.com" { + server.document-root = "/var/www/friendica" + ssl.pemfile = "/etc/lighttpd/ssl/friendica.pem" + # Got the following 'Drupal Clean URL'after Mike suggested +trying + # something along those lines, from +http://drupal.org/node/1414950 + url.rewrite-if-not-file = ( + "^\/([^\?]*)\?(.*)$" => "/index.php?q=$1&$2", + "^\/(.*)$" => "/index.php?q=$1" + ) + } + else $HTTP["host"] !~ "(friendica.example.com|wordpress.example.com)" { + server.document-root = "/var/www/wordpress" + ssl.pemfile = "/etc/lighttpd/ssl/wordpress.pem" + url.redirect = (".*" => "https://wordpress.example.com/main/") + } +} + +} + +index-file.names = ( "index.php", "index.html", + "index.htm", "default.htm", + "index.lighttpd.html" ) + +url.access-deny = ( "~", ".inc" ) + +static-file.exclude-extensions = ( ".php", ".pl", ".fcgi" ) + +include_shell "/usr/share/lighttpd/use-ipv6.pl" + +dir-listing.encoding = "utf-8" +server.dir-listing = "disable" + +#compress.cache-dir = +"/var/cache/lighttpd/compress/" +#compress.filetype = ( "application/x-javascript", "text/css", +"text/html", "text/p\ +lain" +) + + +include_shell "/usr/share/lighttpd/create-mime.assign.pl" +include_shell "/usr/share/lighttpd/include-conf-enabled.pl" + +---------------( config ends )----------------- \ No newline at end of file