Вебсервер Lighttpd
Lighttpd это широко конфигурируемый, легковесный веб-сервер. Подробнее lighttpd и https://www.lighttpd.net/. Для lighttpd доступно множество модулей для установки и настройки. Больше информации о модулях: https://redmine.lighttpd.net/projects/lighttpd/wiki/docs. Эта же статья расскажет как заставить lighttpd работать в OpenWrt.
Смотрите статью luci.on.lighttpd чтобы запустить веб-интерфейс (LuCI) на lighttpd.
Подготовка
Выполните
opkg list lighttpd*
чтобы увидеть список доступных пакетов.
Установка
Используйте opkg
opkg update opkg install lighttpd
Настройка
Отредактируйте файл /etc/lighttpd/lighttpd.conf
Первоначальная настройка
Чтобы запустить сервер сделайте следующие правки в файле /etc/lighttpd/lighttpd.conf:
Корневой каталог сервера
server.document-root = "/www/"
где www это корневая папка сервера.
Включаем ведение журнала
Раскоментируйте (удалите #) следующую строку, чтобы ошибки записывались в файл:
server.errorlog = "/var/log/lighttpd/error.log"
Задаём порт сервера
Раскоментируйте эту строку:
server.port = 8000
где 8000 это порт на котором вы хотите запустить сервер.
Дальнейшая настройка
- Set up a LAMP stack on OpenWrt Настройка набора LAMP
Настройка Lighttpd и PHP5
Автозагрузка
Чтобы включить/выключить автоматическую загрузку:
/etc/init.d/lighttpd enable просто создаёт символьную ссылку: /etc/rc.d/S80lighttpd → /etc/init.d/lighttpd
/etc/init.d/lighttpd disable а это удаляет
Команда для запуска веб-сервера:
/etc/init.d/lighttpd start
Для остановки:
/etc/init.d/lighttpd stop
Фаервол
Чтобы пользователи из интернета могли получить доступ к серверу, не забудьте настроить межсетевой экран /etc/config/firewall и перенаправление портов.
config redirect
option src wan
option src_dport 80
option dest lan
option dest_ip 192.168.1.1
option dest_port 8000
option proto tcp
config rule
option src wan
option dest_port 8000
option target ACCEPT
option proto tcp
Перезагрузите брандмауэр следующей командой: /etc/init.d/firewall restart
Администрирование
TODO: папки и т.д.
Возможные проблемы
Неверный обработчик событий
Если вы получаете такую ошибку:
(server.c.1105) fdevent_init failed
вам скорее всего придётся установить обработчик событий конкретно для вашей системы. Добавьте такую строку в файл конфигурации:
server.event-handler = "poll"
Подробнее https://redmine.lighttpd.net/projects/lighttpd/wiki/Server.event-handlerDetails
Примечания
Помните, что lighttpd не понимает файлы .htaccess которые используют некоторые другие серверы для настройки сервера отдельно для каждой папки.
Вместо этого он использует единый файл настроек lighttpd.conf для управления всеми функциями, используя продвинутые функции сопоставления.
Но это также означает, что вам придётся вручную устанавливать настройки папок.
Особенно для (opkg) пакетов, которые поставляются с файлами необходимых параметров .htaccess.