Table of Contents
Веб-сервер LightTPD
О LightTPD
В этой главе описывается настройка и использование веб-сервера LightTPD. Это быстрый, защищенный и гибкий НТТР-сервер, использующий совсем немного памяти. Он позволяет разумно управлять загрузкой процессора и имеет поддержку FastCGI, CGI, Auth, сжатие Output, смену URL и т.д. LightTPD дает возможность сэкономить, разместив ваш сайт на старом компьютере.
В SliTaz этот сервер автоматически запускается при загрузке и изначально настроен на РНР. Файлы корневого каталога, предоставляемые по умолчанию, находятся в /var/www, там же содержится начальная страница index.html, изображения помещаются в папку images/. Сайт LightTPD: 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
Статью перевел Кирилл Шевцов