OSBoy notes.

Записки обо всём...

Настройка вэб-сервера Lighttpd + PHP на роутере с OpenWrt

В репозитории OpenWrt есть несколько веб-серверов, практически на любой вкус. Причём, при установке веб-интерфейса LuCI автоматически устанавливается сервер uHTTPd. Однако, мы вправе выбирать, чем нам удобнее пользоваться. Так я, например, предпочитаю сервер Lighttpd - он легковесный, но обладает довольно большими возможностями и гибко настраивается под различные нужды. Поэтому сейчас попробуем его установить и настроить на роутере с OpenWrt.

Установка Lighttpd и PHP

opkg update
opkg install lighttpd lighttpd-mod-cgi php5 php5-cgi

Настройка вэб-сервера
Теперь редактируем файл /etc/lighttpd/lighttpd.conf. Ниже я привожу только те фрагменты, которые мы изменяем.
Включаем CGI модуль:

server.modules = (
"mod_cgi"
)

Так как корневая директория сервера по умолчанию /www/ используется для LuCI, выбираем другую директорию:

server.document-root = "/var/www/vh280713/data/www/osboynotes.ru/"

Так же, указываем корневую директорию в файле /etc/php.ini:

doc_root = "/website"

Для того, чтобы файлы с расширением .php на нашем сервере обрабатывались PHP интерпретатором, добавляем в /etc/lighttpd/lighttpd.conf:

cgi.assign = ( ".php" => "/usr/bin/php-cgi" )

А так же, указываем серверу искать файлы index.php:

index-file.names = ( "index.html", "index.htm", "index.php" )

Если у нас будет несколько виртуальных хостов, то можно использовать модуль simple_vhost, или добавить виртуальные хосты вручную:

$HTTP["host"] == "website2.my.domain" {
server.document-root = "/website2/"
}

Настройка LuCI на Lighttpd
По умолчанию наш сервер работает на 80 порту. А доступ к LuCI мы можем сделать, например, на 81 порту, с помощью сокета:

$SERVER["socket"] == ":81" {
server.document-root = "/www/"
cgi.assign = ( "luci" => "/usr/bin/lua" )
}

Запуск сервера

Теперь, когда всё настроили, можем протестировать работу нашего сервера. Создадим корневую директорию для нашего веб-сайта и тестовую страничку:

mkdir /website
echo "<?php phpinfo(); ?>" > /var/www/vh280713/data/www/osboynotes.ru/index.php

Останавливаем uhttpd и запускаем lighttpd:

etc/init.d/uhttpd stop
/etc/init.d/uhttpd disable
/etc/init.d/lighttpd start
/etc/init.d/lighttpd enable

Теперь можно попробовать зайти на наш тестовый сайт: http://website.my.domain ; и в веб-интерфейс LuCI: http://website.my.domain:81 .

Полезные ссылки:
OpenWrt Wiki - howto: Lighttpd
OpenWrt Wiki - howto: Set up a LAMP stack on OpenWrt
OpenWrt Wiki - howto: LuCI on lighttpd
OpenWrt Wiki - howto: PHP

Теги : openwrt, lighttpd, php, luci

Комментариев: 0

Добавить комментарий

Отменить