====== Konfigurace vhostů ====== Tyto konfigurace dáváme do **/etc/lighttpd/sites-available/** a zapínáme symlinkem ze sites-available do sites-enabled/jmeno.conf. ===== default.conf ===== Základní stránka pro statický web bez PHP. # Default vhost $HTTP["host"] == "site.example.com" { server.document-root = "/var/www/html" include "snippets/example.com-certs.conf" include "snippets/http-to-https.conf" } ===== php.conf ===== Stránka pro weby v PHP. # PHP vhost $HTTP["host"] == "php.example.com" { server.document-root = "/var/www/php" index-file.names = ("index.php", "index.html") include "snippets/example.com-certs.conf" include "snippets/http-to-https.conf" ## Start an FastCGI server for php (needs the php5-cgi package) fastcgi.server += ( ".php" => (( "bin-path" => "/usr/bin/php-cgi", "socket" => "/var/run/lighttpd/php.socket", "max-procs" => 1, "bin-environment" => ( "PHP_FCGI_CHILDREN" => "4", "PHP_FCGI_MAX_REQUESTS" => "10000" ), "bin-copy-environment" => ( "PATH", "SHELL", "USER" ), "broken-scriptfilename" => "enable" )) ) } ===== perl.conf ===== Pro stránky v PERLu.. # Perl vhost $HTTP["host"] == "perl.example.com" { server.document-root = "/var/www/perl" alias.url = ( "/cgi" => "/var/www/perl/cgi/" ) $HTTP["url"] =~ "^/cgi/" { cgi.assign = (".cgi" => "/usr/bin/perl") } include "snippets/example.com-certs.conf" include "snippets/http-to-https.conf" } ===== c.conf ===== Pro stránky v C. # C vhost $HTTP["host"] == "c.example.com" { server.document-root = "/var/www/c" index-file.names = ("index.c") #Nahradit jménem spustitelné binárky $HTTP["url"] =~ "/" { cgi.assign = (".c" => "") } include "snippets/example.com-certs.conf" include "snippets/http-to-https.conf" } ===== ruby.conf ===== # Ruby vhost $HTTP["host"] == "ruby.example.com" { server.document-root = "/var/www/ruby" cgi.assign = ( ".rb" => "/usr/bin/ruby", ".erb" => "/usr/bin/eruby", ) include "snippets/example.com-certs.conf" include "snippets/http-to-https.conf" } ===== gitea.conf ===== Toto bylo trošičku složitější kvůli trablím s aliasem, který se gitea rozhodla ignorovat. Není to tak elegantní ale funguje to. Aneb když nešel Mohamed k hoře, šla hora k Mohamedovi. # Gitea vhost $HTTP["host"] == "git.example.com" { include "snippets/example.com-certs.conf" $HTTP["scheme"] == "http" { # but not the letsencrypt webroot ... $HTTP["url"] =~ "^/\.well-known" { alias.url += ( "/.well-known/" => "/var/www/dehydrated/.well-known/" ) } # Normal redirect to HTTPS while we get HTTP request $HTTP["url"] !~ "^/\.well-known" { $HTTP["host"] =~ ".*" { url.redirect = ( ".*" => "https://%0$0" ) } } } # Finally HTTP request, lets proxy it as we need $HTTP["scheme"] == "https" { proxy.server = ( "" => ( ( "host" => "127.0.0.1", "port" => 3000 ) ) ) } }