Вебсервер 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
.