Установка и настройка веб-сервера lighttpd

Установка и настройка веб-серверов и серверов приложений

Установка и настройка веб-сервера lighttpd

Сообщение DPX-Infinity » 10 сен 2007, 16:38

Установка и настойка веб-сервера lighttpd
Для linux.
Офсайт - http://www.lighttpd.net/
Версия статьи - 1.0
Версия сервера - 1.4.16-7

0. Что это такое
lighttpd - маленький быстрый веб-сервер. Включает в себя множество функций, включая работу со скриптами и программами cgi (php,perl и др.), поддержку виртуальных хостов, SSI, компрессию, файлы .htaccess и многое другое. Он потребляет мало ресурсов, прост в настройке.
Минус сервера - документация по настройке включена только в windows-версию, или я плохо искал. man-страниц по конфигу нет, а есть ли они где ещё - не знаю.
Кстати, почти всё, что касается настройки сервера в linux можно перенести и на windows-версию. Единственное примечание - в windows модуль fastcgi НЕ РАБОТАЕТ! Используйте стандартный модуль cgi.

1. Установка
Если у вас Fedora 7 - то взять последнюю версию можно из репозитариев в ФОСе (см. здесь).
То же касается и пользователей Ubuntu и Gentoo - репозитарии для них есть в ФОС. Но есть ли в них lighttpd - не знаю, не пробовал.
Качаем пакеты lighttpd и lighttpd-fastcgi (если планируете создавать php- или cgi-скрипты):
Код: Выделить всёРазвернуть
yum -y install lighttpd lighttpd-fastcgi

За оба этих пакета отвечает 1 rpm-пакет - lighttpd-1.4.16-1.fc7.src.rpm - он с исходниками, поэтому с ним в lighttpd можно включить все нужные модули. Т.к. я ставил из репозитариев, у меня нет точных TTH, поэтому поищите в DC-клиентах по вышеприведённому имени пакета или просто по слову lighttpd. Или скачайте версию с официального сайта, сервер не так уж много весит.

2. Конфигурирование
Предположим, что сервер уже установлен. Он автоматически создаёт скрипт его запуска - /etc/init.d/lighttpd, т.е. его можно запускать через команду service. Файл конфигурации - /etc/lighttpd/lighttpd.conf (windows - C:\lighttpd\etc\lighttpd.conf).
Я приведу настройку для обычного домашнего сайта с php без форумов и особых наворотов.
Структура файла довольно проста. Говоря об опции, я буду указывать возможные её значения. Плюс ещё подробные комменты в самом файле.

server.modules - подключаемые модули lighttpd. Если вы ставите из rpm- или deb-пакета, то все эти модули будут установлены по умолчанию (кроме fastcgi, но о нём я уже говорил). После этой опции идёт список модулей. Большинство из них закомментированио (#). Модули mod_access и mod_access_log должны быть активированы всегда. Если у вас планируется использование php-скриптов, подключите модуль mod_fastcgi, если вы его установили, или модуль mod_cgi в обратном случае. В конце файла эти модули конфигурируются.

server.document-root - путь к каталогу с гипертекстовыми документами. Вы можете изменить путь на более вам удобный, например, "/home/dpx-infinity/wwwroot". Путь обязательно брать в кавычки. Это обязательная опция, её необходимо указать.

server.errorlog - путь к файлу лога ошибок. Также обязательно заключать в кавычки.

index-file.names - список имён файлов, которые будут выдаваться, если не запрошен какой-то конкретный файл. Например, если в этом списке указан "index.php", то, если такой файл существует и находится в корневом каталоге сервера (см. server.document-root), при запросе http://localhost/ он будет выведен.

mimetype.assign - список расширений файлов и соответствующим им mime-типов. Они нужны для удобства броузерной навигации. В этом списке есть большинство часто употребляемых типов, и мне не пришлось его изменять.

accesslog.filename - имя файла лога доступа к серверу. Туда будет записываться протокол доступа к серверу - кто что скачал/загрузил, их ip-адреса и другая полезная информация.

url.access-deny - к каким файлам (по расширению) нужно запретить доступ.

static-file.exclude-extensions - файлы с этим расширением не будут обрабатываться стандартными методами передачи файлов. Например, изначально здесь указаны расширения серверных сценариев (скриптов), которые обрабатываются модулями mod_fastcgi или mod_cgi.

#server.port - здесь можно поменять порт, который прослушивается сервером. По умолчанию - 80, поэтому строчка закомментирована. Уберите знак # и поставьте требуемое значение, если нужно. Но для запуска сервера с номером порта <1024 необходимы права суперпользователя.

#server.error-handler-404 - вы можете установить здесь путь к файлу, который сообщает пользователю об ошибке 404 (файл не найден). Я не пробовал, но возможно вместо 404 можно поставить другой номер и указать путь к соответствующему файлу. Путь отсчитывается относительно server.document-root.

#dir-listing.activate - если данная опция раскомментирована и в ней указано "enable", то при запросе каталога (не файла) при отсутствии в нём индексного файла (index-file.names) будет выдан список файлов в данном каталоге. По умолчанию - выключено (результат - ошибка 404).

#server.errorfile-prefix - эта опция нужна для более удобного управления страницами ошибок. Здесь указывается каталог и префикс файлов ошибок, например, если здесь указано "/var/www/errors/error-" то при запросе несуществующего файла (ошибка 404) будет выдан файл "/var/www/errors/error-404.html".

fastcgi.server - здесь идут настройки модуля fastcgi. Если вы пользуетесь php и установили модуль fastcgi, раскомментируйте всё, что касается этой опции. По умолчанию там заданы настройки для php, но можно добавлять ещё какие-либо настройки, например:
Код: Выделить всёРазвернуть
fastcgi.server        = ( ".php" =>
                               ( "localhost" =>
                                 (
                                   "socket" => "/tmp/php-fastcgi.socket",
                                   "bin-path" => "/usr/bin/php-cgi"
                                 )
                               )
                                ".pl" =>
                               ( "localhost" =>
                                 (
                                   "socket" => "/tmp/perl-fastcgi.socket",
                                   "bin-path" => "/usr/bin/perl"
                                 )
                               )
                            )

Достаточно изменить имя сокета и путь к интерпретатору.

cgi.assign - если вы не устанавливали fastcgi по каким-то причинам, вы можете воспльзовать встроенным сgi-модулем. Он проще в конфигурировании. Раскомментируйте строчки опции, и, если требуется, добавьте собственный интерпретатор, например:
Код: Выделить всёРазвернуть
cgi.assign                 = ( ".pl"  => "/usr/bin/perl",
                               ".cgi" => "/usr/bin/perl",
                                 ".php" => "/usr/bin/php-cgi" )


3. Заключение
После конфигурирования сохраните файл и перезапустите сервер ("sudo service lighttpd reload"), если он был запущен. Все изменения должны вступить в силу, и вы (и не только вы) сможете заходить на свой сайт.
Я здесь написал только об основных настройках сервера. Впоследствии эта статья будет обновляться.

Кстати, сайт http://vfose.ru/ работает именно на lighttpd :)

(c) Dark "DPX-Infinity" Phoenix
Изображение
Переходите на Jabber! За ним будущее!
Желаю вам опенсорса!
Аватара пользователя
DPX-Infinity
Активный участник
 
Сообщения: 723
Зарегистрирован: 02 сен 2007, 20:45
Откуда: Саратов

Re: Установка и настройка веб-сервера lighttpd

Сообщение [komsa]diman » 21 фев 2008, 20:04

некто не подскажет где можно скачать lighttpd для windows
Аватара пользователя
[komsa]diman

 
Сообщения: 2
Зарегистрирован: 30 янв 2008, 13:56

Re: Установка и настройка веб-сервера lighttpd

Сообщение zk » 21 фев 2008, 20:50

где можно скачать lighttpd для windows

LightTPD-1.4.18-1-Win32-SSL.exe (2,15 MB)
Но не особо советую...
zk
Администратор
 
Сообщения: 1972
Зарегистрирован: 02 сен 2007, 16:04
Домен: vfose.ru

Re: Установка и настройка веб-сервера lighttpd

Сообщение Sicness » 23 фев 2008, 21:29

zk писал(а):LightTPD-1.4.18-1-Win32-SSL.exe (2,15 MB)
Но не особо советую...


Навел тень на всю тему :) Почему?
ИзображениеИзображение
Алкоголь и никотин нас убивают,
Опускают, унижают,
Паранойю развивают,
Мозг твой нах*й разрушают!
Аватара пользователя
Sicness
Автор
 
Сообщения: 198
Зарегистрирован: 31 дек 2007, 11:29

Re: Установка и настройка веб-сервера lighttpd

Сообщение zk » 23 фев 2008, 21:53

Почему?

Я имею ввиду конкретно Windows версию, есть некоторые проблемы. Хотя возможно я что-то до конца не понял.
А тема прежде всего про Linux, так что это всё оффтоп =)
zk
Администратор
 
Сообщения: 1972
Зарегистрирован: 02 сен 2007, 16:04
Домен: vfose.ru

Re: Установка и настройка веб-сервера lighttpd

Сообщение Sicness » 05 мар 2008, 11:33

National Vulnerability Database 04 march, 2008 писал(а):CVE-2008-1111

mod_cgi in lighttpd 1.4.18, when a fork failure occurs, sends the source code of CGI scripts instead of a 500 error, which might allow remote attackers to obtain sensitive information.

Описание:
Уязвимость позволяет удаленному пользователю получить доступ к важным данным.

Уязвимость существует из-за ошибки в mod_cgi. Удаленный пользователь может получить доступ к исходному коду сценариев, если приложение не способно выполнить fork.
ИзображениеИзображение
Алкоголь и никотин нас убивают,
Опускают, унижают,
Паранойю развивают,
Мозг твой нах*й разрушают!
Аватара пользователя
Sicness
Автор
 
Сообщения: 198
Зарегистрирован: 31 дек 2007, 11:29

Re: Установка и настройка веб-сервера lighttpd

Сообщение zk » 05 мар 2008, 14:43

Спасибо конечно за уязвимость, но в lighttpd юзают fast cgi, cgi - это изврат...
zk
Администратор
 
Сообщения: 1972
Зарегистрирован: 02 сен 2007, 16:04
Домен: vfose.ru

Re: Установка и настройка веб-сервера lighttpd

Сообщение Rostov114 » 23 авг 2008, 09:55

:) А сильная ли разница в скорости с Apache+php5_module?
Некоммерческий проект «HSDN»
Аватара пользователя
Rostov114
Автор
 
Сообщения: 3183
Зарегистрирован: 18 окт 2007, 02:21
Откуда: Россия ( Саратов / Ростов-на-Дону )

Re: Установка и настройка веб-сервера lighttpd

Сообщение AiD » 26 авг 2008, 17:53

чё тока не пытался сделать все равно нормально не пашет... х.з. почему.

можешь написать настройку и установку апача? под линь...
AiD

 
Сообщения: 3
Зарегистрирован: 26 авг 2008, 17:51
Домен: wow-san.vfose.ru

Re: Установка и настройка веб-сервера lighttpd

Сообщение Rostov114 » 26 авг 2008, 20:10

:crazy: Это еще та мозго любовь....
У меня все нормально стало...федора 7.0
Некоммерческий проект «HSDN»
Аватара пользователя
Rostov114
Автор
 
Сообщения: 3183
Зарегистрирован: 18 окт 2007, 02:21
Откуда: Россия ( Саратов / Ростов-на-Дону )

След.

Вернуться в Веб серверы

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 4

cron