CONTENT
  • CHANGES
Szukaj
counter

#top Instalacja


Instalację serwera Lighttpd można wykonać na różne sposoby: od kompilacji ze źdródeł poprzez instalację pojedynczych paczek rpm za pomocą polecenia rpm skończywszy na instalacja z użyciem menedżera pakietów, który zainstaluje wszystkie niezbędne paczki wraz zależnościami.
Celem niniejszego dokumentu nie jest rozważanie różnych metod instalacji tylko nieco usprawnienie użyteczności konfiguracji serwera Lighttpd po zainstalowaniu oraz wprowadzenie porządku / hierarchi położenia plików z których korzysta usługa w strukturze katalogowej.
Zgodnie definicją FHS (en.wiki, pl.wiki): katalog /srv zawiera: Data for services provided by this system toteż jako katalog w którym Lighttpd będzie przechowywał dane został wybrany: /srv/lighttpd i zostanie on utworzony z odpowiednimi atrybutami wraz ze stosownymi podkatalogami:
/srv/lighttpd/error - z przeznaczeniem na lokalizację stron kodów błędów HTTP (nowoutworzony),
/srv/lighttpd/vhosts - z przeznaczeniem na virtualne domeny vhosts serwerwowane przez serwer (nowoutworzony).
Wszystko to zostało opisane poniżej.

#top Postinstalacyjna konfiguracja


#top Set default setting in config file


comment out document root

sed 's,^server.document-root,#server.document-root,g' -i /etc/lighttpd/lighttpd.conf

set server root

sed 's,^var.server_root = .*$,var.server_root = "/srv/lighttpd",g' -i /etc/lighttpd/lighttpd.conf

Po wprowadzeniu zmian poleceniami powyższej zmienione opcje w pliku konfiguracyjnym /etc/lighttpd/lighttpd.conf powinny wyglądać analogicznie do poniższych:

##
## Document root
##
server.document-root = server_root + "/lighttpd"
[...]
# mkdir /etc/lighttpd/vhosts
# in lighttpd path is /etc/lighttpd/vhosts.d
var.server_root = "/srv/lighttpd"



#top Create directory root structure


mkdir -p /srv/lighttpd/{error,vhosts}



#top Enable virtual hosts


Konfiguracja modelu używanych vhostsów znajduje się w pliku /etc/lighttpd/modules.conf:

#######################################################################
##
## VHost Modules
##
##  Only load ONE of them!
## ========================
##

##
## You can use conditionals for vhosts aswell.
## 
## see http://www.lighttpd.net/documentation/configuration.html
##

##
## mod_evhost
##
#include "conf.d/evhost.conf"

##
## mod_simple_vhost
##
#include "conf.d/simple_vhost.conf"

##
## mod_mysql_vhost
##
#include "conf.d/mysql_vhost.conf"

##
#######################################################################

sed 's,^#include "conf.d/simple_vhost.conf",include "conf.d/simple_vhost.conf",g' -i /etc/lighttpd/modules.conf



#top Comment out default vhost


comment out vhosts.template

sed 's,^,#,g' -i /etc/lighttpd/vhosts.d/vhosts.template

comment out default vhosts settings

sed 's,^simple-vhost.server-root,#simple-vhost.server-root,g' -i /etc/lighttpd/conf.d/simple_vhost.conf
sed 's,^simple-vhost.default-host,#simple-vhost.default-host,g' -i /etc/lighttpd/conf.d/simple_vhost.conf
sed 's,^simple-vhost.document-root,#simple-vhost.document-root,g' -i /etc/lighttpd/conf.d/simple_vhost.conf
sed 's,^accesslog.filename,#accesslog.filename,g' -i /etc/lighttpd/conf.d/access_log.conf



#top Configure default virtual host


http://redmine.lighttpd.net/projects/1/wiki/Docs_ModSimpleVhost
The document root for each vhost is built from three values:
  • server-root
  • hostname
  • document-root

The complete document root is constructed either by: server-root + hostname + document-root
or if this path does not exist by: server-root + default-host + document-root

Konfiguracja wybranego modelu vhostsów znajduje się w pliku /etc/lighttpd/conf.d/simple_vhost.conf:

##  If you want name-based virtual hosting add the next three settings and load
##  mod_simple_vhost
##
## document-root =
##   virtual-server-root + virtual-server-default-host + virtual-server-docroot
## or
##   virtual-server-root + http-host + virtual-server-docroot
##
simple-vhost.server-root   = vhosts_dir + "/"
simple-vhost.default-host  = "default.example.com"
simple-vhost.document-root = "/htdocs/"



create default virtual host

echo "include \"/etc/lighttpd/vhosts.d/default.conf\"" >> /etc/lighttpd/lighttpd.conf
cat > /etc/lighttpd/vhosts.d/default.conf << EOF
#
# default vhosts
#
#simple-vhost.server-root   = vhosts_dir + "/"
#simple-vhost.default-host  = "default"
#simple-vhost.document-root = ""
server.document-root = server_root + "/vhosts/default"
accesslog.filename = log_root + "/default-access.log"
EOF

create needed DocumentRoot for default virtual host

mkdir -p /srv/lighttpd/vhosts/default
echo "vhosts / default ($HOSTNAME)" > /srv/lighttpd/vhosts/default/index.html
echo "vhosts / default ($HOSTNAME)" > /srv/lighttpd/vhosts/default/default.html



#top Create second $HOSTNAME virtual host


echo "include \"/etc/lighttpd/vhosts.d/$HOSTNAME.conf\"" >> /etc/lighttpd/lighttpd.conf
cat > /etc/lighttpd/vhosts.d/$HOSTNAME.conf << EOF
#
# $HOSTNAME
#
\$HTTP["host"] == "$HOSTNAME" {
simple-vhost.server-root   = vhosts_dir + "/"
simple-vhost.default-host  = "alfasp.alfa-projekt.pl"
simple-vhost.document-root = ""
accesslog.filename = log_root + "/$HOSTNAME-access.log"
}
EOF

create needed DocumentRoot for $HOSTNAME virtual host
mkdir -p /srv/lighttpd/vhosts/$HOSTNAME
echo "vhosts / $HOSTNAME" > /srv/lighttpd/vhosts/$HOSTNAME/index.html
echo "vhosts / $HOSTNAME" > /srv/lighttpd/vhosts/$HOSTNAME/$HOSTNAME.html



#top Create ssl $HOSTNAME virtual host


echo "include \"/etc/lighttpd/vhosts.d/$HOSTNAME-ssl.conf\"" >> /etc/lighttpd/lighttpd.conf
cat > /etc/lighttpd/vhosts.d/$HOSTNAME-ssl.conf << EOF
#
# $HOSTNAME:443 - HTTPS server configuration
#
\$SERVER["socket"] == ":443" {
\$HTTP["host"] == "$HOSTNAME" {
ssl.engine = "enable"
ssl.pemfile = "/etc/pki/tls/certs/$HOSTNAME.pem"
ssl.use-sslv2 = "disable"
simple-vhost.server-root   = vhosts_dir + "/"
simple-vhost.default-host  = "$HOSTNAME"
simple-vhost.document-root = ""
accesslog.filename = log_root + "/$HOSTNAME-ssl-access.log"
}
} # \$SERVER["socket"] == ":443"
EOF




Zmodyfikowany ostatnio: 2015/10/01 18:45:06 (8 lat temu), textsize: 6,40 kB, htmlsize: 14,0 kB

Zapraszam do komentowania, zgłaszania sugestii, propozycji, własnych przykładów, ...
Dodaj komentarzKomentarze użytkowników