Для управления своим умным домом я выбрал веб-интерфейс. Для этого мне нужно установить веб-сервер на роутер. Подопытным выступает преславутый wr703n. В данной статье будет рассмотрена связка lighttpd+php+sqlite.
Устанавливаем все необходимые пакеты
opkg install lighttpd lighttpd-mod-cgi lighttpd-mod-access lighttpd-mod-redirect zoneinfo-core zoneinfo-europe libsqlite3 php5-cgi php5-mod-pdo php5-mod-sqlite php5-mod-sqlite3 php5-mod-gd php5-mod-session php5-mod-json php5-mod-xml php5-mod-dom
#
## modules to load
# all other module should only be loaded if really neccesary
# - saves some time
# - saves memory
server.modules = (
"mod_access",
# "mod_rewrite",
"mod_redirect",
# "mod_alias",
# "mod_auth",
# "mod_status",
# "mod_setenv",
# "mod_fastcgi",
# "mod_proxy",
# "mod_simple_vhost",
"mod_cgi",
# "mod_ssi",
# "mod_usertrack",
# "mod_expire",
# "mod_webdav"
)
Включаем логирование сервера
server.errorlog = "/var/log/lighttpd/error.log"
Добавляем поддержку php на сервер
index-file.names = ( "index.html", "default.html", "index.htm", "default.htm", "index.php" )
server.port = 81
включить листинг для всех каталогов
server.dir-listing = "enable"
Добавляем веб-серверу поддержку php-cgi. Также не забываем раскоментировать всю строку.
cgi.assign = ( ".pl" => "/usr/bin/perl", ".cgi" => "/usr/bin/perl", ".php" => "/usr/bin/php-cgi")
Правим файл php.ini
extension=pdo.so
extension=sqlite.so
extension=sqlite3.so
extension=session.so
extension=timezonedb.so
extension=mysql.so
Если планируете запустить на роутере с openwrt сразу несколько сайтов, то необходимо настроить виртуальные хосты в lighttpd и закоментировать последнюю строку doc_root = "/srv/www"
Запускаем сервер
/etc/init.d/lighttpd start