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 это порт на котором вы хотите запустить сервер.
Чтобы включить/выключить автоматическую загрузку:
/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.