====== Веб-сервер LightTPD ====== ===== О LightTPD ===== В этой главе описывается настройка и использование веб-сервера LightTPD. Это быстрый, защищенный и гибкий НТТР-сервер, использующий совсем немного памяти. Он позволяет разумно управлять загрузкой процессора и имеет поддержку FastCGI, CGI, Auth, сжатие Output, смену URL и т.д. LightTPD дает возможность сэкономить, разместив ваш сайт на старом компьютере. В SliTaz этот сервер автоматически запускается при загрузке и изначально настроен на РНР. Файлы корневого каталога, предоставляемые по умолчанию, находятся в ///var/www//, там же содержится начальная страница index.html, изображения помещаются в папку //images///. Сайт LightTPD: [[http://www.lighttpd.net/|www.lighttpd.net]] ===== /var/www — корневой каталог файлов ===== Этот каталог представляет собой начальную папку для файлов; к нему можно обращаться через URL http://localhost/. Если вы собираетесь размещать сайт, вы можете хранить все файлы в этой папке. В случае размещения нескольких сайтов необходимо создать виртуальные хосты. Также вы можете проверить адрес http://localhost/server-status. ===== ~Public — общая папка пользователей ===== SliTaz предоставляет пользователям системы общее место для хранения веб-документов (как правило, файлов HTML). Соответствующая папка называется Public, она должна находиться в корневом каталоге вашего пользовательского пространства, к примеру, ///home/hacker/Public//. Создать эту папку поможет команда //mkdir//: $ mkdir ~/Public После этого к ней можно получить доступ через http://localhost/~hacker/. Можно также использовать имя или IP-адрес компьютера, если вы подключаетесь с другой машины. ===== /etc/lighttpd/lighttpd.conf — файл конфигурации LightTPD ===== Основной файл настроек для LightTPD (//lighttp.conf//) находится в ///etc/lighttpd///. Этот файл в составе SliTaz хорошо прокомментирован, вам достаточно просто ознакомиться с ним. На сайте LightTPD вы найдете другие примеры этого файла. В SliTaz также есть файл //vhosts.conf// для настройки виртуальных хостов (нужны при размещении нескольких сайтов на одном сервере). ===== Запуск, остановка и перезапуск веб-сервера ===== По умолчанию в SliTaz сервер запускается при старте системы. Чтобы убрать его из автозагрузки, нужно убрать lighttpd из переменной //RUN_DAEMONS// файла ///etc/rcS.conf//. Чтобы запустить, остановить или перезапустить сервер, используйте команду ///etc/init.d/lighttpd [start|stop|restart]//. Пример перезапуска сервера после правки файла конфигурации: # /etc/init.d/lighttpd restart ===== CGI-скрипты в Perl ===== Чтобы LightTPD мог использовать путь к исполняемому файлу Perl и CGI/Perl, нужно установить Perl и внести изменения в файл настроек сервера. Вот как это сделать в Geany: # tazpkg get-install perl # geany /etc/lighttpd/lighttpd.conf & # CGI-модуль. После установки Perl назначает обработку скриптов с расширениями .pl и .cgi программе /usr/bin/perl $HTTP["url"] =~ "/cgi-bin/" { cgi.assign = ( ".sh" => "/bin/sh", ".cgi" => "/usr/bin/perl", ".pl" => "/usr/bin/perl" ) } ===== CGI-скрипты в Python ===== Проделаем те же действия для Python: # tazpkg get-install python # geany /etc/lighttpd/lighttpd.conf & # CGI-модуль, назначающий обработку скриптов .py и .cgi программе /usr/bin/python $HTTP["url"] =~ "/cgi-bin/" { cgi.assign = ( ".sh" => "/bin/sh", ".cgi" => "/usr/bin/python", ".py" => "/usr/bin/python" ) } Чтобы изменения вступили в силу, просто перезапустите сервер: # /etc/init.d/lighttpd restart ===== Авторизация — инструмент для защиты папок ===== В состав LightTPD входят модули авторизации, которые, среди прочего, могут защищать ту или иную папку. Сервер также предоставляет несколько способов авторизации, но мы начнем с использования основного метода, не требующего шифрования паролей. Чтобы использовать модуль mod_auth, необходимо установить пакет lighttpd-modules (''tazpkg get-install lighttpd-modules''). После установки добавьте название модуля в список модулей: # Модули для загрузки. # См. /usr/lib/lighttpd для списка всех доступных модулей. # server.modules = ( "mod_access", "mod_auth", "...", ) Теперь можно настраивать модули, указав уровень и способ отладки (простой), а также путь к файлу, содержащему список имен, использующих защищенный пароль для доступа к папкам. Также нужно указать папки, требующие авторизации. В следующем примере применим защиту к папке //admin/// и разрешим доступ к ней пользователю tux (//user=tux//): # Авторизация для защищенной папки. auth.debug = 2 auth.backend = "plain" auth.backend.plain.userfile = "/etc/lighttpd/plain.passwd" auth.require = ( "/admin/" => ( "method" => "basic", "realm" => "Password protected area", "require" => "user=tux" ) ) Наконец, создадим файл, содержащий пароли, добавим пользователя и перезагрузим сервер для проверки. Основной синтаксис для этого файла — //пользователь:пароль//. Файл можно создать командой echo или в текстовом редакторе. Добавим запись tux:root в файл паролей ///etc/lighttpd/plain.passwd//: # echo "tux:root" > /etc/lighttpd/plain.passwd или # nano /etc/lighttpd/plain.passwd Чтобы протестировать адрес **[[http://localhost/admin/]]**, просто перезапустите сервер: # /etc/init.d/lighttpd restart ---- Статью перевел Кирилл Шевцов