16 февр. 2012 г.

Настройка Lighttpd

Выполнено по инструкции: http://www.juev.ru/2009/07/18/lighttpd-istrebitel-v-mire-veb-serverov/


Нужно только включить модуль fastcgi в lighttpd:
sudo lighttpd-enable-mod fastcgi
Available modules: auth cgi fastcgi proxy rrdtool simple-vhost ssi ssl status userdir phpmyadmin 
Already enabled modules: auth fastcgi phpmyadmin 
После выполнения подключения любого модуля нужно перезагрузить веб-сервер:
sudo /etc/init.d/lighttpd force-reload

Для отключения модуля используется команда lighttpd-disable-mod.

По умолчанию fastcgi настроено на обработку файлов .php. Если необходимо использовать perl, python или ruby, необходимо изменять файл /etc/lighttpd/conf-available/10-fastcgi.conf. Например, если необходимо отключить обработку php-файлов и включить python для использования django, приводим его к такому виду:

## FastCGI programs have the same functionality as CGI programs,
## but are considerably faster through lower interpreter startup
## time and socketed communication
##
## Documentation: /usr/share/doc/lighttpd-doc/fastcgi.txt.gz
##                http://www.lighttpd.net/documentation/fastcgi.html

server.modules   += ( "mod_fastcgi" )

fastcgi.server    = (
    "/" => (
        "main" => (
            # Use host / port instead of socket for TCP fastcgi
            "host" => "127.0.0.1",
            "port" => 3033,
            #"socket" => "/tmp/django.socket",
            "check-local" => "disable",
        ))
)

alias.url = (
    "/media" => "/var/www/django/django/contrib/admin/media/",
)

url.rewrite-once = (
    "^(/media.*)$" => "$1",
    "^/favicon\.ico$" => "/media/favicon.ico",
    "^(/.*)$" => "/example$1",
)



но мне сервер собственно и нужен для работы именно с php, поэтому настройки эти я не проверял у себя, взял у автора статьи для справки и файл /etc/lighttpd/conf-available/10-fastcgi.conf  только открыл и закрыл пока без правки.


В lighttpd есть отдельный модуль, который необходимо активировать, настроить, после чего виртуальные хосты можно будет организовывать путем простого создания каталогов.

sudo lighttpd-enable-mod simple-vhost

Настраиваем модуль:

sudo gedit /etc/lighttpd/conf-available/10-simple-vhost.conf

Содержимое этого файла по умолчанию следующее:

## Simple name-based virtual hosting
##
## Documentation: /usr/share/doc/lighttpd-doc/simple-vhost.txt
##                http://www.lighttpd.net/documentation/simple-vhost.html

server.modules += ( "mod_simple_vhost" )

## The document root of a virtual host isdocument-root =
##   simple-vhost.server-root + $HTTP["host"] + simple-vhost.document-root
simple-vhost.server-root         = "/var/www"
simple-vhost.document-root       = "/html/"

## the default host if no host is sent
simple-vhost.default-host        = "example.ru"

В данном случае все виртуальные хосты будут располагаться в каталоге /var/www и каждый виртуальный хост содержит в себе папку html, в которой располагаются сами файлы.

Построение структуры сайтов при таких настройках можно производить следующим образом:

sudo /etc/init.d/lighttpd restart
sudo mkdir /var/www/site1.ru
sudo mkdir /var/www/site1.ru/html
sudo mkdir /var/www/site2.ru
sudo mkdir /var/www/site2.ru/html