Lighttpd – jak stworzyć virtual-hosty
Konfiguracja Lighttpd (potocznie lighty) nieco różni się od flagowego Apache’a, jak skonfigurować w nim wirtualne hosty? Oto sposób:
Punktem wyjściowym do dodania nowego hosta w systemie jest edycja pliku /etc/hosts
sudo nano /etc/hosts
domyślnie może wyglądać on tak:
127.0.0.1 localhost.localdomain localhost # The following lines are desirable for IPv6 capable hosts #(added automatically by netbase upgrade) ::1 ip6-localhost ip6-loopback feo0::0 ip6-localnet ff00::0 ip6-mcastprefix ff02::1 ip6-allnodes ff02::2 ip6-allrouters
pierwszej linii nie wolno nam usuwać, dopisujemy pod nią potrzebne nazwy hostów:
127.0.0.1 cms 127.0.0.1 panel
lub np. na serwerze dedykowanym w OVH (jako alternatywny DNS):
213.251.188.141 sdns2.ovh.net
do obsługi virtualhost-ów (vhost-ów) w lighttpd będzie nam potrzebny moduł simple-vhost
w konsoli wystarczy wpisać:
sudo lighty-enable-mod
pojawi nam się lista dostępnych modułów lighttpd wraz z tymi, które już mamy aktywowane:
Available modules: auth accesslog cgi evasive evhost expire fastcgi flv-streaming no-www proxy rrdtool simple-vhost ssi ssl status userdir usertrack fastcgi-php debian-doc Already enabled modules: fastcgi Enable module:
po dwukropku wpisujemy simple-vhost,
konsola zwróci: Enabling simple-vhost: ok Run /etc/init.d/lighttpd force-reload to enable changes przeładowujemy lighttpd zgodnie z powyższym:
sudo /etc/init.d/lighttpd force-reload
w katalogu
/etc/lighttpd/conf-enabled
pojawił się nowy plik
10-simple-vhost.conf
edytujemy go
sudo nano /etc/lighttpd/conf-enabled/10-simple-vhost.conf
# /usr/share/doc/lighttpd-doc/simple-vhost.txt server.modules += ( "mod_simple_vhost" ) ## The document root of a virtual host is document-root = ## simple-vhost.server-root + $HTTP["host"] + simple-vhost.document-root simple-vhost.server-root = "/srv" simple-vhost.document-root = "public_html" ## the default host if no host is sent simple-vhost.default-host = "www.example.com"
i na końcu dodajemy
$HTTP["host"] == "cms" { server.document-root = "/var/www/cms/" } $HTTP["host"] == "panel" { server.document-root = "/var/www/admin/" }
oczywiście zakładając że takie katalogi istnieją
następnie przeładowujemy ponownie lighttpd
sudo /etc/init.d/lighttpd force-reload
odtąd po wpisaniu w przeglądarce np. „panel”, zobaczymy odpowiednią stronę
Komentarze