134 lines
4.6 KiB
Text
134 lines
4.6 KiB
Text
|
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 )-----------------
|