[Entware] lighttpd + php

Используем пакеты, расширяющие возможности оборудования
Аватара пользователя
Zyxmon
Администратор
Сообщения: 1313
Зарегистрирован: 09 авг 2015, 14:33

Сообщение Zyxmon » 20 янв 2016, 15:25

Краткая инструкция по настройке lighttpd с php в Entware

1. Установим lighttpd и php5-cgi

Код: Выделить всё

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

2. Редактируем файл `/opt/etc/lighttpd/lighttpd.conf`
Прописываем порт, который будет слушать сервер

Код: Выделить всё

server.port                 = 82

3. Редактируем файл `/opt/etc/lighttpd/conf.d/30-fastcgi.conf`
Раскоментируем и редактируем там секцию, чтобы выглядела так

Код: Выделить всё

fastcgi.server = ( ".php" =>
                   ( "php-local" =>
                     (
                       "socket" => "/opt/tmp/php-fastcgi-1.socket",
                       "bin-path" => "/opt/bin/php-fcgi",
                       "max-procs" => 1,
                       "broken-scriptfilename" => "enable",
                     )
                   ),
# .....
# .....
                )

4. Создаем два файла index.html и info.php в папке `/opt/share/www` (корне сервера).
index.html

Код: Выделить всё

<html>
<header><title>This is title</title></header>
<body>
Hello world
</body>
</html>

info.php

Код: Выделить всё

<?php phpinfo(); ?>

5. Запускаем web сервер командой ` lighttpd -f /opt/etc/lighttpd/lighttpd.conf`
Если необходимо, исправляем опечатки.
6. Заходим браузером на ip нашего устройства порт из п. 2 - должны увидеть "Hello wold"
указываем в конце: /info.php - должны увидеть информацию по php

На этом базовая настройка закончена.
Дополнения и исправления приветствуются.

Аватара пользователя
c61
Сообщения: 50
Зарегистрирован: 11 авг 2015, 11:32

Сообщение c61 » 20 янв 2016, 23:26

Я бы ещё добавил в секцию php-local типа такого:

Код: Выделить всё

			"bin-environment" => (
				"PHP_FCGI_CHILDREN" => "3",
				"PHP_FCGI_MAX_REQUESTS" => "100"
			)
Если памяти не жалко и надо обслужить по-быстрому нескольких клиентов... И, пожалуй, вот на мой взгляд минимум нужных модулей:

Код: Выделить всё

server.modules = ( 
	"mod_access",
	"mod_rewrite", 
	"mod_redirect", 
	"mod_auth", 
	"mod_fastcgi",
	"mod_cgi",
	"mod_accesslog"
)
Плюс редирект для www-атавизма, если его в дефолтном конфиге не было:

Код: Выделить всё

$HTTP["host"] =~ "^www\.(.*)" {
	url.redirect = ( "^/(.*)" => "http://%1/$1" )
}
Простейшую защиту определенных каталогов можно сделать так (на примере phpmyadmin, хотя его можно и не защищать):

Код: Выделить всё

$HTTP["url"] =~ "^/phpmyadmin/" {
auth.backend = "plain"
auth.backend.plain.userfile = "путь_к_файлу/.passwd_for_phpmyadmin"
auth.require = ( "/phpmyadmin/" =>
		(
			"method" => "basic",
			"realm" => "Password protected area",
			"require" => "user=admin"
		)
	)
}
Содержимое файла .passwd_for_phpmyadmin

Код: Выделить всё

admin:здесь_задайте_пароль
Вместо подсказки и пользователя admin можно задать нечто иное.
И не забудьте сделать ротацию логов, если таковые ведутся...

assio
Сообщения: 2
Зарегистрирован: 08 мар 2016, 17:27

Сообщение assio » 10 мар 2016, 10:53

насчет lighttpd-php.хоть убей-не могу на сетевухе создать симлинки.Инет перелопатил-ответа не нашел.Приблизительно думаю так-ln -s "/share/www/Сетевая папка/Фильмы" "/MyServer/Фильмы"-но на эту команду матюгается.Подскажите пожалуйста чайнику.Ах да-жесткий в ntfs-иногда приходится с ним побегать-поэтому в ext не форматирую-на борту винда.Команду даю по ssh через PUTTY

Аватара пользователя
Zyxmon
Администратор
Сообщения: 1313
Зарегистрирован: 09 авг 2015, 14:33

Сообщение Zyxmon » 10 мар 2016, 14:21

assio писал(а):Источник цитаты хоть убей-не могу на сетевухе создать симлинки.

Попробуйте на мышке создать :P
assio писал(а):Источник цитаты Приблизительно думаю так-ln -s "/share/www/Сетевая папка/Фильмы" "/MyServer/Фильмы"-но на эту команду матюгается.

Симлинк это файл, его можно создать там, где разрешена запись, например в /opt и подпапках.

assio
Сообщения: 2
Зарегистрирован: 08 мар 2016, 17:27

Сообщение assio » 11 мар 2016, 09:29

/opt подставлять пробовал-создается системный файл в исходной папке-возможно сервер сначала остановить надо?

Аватара пользователя
Zyxmon
Администратор
Сообщения: 1313
Зарегистрирован: 09 авг 2015, 14:33

Сообщение Zyxmon » 11 мар 2016, 10:00

assio, читателям форума не понять, что Вам нужно. В инструкции из начала темы ничего про симлинки нет. Помощь по командам linux в другом разделе!

antonof
Сообщения: 12
Зарегистрирован: 02 дек 2016, 21:54

Сообщение antonof » 18 дек 2016, 18:51

Не работает php что не так делаю???

/opt/etc/lighttpd/conf.d # lighttpd -f /opt/etc/lighttpd/lighttpd.conf
2016-12-18 18:44:26: (configfile.c.1078) source: cat /opt/etc/lighttpd/conf.d/*.conf line: 170 pos: 17 parser failed somehow near here: +=
2016-12-18 18:44:26: (configfile.c.1078) source: /opt/etc/lighttpd/lighttpd.conf line: 39 pos: 1 parser failed somehow near here: (EOL)

в файле 30-fastcgi.conf раскоментировал и поменял на
fastcgi.server = ( ".php" =>
( "php-local" =>
(
"socket" => "/opt/tmp/php-fastcgi-1.socket",
"bin-path" => "/opt/bin/php-fcgi",
"max-procs" => 1,
"broken-scriptfilename" => "enable",
)
),

СЕРВЕР ПЕРЕСТАЛ ЗАПУСКАТЬСЯ.

Снова комментирую все строчки # / Cервер запускается но пхп не работает.

antonof
Сообщения: 12
Зарегистрирован: 02 дек 2016, 21:54

Сообщение antonof » 18 дек 2016, 19:11

По фтп обратил внимания на

"socket" => "/opt/tmp/php-fastcgi-1.socket", нет такого файла
"bin-path" => "/opt/bin/php-fcgi", нет такого файла есть php-cgi или php-fpm

Аватара пользователя
TheBB
Сообщения: 70
Зарегистрирован: 31 авг 2015, 01:24
Откуда: 26 ~44.09,43.02

Сообщение TheBB » 20 дек 2016, 01:06

opkg install phpN-fastcgi , где N - версия php (5 или 7), которую используете
Keenetic Giga II NDMSv.2.06/2.11 + Entware-Keenetic/Entware-ng-3x&Gentoo; Keenetic DSL NDMSv.2.05/2.11 + Entware-Keenetic/Entware-ng-3x&Debian

antonof
Сообщения: 12
Зарегистрирован: 02 дек 2016, 21:54

Сообщение antonof » 20 дек 2016, 11:50

TheBB писал(а):Источник цитаты opkg install phpN-mod-fastcgi


/opt/home/admin # opkg install php5-mod-fastcgi
Package ext-ui-lighttpd version 0.1-4a has no valid architecture, ignoring.
Package ext-ui-lighttpd-7 version 0.1-1a has no valid architecture, ignoring.
Package ext-ui-nginx version 0.1-5a has no valid architecture, ignoring.
Package ext-ui-nginx-7 version 0.1-1a has no valid architecture, ignoring.
Package libndm version 1.1.0-1a has no valid architecture, ignoring.
Package music-center version 0.1-2c has no valid architecture, ignoring.
Package ndmq version 1.0.2-1a has no valid architecture, ignoring.
Package opt-ndmsv2 version 1.0-5c has no valid architecture, ignoring.
Unknown package 'php5-mod-fastcgi'.
Collected errors:
* opkg_install_cmd: Cannot install package php5-mod-fastcgi.

Пишет нет такого.


Вернуться в «Entware/Qnapware/Optware/Zyxware - обсуждаем репозитории пакетов»

Кто сейчас на конференции

Всего 5 посетителей :: 1 зарегистрированный, 0 скрытых и 4 гостя (основано на активности пользователей за последние 5 минут)
Больше всего посетителей (121) здесь было 18 май 2016, 18:19

Сейчас этот форум просматривают: CommonCrawl [Bot] и 4 гостя