{"id":1011,"date":"2009-05-25T17:03:49","date_gmt":"2009-05-25T15:03:49","guid":{"rendered":"http:\/\/www.zeroathome.de\/wordpress\/?p=1011"},"modified":"2009-05-25T17:03:49","modified_gmt":"2009-05-25T15:03:49","slug":"lighttpd-mit-vhosts-unter-ubuntu-hardy","status":"publish","type":"post","link":"https:\/\/www.zeroathome.de\/wordpress\/lighttpd-mit-vhosts-unter-ubuntu-hardy\/","title":{"rendered":"Lighttpd mit vHosts unter Ubuntu Hardy"},"content":{"rendered":"<p>Seit einiger Zeit tendiere ich dazu <a title=\"Lighttpd\" href=\"http:\/\/www.lighttpd.net\/\" target=\"_blank\">Lighttpd<\/a> dem guten alten <a title=\"Apache Webserver\" href=\"http:\/\/apache.org\/\" target=\"_blank\">Apachen<\/a> vorzuziehen. Hauptgrund daf\u00fcr ist aber weniger die immer wieder hervorgehobene bessere Performance (nicht umsonst setzen z.B. YouTube und MySpace auf den Ultraleichtflieger), sondern das mir die Konfiguration einfach etwas unkomplizierter erscheint als beim, vielleicht etwas m\u00e4chtigeren, aber daf\u00fcr auch un\u00fcbersichtlicheren Apachen. Eigentlich auch egal, denn jeder sollte ja selbst entscheiden wem er den Vorzug gibt.<\/p>\n<p>Eingerichtet wird Lighty hier mit <strong>PHP 5<\/strong> und dem Modul <strong>&#8217;simple_vhost&#8216;<\/strong>, mit dem sehr einfach mehrere virtuelle Hosts angelegt werden k\u00f6nnen.<\/p>\n<p>Wenn wir fertig sind, werden die Seiten unter folgender Ordner-\/Dateistruktur organisiert sein:<\/p>\n<p><strong>\/var\/www\/servers<\/strong> &#8211; quasi das Hauptverzeichnis des Webservers, hierin werden die virtuellen Hosts angelegt<\/p>\n<p><strong>\/var\/www\/servers\/example.com<\/strong> &#8211; Ein Beispiel f\u00fcr einen virtuellen Host<\/p>\n<p><strong>\/var\/www\/servers\/example.com\/htdocs<\/strong> &#8211; Hier landen die Dateien, die beim Aufruf von &#8222;http:\/\/example.com&#8220; angezeigt werden sollen<\/p>\n<p><strong>\/var\/www\/servers\/example.com\/logs<\/strong> &#8211; Hier werden die Logdateien gesammelt<\/p>\n<p><strong>\/var\/www\/servers\/example.com\/server.conf<\/strong> &#8211; In dieser Datei wird die Konfiguration f\u00fcr den Host vorgenommen<\/p>\n<p>So, aber nun direkt rein ins Get\u00fcmmel und die Installation starten:<\/p>\n<h3>Installieren<\/h3>\n<pre lang=\"bash\">sudo apt-get install lighttpd php5-cgi<\/pre>\n<h3>Module aktivieren<\/h3>\n<p>Danach werden die oben angesprochenen Module aktiviert (&#8218;fastcgi&#8216; wird f\u00fcr die Anbindung an PHP ben\u00f6tigt):<\/p>\n<pre lang=\"bash\">sudo lighty-enable-mod fastcgi\nsudo lighty-enable-mod simple-vhost<\/pre>\n<p style=\"text-align: left;\">Nach einem &#8217;sudo \/etc\/init.d\/lighttpd force-reload&#8216; sollte der der Webserver bereits unter <a href=\"http:\/\/localhost\">http:\/\/localhost<\/a> erreichbar sein.<\/p>\n<p style=\"text-align: center;\"><a href=\"http:\/\/www.zeroathome.de\/images\/lighty-test.png\"><img loading=\"lazy\" decoding=\"async\" class=\"size-medium wp-image-1016 aligncenter\" title=\"Lighttpd Testseite\" src=\"\/\/www.zeroathome.de\/images\/lighty-test-300x150.png\" alt=\"Lighttpd Testseite\" width=\"300\" height=\"150\" srcset=\"https:\/\/zeroathome.de\/images\/lighty-test-300x150.png 300w, https:\/\/zeroathome.de\/images\/lighty-test.png 800w\" sizes=\"(max-width: 300px) 100vw, 300px\" \/><\/a><\/p>\n<h3>Konfiguration von mod_simple_vhost<\/h3>\n<p>Ausgegangen von der oben erkl\u00e4rten Ordnerstruktur m\u00fcssen die drei Optionen des &#8218;mod_simple_vost&#8216; in der Datei &#8218;\/etc\/lighttpd\/conf-available\/10-simple-vhost.conf&#8216; folgenderma\u00dfen konfiguriert werden:<\/p>\n<pre lang=\"bash\">simple-vhost.server-root         = \"\/var\/www\/servers\/\"\nsimple-vhost.document-root       = \"\/htdocs\/\"\nsimple-vhost.default-host        = \"example.com\"<\/pre>\n<p>Anstatt &#8218;example.com&#8216; muss dort nat\u00fcrlich eure Standarddomain stehen!<\/p>\n<p>Danach sollten die angelegten vHosts unter der jeweiligen Domain erreichbar sein.\u00a0 Dazu ein kleines Beispiel:<\/p>\n<p>Wenn im Browser die Adresse &#8218;http:\/\/zeroathome.de\/dingsbums.html&#8216; aufgerufen werden w\u00fcrde, w\u00fcrde das zur Anzeige der Datei &#8218;\/var\/www\/servers\/zeroathome.de\/htdocs\/dingsbums.html&#8216; f\u00fchren.<\/p>\n<p>Nach einem &#8218;\/etc\/init.d\/lighttpd force-reload&#8216; k\u00f6nnen neue vHosts unterhalb von &#8218;\/var\/www\/servers\/&#8216; angelegt werden.<\/p>\n<h3>Konfiguration der einzelnen vHosts<\/h3>\n<p>Problem bei dieser Variante der vHost-Konfiguration ist, dass die Konfiguration der einzelnen Hosts nicht so einfach ist. Doch Opensource w\u00e4re nicht was es ist, wenn es nicht auch daf\u00fcr eine relativ einfache L\u00f6sung g\u00e4be. (Die Grundversion stammt \u00fcbrigens von hier, wurde von mir nur leicht angepasst: <a title=\"Lighttpd Wiki - per vHost Configuration\" href=\"http:\/\/redmine.lighttpd.net\/projects\/lighttpd\/wiki\/HowToSupportConfigurationPerVirtualHost\" target=\"_blank\">http:\/\/redmine.lighttpd.net\/projects\/lighttpd\/wiki\/HowToSupportConfigurationPerVirtualHost<\/a>)<\/p>\n<p>Dazu wird die folgende Zeile in die Datei &#8218;\/etc\/lighttpd\/conf-available\/10-simple-vhost.conf&#8216; eingef\u00fcgt, die dazu f\u00fchrt das ein kleines Skript ausgef\u00fchrt wird:<\/p>\n<pre lang=\"bash\">include_shell \"\/var\/www\/servers\/config_servers\"<\/pre>\n<p>Anschlie\u00dfend wird die Datei &#8218;\/var\/www\/servers\/config_servers&#8216; angelegt und mit diesem Inhalt bef\u00fcllt:<\/p>\n<pre lang=\"bash\">#!\/bin\/bash\n\nfor VHOST in `find \/var\/www\/servers\/ -mindepth 1 -maxdepth 1  \\( -type d -or -type l \\) -exec test -e \"{}\/server.conf\" \\; -exec basename \"{}\" \\; 2&gt;\/dev\/null` ; do {\n  echo \"\\$HTTP[\\\"host\\\"] == \\\"$VHOST\\\" {\"\n  echo \"var.vhost_name = \\\"$VHOST\\\"\"\n  echo \"var.vhost_path = \\\"\/var\/www\/servers\/$VHOST\\\"\"\n  cat \"\/var\/www\/servers\/$VHOST\/server.conf\"\n  echo \"server.errorlog = \\\"\/var\/www\/servers\/$VHOST\/logs\/error.log\\\"\",\n  echo \"accesslog.filename = \\\"\/var\/www\/servers\/$VHOST\/logs\/access.log\\\"\"\n  echo \"}\"\n} ; done<\/pre>\n<p>Zu guter Letzt wird die Datei noch ausf\u00fchrbar gemacht:<\/p>\n<pre lang=\"bash\">sudo chown www-data:www-data \/var\/www\/servers\/config_servers\nsudo chmod u+x \/var\/www\/servers\/config_servers<\/pre>\n<p>Dann nat\u00fcrlich noch ein &#8218;\/etc\/init.d\/lighttpd force-reload&#8216; und die neue Konfiguration ist \u00fcbernommen.<\/p>\n<p>Die Konfigurationsdatei muss dann, wie oben bereits erw\u00e4hnt unter &#8218;\/var\/www\/servers\/example.com\/server.conf&#8216; liegen um ber\u00fccksichtigt zu werden. Nachdem eine neue Konfigurationsdatei hinzugef\u00fcgt wurde oder eine vorhandene ge\u00e4ndert wurde, muss immer ein &#8218;\/etc\/init.d\/lighttpd force-reload&#8216; erfolgen, sonst ist die Konfiguration nicht wirksam!<\/p>\n<h3>Fertig!<\/h3>\n<p>So, das wars bereits. Ein Grundkonfigurierter Lighty fertig f\u00fcr die Arbeit als lokaler oder Internet-Webserver. Wenn gew\u00fcnscht gibts demn\u00e4chst noch einige Erweiterungen, wie zum Beispiel SSL oder WebDAV.<\/p>\n<p>Alle Angaben nat\u00fcrlich wie immer ohne Gew\u00e4hr und alles auf eigene Gefahr und so!<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Seit einiger Zeit tendiere ich dazu Lighttpd dem guten alten Apachen vorzuziehen. Hauptgrund daf\u00fcr ist aber weniger die immer wieder hervorgehobene bessere Performance (nicht umsonst setzen z.B. YouTube und MySpace auf den Ultraleichtflieger), sondern das mir die Konfiguration einfach etwas unkomplizierter erscheint als beim, vielleicht etwas m\u00e4chtigeren, aber daf\u00fcr auch un\u00fcbersichtlicheren Apachen. Eigentlich auch egal, [&hellip;]<\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[11,26,10,27,400],"tags":[270,453,450,452,454,169,213,616,451,375],"_links":{"self":[{"href":"https:\/\/www.zeroathome.de\/wordpress\/wp-json\/wp\/v2\/posts\/1011"}],"collection":[{"href":"https:\/\/www.zeroathome.de\/wordpress\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.zeroathome.de\/wordpress\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.zeroathome.de\/wordpress\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/www.zeroathome.de\/wordpress\/wp-json\/wp\/v2\/comments?post=1011"}],"version-history":[{"count":0,"href":"https:\/\/www.zeroathome.de\/wordpress\/wp-json\/wp\/v2\/posts\/1011\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.zeroathome.de\/wordpress\/wp-json\/wp\/v2\/media?parent=1011"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.zeroathome.de\/wordpress\/wp-json\/wp\/v2\/categories?post=1011"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.zeroathome.de\/wordpress\/wp-json\/wp\/v2\/tags?post=1011"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}