====== Веб-сервер 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
----
Статью перевел Кирилл Шевцов