Friendica Communications Platform
(please note that this is a clone of the repository at github, issues are handled there)
https://friendi.ca
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
138 lines
4.3 KiB
138 lines
4.3 KiB
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" |
|
|
|
# enable SSL |
|
ssl.engine = "enable" |
|
ssl.pemfile = "/etc/lighttpd/ssl/wordpress.pem" |
|
ssl.ca-file = "/etc/lighttpd/ssl/ca.pem" |
|
|
|
# fix for problem between curl and lighttpd |
|
server.reject-expect-100-with-417 = "disable" |
|
|
|
# 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 )-----------------
|
|
|