1

Тема: Entware на черных кинетиках

В настоящий момент неофициальные прошивки 1.11  от 29.12.2013г и от 09.01.2014г содержат папу /opt. В результате мы имеем возможность использовать репозиторий entware и с черными кинетиками.

Для того, чтобы установить entware нужно скачать любой  из архивов
http://keenetic.zyxmon.org/entware/entw … eticII.zip
http://keenetic.zyxmon.org/entware/entw … eticII.tgz
и распаковать его на носитель, подключенный к кинетику (по сети) в любую папку, например в _tmp. Носитель должен определяться как DISK_A1 и поддерживать символические ссылки. Файловая система fat не подходит! Подходят ext2, ext3 и ntfs.
После этого заходим на кинетик по telnet и выполняем

flash || sh
cd /media/DISK_A1/<папка с файлами>
chmod +x entware_keenetic_install.sh
./entware_keenetic_install.sh

После окончания работы скрипта (можно определить по надписи
Info: Found a Bug? Please report at forum.zyxmon.org & wl500g-repo.googlecode.com) можно пользоваться entware - зайти по ssh, поменять пароль рута (после установки пароль zyxel), ставить пакеты. Для выхода из сессии telnet наберите два раза exit. У меня установка на старую медленную флешку заняла менее 3х минут.
Система теперь многопользовательская, можно создавать других пользователей и заходить под другими логинами ssh. Пакетов для entware существенно больше, чем для использовавшейся до этого системы (zyxware). Есть небольшое число пакетов, которые есть только в "zyxware". Поскольку entware универсальный репозиторий - модули ядра в нем отсутствуют. В entware используются свои системные библиотеки и при всех прочих равных entware будет потреблять больше памяти.

Прошу писать замечания по процессу установки. Пока намечается маленькая косметическая правка.

PS Прошивки можно скачать по ссылкам в теме http://forum.zyxmon.org/topic627-posled … tikov.html или по ссылкам из темы http://my.zyxel.ru/internet-centry-dlya … vsey-serii (нужна регистрация). Ссылки на версию от января 2014 на 6й странице, на декабрьскую - на первой.
Версии с суффиксом NOSMTC - без поддержки "многопроцессорности в ядре". Они немного медленнее, но в них нет бага, который возникает у некоторых провайдеров с мультикастом (IPTV). Возможно этот редкий баг есть и в других ситуациях.

2

Re: Entware на черных кинетиках

Zyxmon :

Ссылки на версию от января 2014 на 6й странице, на декабрьскую - на первой.
Версии с суффиксом NOSMTC - без поддержки "многопроцессорности в ядре".

Кстати, коллеги. Проверьте на досуге разницу в скорости работы bzip2 и pbzip2. Последний оптимизорован для мультипроцессорных систем и хотелось бы знать есть ли от неё какая-то выгода.

Со всеми вытекающими...

3

Re: Entware на черных кинетиках

Добрый день.

При запуске OpenVPN, а точнее вызове insmod /opt/lib/modules/tun.ko файл с модулем не находится, что логично!
В ядре же, модуль хоть и лежит в /lib/modules/2.6.22-tc/tun.ko, но при вызове insmod tun, файл безуспешно ищется в /lib/modules/2.6.22.15 .

Решается копированием tun.ko в /opt/lib/modules, или правкой S11openvpn.

P.S. Большое спасибо smile

4

Re: Entware на черных кинетиках

nevermind :

или правкой S11openvpn.

Лучше так. ЕМНИП об этом писал в теме про Entware и белые кинетики.

5

Re: Entware на черных кинетиках

Пока проверил работу mc и openvpn.
В скрипте /opt/etc/init.d/S20openvpn следует изменить строку с загрузкой модуля на следующую

insmod /lib/modules/current/tun.ko 

6

Re: Entware на черных кинетиках

Не могу сделать авторизацию по ключам, получаю "server refused our key"
в скрипте dropbear сделал по аналогии с ним же в zyxware
ARGS="-s -g -p 22"
ключ положил в \DISK_A1\opt\etc\dropbear\authorized_keys\

не работает

7

Re: Entware на черных кинетиках

yrzorg, при использовании Entware стоит забыть про DISK_A1. Есть только папка /opt!
Проверьте права на папку dropbear и файл authorized_keys. Попробуйте поместить ключи в ~/.ssh/authorized_keys
Запускайте dropbear из telnet и смотрите на что он ругается!

8

Re: Entware на черных кинетиках

Заметил эту тему, решил задать несколько вопросов по установки Entware на Giga 2. Прошивка - последняя из 1.11

1. Нужно ли форматировать флешку или удалять уже установленный ZyxWare?
2. На флешке имеется большой архив различных фильмов, которые смотрятся на телевизоре через DLNA роутера. Будет ли работать эта фича?
3. У меня установлен скрипт расширенного Web-интерфейса, будет ли он работать на EntWare?
4. Мне нужно, чтобы работали пакеты - mc, nano, minidlna (тот, который в прошивке), transmission, vnstat + пакеты из расширенного GUI (я не помню, что там, но там точно есть nginx+какие-то модули). Будет ли все это работать?
5. Имеется ли в Entware наш любимый gcc? А g++? (чисто из-за интереса спрашиваю)

9

Re: Entware на черных кинетиках

GooCom :

решил задать несколько вопросов по установки Entware на Giga 2.

1) Необязательно, необязательно(хотя работать Zyxware всё равно не будет)
2) Да. - Встроенный функционал роутера поломаться не должен(по-идее).
3) Нет.
4) Да, если поставите всё это в Entware.
5) Нет, конечно.

10

Re: Entware на черных кинетиках

1. Нужно как минимум переименовать (или удалить) папку /system (на большом брате). Если Entware "не пойдет", то будет достаточно удалить созданные в Entware папки /opt и /system. После этого вернуть назад переименованную папку /system (от zyxware).
2. Ваш албанский я не понял. Для просмотра фильмов нужен dlna сервер. Сами они на телевизоре не смотрятся.
3. После доработки - займитесь.
4. Да
5. Нет

11

Re: Entware на черных кинетиках

Инсталлятор обновлен (косметика)

12

Re: Entware на черных кинетиках

Zyxmon :

Попробуйте поместить ключи в ~/.ssh/authorized_keys

Проблема решилась удалением папки /authorized_keys/ и копированием файла ключа authorized_keys в папку /dropbear/

13

Re: Entware на черных кинетиках

Удалось сделать так, чтобы работал скрипт расширенного интерфейса - (http://forum.zyxmon.org/topic408-dopoln … rsiya.html). Заставил работать все, кроме менеджера файлов. Также заметил другую проблему - у меня нет файла /opt/etc/init.d/S10cron. То есть у меня нет скрипта запуска крона, хотя на crontab -e, crontab -r реагирует. Также сам демон крона обнаружился в /opt/sbin/crond. Вопрос - это баг? И как запускать cron?

14

Re: Entware на черных кинетиках

GooCom :

Вопрос - это баг? И как запускать cron?

Это не баг, это просто нет скрипта Sxxcron.  wink  Создайте сами(по аналогии).

15

Re: Entware на черных кинетиках

Dr.Acid :

Создайте сами(по аналогии).

OK, буду пробовать, но суть в том, что в соседней ветке (запуск entware на белых кинтетиках) люди пишут, что у них есть S10cron. Может у меня просто прошивка не доставилась?

16

Re: Entware на черных кинетиках

GooCom, В Entware есть два cron'a. Один - апплет busybox, работает как и в zyxware (специально проверил на Ultra). Скрипт придется сделать самому или взять из zyxware. Есть еще и пакет cron - в нем бинарник работает несколько иначе (см. тему про Entware на белых) но идет со скриптом.

17

Re: Entware на черных кинетиках

Zyxmon, как раз только исправил скрипт с Zyxware и увидел ваше сообщение. Теперь у меня 2 рабочих cron'а. Оставлю себе вариант cron из репозитория. Он удобнее.

Если что, скрипт cron из zyxware, адаптированный к нам.


#!/bin/sh

MOUNTPNT="/opt"
MOUNT="$MOUNTPNT"

CRON="$MOUNT/sbin/crond"

export PATH=$MOUNT/bin:$MOUNT/sbin:$MOUNT/usr/bin:$MOUNT/usr/sbin:/sbin:/usr/sbin:/bin:/usr/bin
export LD_LIBRARY_PATH=$MOUNT/lib:$MOUNT/usr/lib:/lib:/usr/lib

start() {
        $CRON -L /dev/null
}

 stop() {
        killall crond
}

 case "$1" in
        start)
            start
            ;;
        stop)
            stop
            ;;
        restart)
            stop
            start
            ;;
        *)
            echo "Usage: $0 {start|stop}"
            ;;
esac

18

Re: Entware на черных кинетиках

А проще так

#!/bin/sh

ENABLED=yes
PROCS=crond
ARGS="-L /dev/null"
PREARGS=""
DESC=$PROCS
PATH=/opt/sbin:/opt/bin:/opt/usr/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin

. /opt/etc/init.d/rc.func

19

Re: Entware на черных кинетиках

Сейчас очень долго издевался на файловым менеджером и обнаружил интересный баг, да и баг ли? При установленном php_mod_session (естественно, во всех конфигах он активен) не работают PHP-скрипты, которые его требуют. Например, я попытался поставить свой любимый eXtprorer (на ZyxWare он работал), но получил результат - Fatal error: Call to undefined function session_name() in /opt/web/filemanager/libraries/standalone.php on line 66. Погуглив понял, что проблема именно в Mod_Session. Собственно баг, или я что-то недоглядел?

Файл php.ini


[PHP]

zend.ze1_compatibility_mode = Off

; Language Options

engine = On
;short_open_tag = Off
precision    =  12
y2k_compliance = On
output_buffering = Off
;output_handler =
zlib.output_compression = Off
;zlib.output_compression_level = -1
;zlib.output_handler =
implicit_flush = Off
unserialize_callback_func =
serialize_precision = 100

;open_basedir =
disable_functions =
disable_classes =

; Colors for Syntax Highlighting mode.  Anything that's acceptable in
; <span style="color: ???????"> would work.
;highlight.string  = #DD0000
;highlight.comment = #FF9900
;highlight.keyword = #007700
;highlight.bg      = #FFFFFF
;highlight.default = #0000BB
;highlight.html    = #000000

;ignore_user_abort = On
;realpath_cache_size = 16k
;realpath_cache_ttl = 120

; Miscellaneous

expose_php = On

; Resource Limits

max_execution_time = 30    ; Maximum execution time of each script, in seconds.
max_input_time = 60    ; Maximum amount of time each script may spend parsing request data.
;max_input_nesting_level = 64
memory_limit = 8M    ; Maximum amount of memory a script may consume.

; Error handling and logging

; Error Level Constants:
; E_ALL             - All errors and warnings (includes E_STRICT as of PHP 6.0.0)
; E_ERROR           - fatal run-time errors
; E_RECOVERABLE_ERROR  - almost fatal run-time errors
; E_WARNING         - run-time warnings (non-fatal errors)
; E_PARSE           - compile-time parse errors
; E_NOTICE          - run-time notices (these are warnings which often result
;                     from a bug in your code, but it's possible that it was
;                     intentional (e.g., using an uninitialized variable and
;                     relying on the fact it's automatically initialized to an
;                     empty string)
; E_STRICT            - run-time notices, enable to have PHP suggest changes
;                     to your code which will ensure the best interoperability
;                     and forward compatibility of your code
; E_CORE_ERROR      - fatal errors that occur during PHP's initial startup
; E_CORE_WARNING    - warnings (non-fatal errors) that occur during PHP's
;                     initial startup
; E_COMPILE_ERROR   - fatal compile-time errors
; E_COMPILE_WARNING - compile-time warnings (non-fatal errors)
; E_USER_ERROR      - user-generated error message
; E_USER_WARNING    - user-generated warning message
; E_USER_NOTICE     - user-generated notice message
; E_DEPRECATED      - warn about code that will not work in future versions
;                     of PHP
; E_USER_DEPRECATED - user-generated deprecation warnings
;
; Common Values:
;   E_ALL & ~E_NOTICE  (Show all errors, except for notices and coding standards warnings.)
;   E_ALL & ~E_NOTICE | E_STRICT  (Show all errors, except for notices)
;   E_COMPILE_ERROR|E_RECOVERABLE_ERROR|E_ERROR|E_CORE_ERROR  (Show only errors)
;   E_ALL | E_STRICT  (Show all errors, warnings and notices including coding standards.)
; Default Value: E_ALL & ~E_NOTICE
error_reporting  =  E_ALL & ~E_NOTICE & ~E_STRICT

display_errors = On
display_startup_errors = Off
log_errors = Off
log_errors_max_len = 1024
ignore_repeated_errors = Off
ignore_repeated_source = Off
report_memleaks = On
;report_zend_debug = 0
track_errors = Off
;html_errors = Off
;docref_root = "/phpmanual/"
;docref_ext = .html
;error_prepend_string = "<font color=#ff0000>"
;error_append_string = "</font>"
; Log errors to specified file.
;error_log = /var/log/php_errors.log
; Log errors to syslog.
;error_log = syslog

; Data Handling

;arg_separator.output = "&amp;"
;arg_separator.input = ";&"
variables_order = "EGPCS"
request_order = "GP"
register_globals = Off
register_long_arrays = Off
register_argc_argv = On
auto_globals_jit = On
post_max_size = 8M
;magic_quotes_gpc = Off
magic_quotes_runtime = Off
magic_quotes_sybase = Off
auto_prepend_file =
auto_append_file =
default_mimetype = "text/html"
;default_charset = "iso-8859-1"
;always_populate_raw_post_data = On

; Paths and Directories

; UNIX: "/path1:/path2"
;include_path = ".:/php/includes"
doc_root = "/opt/web"
user_dir =
extension_dir = "/opt/usr/lib/php"
enable_dl = On
;cgi.force_redirect = 1
;cgi.nph = 1
;cgi.redirect_status_env = ;
cgi.fix_pathinfo=1
;fastcgi.impersonate = 1;
;fastcgi.logging = 0
;cgi.rfc2616_headers = 0

; File Uploads

file_uploads = On
upload_tmp_dir = "/opt/tmp"
upload_max_filesize = 2M
max_file_uploads = 20

; Fopen wrappers

allow_url_fopen = On
allow_url_include = Off
;from="john@doe.com"
;user_agent="PHP"
default_socket_timeout = 60
;auto_detect_line_endings = Off

; Dynamic Extensions

;extension=ctype.so
;extension=curl.so
;extension=dom.so
;extension=exif.so
;extension=ftp.so
;extension=gd.so
;extension=gmp.so
;extension=hash.so
;extension=iconv.so
;extension=json.so
;extension=ldap.so
;extension=mbstring.so
;extension=mcrypt.so
;extension=mysql.so
;extension=openssl.so
;extension=pcre.so
;extension=pdo.so
;extension=pdo-mysql.so
;extension=pdo-pgsql.so
;extension=pdo_sqlite.so
;extension=pgsql.so
extension=session.so
;extension=soap.so
;extension=sockets.so
;extension=sqlite.so
;extension=sqlite3.so
;extension=tokenizer.so
;extension=xml.so
;extension=xmlreader.so
;extension=xmlwriter.so

; Module Settings

[APC]
apc.enabled = 1
apc.shm_segments = 1    ;The number of shared memory segments to allocate for the compiler cache.
apc.shm_size = 4M    ;The size of each shared memory segment.

[Date]
date.timezone = Europe/Moscow
;date.default_latitude = 31.7667
;date.default_longitude = 35.2333
;date.sunrise_zenith = 90.583333
;date.sunset_zenith = 90.583333

[filter]
;filter.default = unsafe_raw
;filter.default_flags =

[iconv]
;iconv.input_encoding = ISO-8859-1
;iconv.internal_encoding = ISO-8859-1
;iconv.output_encoding = ISO-8859-1

[sqlite]
;sqlite.assoc_case = 0

[sqlite3]
;sqlite3.extension_dir =

[Pdo_mysql]
pdo_mysql.cache_size = 2000
pdo_mysql.default_socket=

[MySQL]
mysql.allow_local_infile = On
mysql.allow_persistent = On
mysql.cache_size = 2000
mysql.max_persistent = -1
mysql.max_links = -1
mysql.default_port =
mysql.default_socket =
mysql.default_host =
mysql.default_user =
mysql.default_password =
mysql.connect_timeout = 60
mysql.trace_mode = Off

[PostgresSQL]
pgsql.allow_persistent = On
pgsql.auto_reset_persistent = Off
pgsql.max_persistent = -1
pgsql.max_links = -1
pgsql.ignore_notice = 0
pgsql.log_notice = 0

[Session]
session.save_handler = files
session.save_path = "/opt/tmp"
session.use_cookies = 1
;session.cookie_secure =
session.use_only_cookies = 1
session.name = PHPSESSID
session.auto_start = 0
session.cookie_lifetime = 0
session.cookie_path = /
session.cookie_domain =
session.cookie_httponly =
session.serialize_handler = php
session.gc_probability = 1
session.gc_divisor     = 100
session.gc_maxlifetime = 1440
session.bug_compat_42 = On
session.bug_compat_warn = On
session.referer_check =
session.entropy_length = 0
;session.entropy_file = /dev/urandom
session.entropy_file =
;session.entropy_length = 16
session.cache_limiter = nocache
session.cache_expire = 180
session.use_trans_sid = 0
session.hash_function = 0
session.hash_bits_per_character = 4
;url_rewriter.tags = "a=href,area=href,frame=src,input=src,form=,fieldset="

[mbstring]
;mbstring.language = Japanese
;mbstring.internal_encoding = EUC-JP
;mbstring.http_input = auto
;mbstring.http_output = SJIS
;mbstring.encoding_translation = Off
;mbstring.detect_order = auto
;mbstring.substitute_character = none;
;mbstring.func_overload = 0
;mbstring.strict_detection = Off
;mbstring.http_output_conv_mimetype=
;mbstring.script_encoding=

[gd]
;gd.jpeg_ignore_warning = 0

[exif]
;exif.encode_unicode = ISO-8859-15
;exif.decode_unicode_motorola = UCS-2BE
;exif.decode_unicode_intel    = UCS-2LE
;exif.encode_jis =
;exif.decode_jis_motorola = JIS
;exif.decode_jis_intel    = JIS

[soap]
soap.wsdl_cache_enabled=1
soap.wsdl_cache_dir="/opt/tmp"
soap.wsdl_cache_ttl=86400
soap.wsdl_cache_limit = 5

[sysvshm]
;sysvshm.init_mem = 10000

[ldap]
ldap.max_links = -1

[mcrypt]
;mcrypt.algorithms_dir=
;mcrypt.modes_dir=

lighttpd.conf


# lighttpd configuration file
#
## modules to load
# all other module should only be loaded if really neccesary
# - saves some time
# - saves memory
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"
)

# force use of the "write" backend (closes: #2401)
server.network-backend = "write"

## a static document-root, for virtual-hosting take look at the
## server.virtual-* options
server.document-root = "/opt/web/"

## where to send error-messages to
server.errorlog = "/opt/var/log/lighttpd/error.log"

## files to check for if .../ is requested
index-file.names = ( "index.html", "default.html", "index.htm", "default.htm", "index.php" )

## mimetype mapping
mimetype.assign = (
    ".pdf"   => "application/pdf",
    ".class" => "application/octet-stream",
    ".pac"   => "application/x-ns-proxy-autoconfig",
    ".swf"   => "application/x-shockwave-flash",
    ".wav"   => "audio/x-wav",
    ".gif"   => "image/gif",
    ".jpg"   => "image/jpeg",
    ".jpeg"  => "image/jpeg",
    ".png"   => "image/png",
    ".svg"   => "image/svg+xml",
    ".css"   => "text/css",
    ".html"  => "text/html",
    ".htm"   => "text/html",
    ".js"    => "text/javascript",
    ".txt"   => "text/plain",
    ".dtd"   => "text/xml",
    ".xml"   => "text/xml"
 )

## Use the "Content-Type" extended attribute to obtain mime type if possible
#mimetypes.use-xattr = "enable"

## send a different Server: header
## be nice and keep it at lighttpd
#server.tag = "lighttpd"

$HTTP["url"] =~ "\.pdf$" {
    server.range-requests = "disable"
}

##
# which extensions should not be handle via static-file transfer
#
# .php, .pl, .fcgi are most often handled by mod_fastcgi or mod_cgi
static-file.exclude-extensions = ( ".php", ".pl", ".fcgi" )

######### Options that are good to be but not neccesary to be changed #######

## bind to port (default: 80)
server.port = 88

## bind to localhost (default: all interfaces)
#server.bind = "localhost"

## error-handler for status 404
#server.error-handler-404 = "/error-handler.html"
#server.error-handler-404 = "/error-handler.php"

## to help the rc.scripts
server.pid-file = "/var/run/lighttpd.pid"


###### virtual hosts
##
##   If you want name-based virtual hosting add the next three settings and load
##   mod_simple_vhost
##
## document-root =
##   virtual-server-root + virtual-server-default-host + virtual-server-docroot or
##   virtual-server-root + http-host + virtual-server-docroot
##
#simple-vhost.server-root = "/home/weigon/wwwroot/servers/"
#simple-vhost.default-host = "grisu.home.kneschke.de"
#simple-vhost.document-root = "/pages/"


##
## Format: <errorfile-prefix><status>.html
## -> ..../status-404.html for 'File not found'
#server.errorfile-prefix = "/www/error-"

## virtual directory listings
#server.dir-listing = "enable"

## send unhandled HTTP-header headers to error-log
#debug.dump-unknown-headers = "enable"

### only root can use these options
#
# chroot() to directory (default: no chroot() )
#server.chroot = "/"

## change uid to <uid> (default: don't care)
#server.username = "nobody"
#
server.upload-dirs = ( "/opt/tmp" )

## change uid to <uid> (default: don't care)
#server.groupname = "nobody"

#### compress module
#compress.cache-dir          = "/dev/null/"
#compress.filetype           = ("text/plain", "text/html")

#### proxy module
## read proxy.txt for more info
#proxy.server = (
#    ".php" => (
#        "localhost" => (
#            "host" => "192.168.0.101",
#            "port" => 80
#        )
#    )
#)

#### fastcgi module
## read fastcgi.txt for more info
fastcgi.server = (
    ".php" => (
        "localhost" => (
            "socket" => "/opt/tmp/php-fastcgi.socket",
            "bin-path" => "/opt/bin/php-fcgi"
        )
    )
)

#### CGI module
#cgi.assign = ( ".pl"  => "/opt/bin/perl", ".cgi" => "/opt/bin/perl" )

#### SSL engine
#ssl.engine = "enable"
#ssl.pemfile = "server.pem"

#### status module
#status.status-url = "/server-status"
#status.config-url = "/server-config"

#### auth module
## read authentification.txt for more info
#auth.backend = "plain"
#auth.backend.plain.userfile = "lighttpd.user"
#auth.backend.plain.groupfile = "lighttpd.group"
#auth.require = (
#    "/server-status" => (
#        "method"  => "digest",
#        "realm"   => "download archiv",
#        "require" => "group=www|user=jan|host=192.168.2.10"
#    ),
#    "/server-info" => (
#        "method"  => "digest",
#        "realm"   => "download archiv",
#        "require" => "group=www|user=jan|host=192.168.2.10"
#    )
#)

#### url handling modules (rewrite, redirect, access)
#url.rewrite = ( "^/$" => "/server-status" )
#url.redirect = ( "^/wishlist/(.+)" => "http://www.123.org/$1" )

#### both rewrite/redirect support back reference to regex conditional using %n
#$HTTP["host"] =~ "^www\.(.*)" {
#    url.redirect = ( "^/(.*)" => "http://%1/$1" )
#}

#### expire module
#expire.url = ( "/buggy/" => "access 2 hours", "/asdhas/" => "access plus 1 seconds 2 minutes")

#### ssi
#ssi.extension = ( ".shtml" )

#### setenv
#setenv.add-request-header  = ( "TRAV_ENV" => "mysql://user@host/db" )
#setenv.add-response-header = ( "X-Secret-Message" => "42" )

#### variable usage:
## variable name without "." is auto prefixed by "var." and becomes "var.bar"
#bar = 1
#var.mystring = "foo"

## integer add
#bar += 1
## string concat, with integer cast as string, result: "www.foo1.com"
#server.name = "www." + mystring + var.bar + ".com"
## array merge
#index-file.names = (foo + ".php") + index-file.names
#index-file.names += (foo + ".php")

#### include
#include /opt/etc/lighttpd/lighttpd-inc.conf
## same as above if you run: "lighttpd -f /opt/etc/lighttpd/lighttpd.conf"
#include "lighttpd-inc.conf"

#### include_shell
#include_shell "echo var.a=1"
## the above is same as:
#var.a=1

#### webdav
#$HTTP["url"] =~ "^/webdav($|/)" {
# webdav.activate = "enable"
# webdav.is-readonly = "enable"
# webdav.sqlite-db-name = "/opt/var/run/lighttpd-webdav-lock.db"
#}

20

Re: Entware на черных кинетиках

GooCom, я очень поверхностно знаю php (почти не знаю), но провел такую проверку (на Ultra с Entware). Ошибки в простейшем случае (выдрано из инета) нет.
1. Пакеты

~ # opkg list-installed | grep php5
php5 - 5.4.27-1
php5-cli - 5.4.27-1
php5-mod-session - 5.4.27-1

2. php код (из инета)

~ # cat phps.php
<?php
session_start();
echo session_id();
echo "
----
";
echo session_name();
?>

3. Проверка

~ # php-cli -f phps.php
a4f09b27ed34ba0966f0fd05f2ff73f0
----
PHPSESSID

Правильный ли результат (PHPSESSID) возвращает функция session_name() я не знаю. Но функция такая находится и вызывается.

21

Re: Entware на черных кинетиках

Zyxmon, сам знаю PHP по книжке из разряда "PHP для чайников" big_smile. Проблема решена, я просто забыл установить php-cli, а также зря раскомментировал модуль session в php.ini. Собственно, теперь весь расширенный интерфейс у меня работает, в скором времени оздам скрипт-установщик и выложу сюда и в ветку "Расширенный WEB-интерфейс на PHP" (или как она там называется?).

22

Re: Entware на черных кинетиках

GooCom :

и выложу сюда и в ветку

Можно выкладывать файлы в местный wiki. http://keenetic.zyxmon.org/wiki/doku.php/start?do=media
Закладка "Загрузка" будет работать после регистрации и логина. (это я для всех пишу).
PS php-cli - это консольная утилита для запуска php скриптов без браузера.

23

Re: Entware на черных кинетиках

GooCom :

в скором времени оздам скрипт-установщик и выложу сюда и в ветку "Расширенный WEB-интерфейс на PHP" (или как она там называется?).

Да, было бы неплохо. Та тема - Дополнительные возможности веб-интерфейса (php версия)

24

Re: Entware на черных кинетиках

Собственно, все готово и, по идее, должно запускаться по скрипту :

wget -O - http://keenetic.zyxmon.org/wiki/lib/exe/fetch.php/install.sh | sh

Только вот почему-то wget отказывается качать, так что на данный момент придется делать установку вручную.

25

Re: Entware на черных кинетиках

GooCom, После того, как отпишутся, что работает, я перенесу файл. Тем более, что в корень "хранилища" выкладывать не комильфо. Лучше в downloads.