Установка Web-сервера Lighttpd и PHP на OpenWrt

1
OpenWrt Lighttpd



Установка OpenWrt на роутер TL-MR3020 описана здесь




Lighttpd — быстрый и надёжный веб-сервер.


Установка

Заходим на роутер по ssh и вводим команды:

opkg update

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-gd php5-mod-session lighttpd-mod-auth


Lighttpd и PHP на TL-MR3020

Lighttpd и PHP установились...



Если установлен Web-интерфейс, то надо перенести его на другой порт:


Пишет о том, что 80-ый порт занят...

Чтобы это исправить, надо отредактировать файл /etc/config/uhttpd
Но сначала установим текстовый редактор Nano

opkg update

opkg install nano



Готово...


Редактируем файл /etc/config/uhttpd

nano /etc/config/uhttpd


Меняем номер порта:



list listen_http        0.0.0.0:80

на
list listen_http        0.0.0.0:81

подсказка nano

Сохранить______Выйти


Рестартуем Web-интерфейс (сервер uhttpd):

/etc/init.d/uhttpd  restart

Теперь он висит на адресе:81


Перейдём к основной задаче

Создадим для Lighttpd корневую папку — /www/web (дефолтная — /www, занята web-итерфейсом)

mkdir /www/web


Редактируем файл /etc/lighttpd/lighttpd.conf

nano /etc/lighttpd/lighttpd.conf


Раскомментируем некоторые строки, чтоб было так:


server.modules = (
#       "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.document-root = "/www/"

на
server.document-root = "/www/web"



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

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



cgi.assign = ( ".pl"  => "/usr/bin/perl", ".cgi" => "/usr/bin/perl" )

на
cgi.assign = ( ".pl" => "/usr/bin/perl", ".cgi" => "/usr/bin/perl", ".php" => "/usr/bin/php-cgi" )


Сохраняем



Отредактируем файл /etc/php.ini

nano /etc/php.ini

Ищем строки и делаем как написано: Подсказка, для поиска в редакторе nano нажмите Ctrl + w, вставьте искомую строку и нажмите Enter.


[Date]
date.timezone = Europe/Moscow


; Dynamic Extensions

extension=gd.so
extension=pdo.so
extension=session.so
extension=sqlite.so
extension=timezonedb.so


; UNIX: "/path1:/path2"

doc_root = 


max_execution_time = 1

max_input_time = 1

memory_limit = 1M

default_socket_timeout = 1


Сохраняем


Создаём файл для проверки PHP

touch /www/web/index.php

echo '<?php phpinfo(); ?>' > /www/web/index.php



Стартуем сервер Lighttpd

/etc/init.d/lighttpd restart

… и добавляем его в автозагрузку.
/etc/init.d/lighttpd enable



Заходим в браузер и видим...




Разумеется для обеспечения безопасности необходима более детальная настройка, но для «домашнего» сервера этого будет достаточно.


Вот и всё, осталось скопировать Ваш сайт в папку /www/web/.

Пользователи Linux могут просто скопировать его на флешку.
Для Win нужно воспользоваться программой WinSCP.


Инструкция для WinSCP:

Скачиваете, устанавливаете и запускаете. Откроется окно:



Вписываем:
Протокол передачи — SCP.
Имя хоста — ip-адрес роутера.
Имя пользователя и пароль.

Войти.

Соглашаемся с вопросом, и откроется файловый менеджер (панель справа — это роутер).

WinSCP

Можно копировать файлы.


Про подключение Ардуино к роутеру TL-MR3020, можно почитать здесь.

Здесь информация по тонкой настройке Lighttpd

Обсудить на форуме...


  • +689
  • 62743
Поддержать автора


Telegram-чат istarik

Задать вопрос по статье
Telegram-канал istarik

Известит Вас о новых публикациях






Комментарии (5)

0
У вас будут статьи о том, как можно настроить на openwrt/ddwrt считалку трафика для локальной сети? Спасибо.
0
Думая да, а как Вы её видите? Я имею в виду куда выводить счётчик?
0
Допустим, некая web морда на роутере с данными о испоьзуемом трафике (с расшифровкой на что потрачен этот трафик), данные хранятся на usb носителе, как вариант.
комментарий был удален
0
Добрый день. Может кто подсказать в ем проблема. Пример в браузере открывается но там только фон с сылькой проекта, а элементов нет. Такое ощущение что PHP не работает.
Только зарегистрированные и авторизованные пользователи могут оставлять комментарии.