-
Постов
2 501 -
Зарегистрирован
-
Посещение
-
Победитель дней
54
Тип контента
Профили
Форумы
Галерея
Загрузки
Блоги
События
Сообщения, опубликованные TheBB
-
-
Не подскажете, работает ли xupnpd? При моих ТВ это критически важно, не хочется с V1 впустую соскакивать опять.
Прочитайте и решите сами, нужно вам или нет.
-
NTFS? несколько постов вниз
-
... может я файл не там и не тот создал??? "Создаем файл с выводом информации о РНР" если можно, уточните где его создать?
в примере: /opt/share/www/phpinfo.php со следующим содержанием <?php phpinfo(); ?>
смотрите лог /opt/var/log/nginx/error.log
-
opkg install php5-mod-iconv
не хватает php-mod-* (надо уточнить у автора ТМ зависимости, т.к. здесь написано только про сервер, php c pdo и curl, БД)
-
-
файл config.php.example переименовали в config.php? раскомментировали строки (# - удалили) и исправили (поменяли) данные в нем?
-
Вас направили не сюда, а в соседнюю тему на том же форуме (ссылка выше). Набирайте
crontab -е
и правьте задания cron`a, как нужно вам...
-
cron в Entware-(ng/Keenetic)
-
opkg list snmp*
поддержка будет минимальна
-
"неправильный путь" : заменить в конфиге сервера пользователя с nobody на root (проблемы NTFS не решает, но дает возможность запустить)
-
Попробуйте сменить NTFS на другую файловую систему, напр., ext2 или ext3
upd: на вопросы "зачем и почему?" драйвер tuxera и здесь
-
Исправим, как подскажите, что и как настраивали, какую систему пакетов используете...При попытке зай ти на адрес 192.168.1.1:88/tm ... (13: Permission denied)... 192.168.1.33..."192.168.1.13:88"Подскажите как исправите.?
-
файл с указанным именем надо создать по указанному пути, вставить приложенный код и сделать файл исполняемым
-
Устанавливаем минимальный набор пакетов (чтоб запустить)
Сервер для Entware-Keenetic/Entware-3x
opkg install nginx
MySQL(MariaDB) PHP7
Общий список пакетов для обеих систем
opkg install php7-cli php7-fastcgi php7-mod-curl php7-mod-iconv \ php7-mod-json php7-mod-mbstring php7-mod-pdo php7-mod-pdo-mysql \ php7-mod-session php7-mod-simplexml php7-mod-xml php7-mod-zip
Правим nginx.conf примерно до следующего вида:
Скрытый текстuser nobody; worker_processes 1; #error_log /opt/var/log/nginx/error.log; #error_log /opt/var/log/nginx/error.log notice; #error_log /opt/var/log/nginx/error.log info; #pid /opt/var/run/nginx.pid; events { worker_connections 64; } http { include mime.types; default_type application/octet-stream; #log_format main '$remote_addr - $remote_user [$time_local] "$request" ' # '$status $body_bytes_sent "$http_referer" ' # '"$http_user_agent" "$http_x_forwarded_for"'; #access_log /opt/var/log/nginx/access.log main; sendfile on; #tcp_nopush on; #keepalive_timeout 0; keepalive_timeout 65; #gzip on; server { listen 88; server_name localhost; #charset koi8-r; #access_log /opt/var/log/nginx/host.access.log; location / { root /opt/share/www; index index.php index.html index.htm; } #error_page 404 /404.html; # redirect server error pages to the static page /50x.html # error_page 500 502 503 504 /50x.html; location = /50x.html { root /opt/share/www/html; } # proxy the PHP scripts to Apache listening on 127.0.0.1:80 # #location ~ \.php$ { # proxy_pass http://127.0.0.1; #} # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000 # location ~ \.php$ { root /opt/share/www; fastcgi_pass unix:/opt/var/run/php-fcgi.sock; fastcgi_index index.php; # fastcgi_param SCRIPT_FILENAME /scripts$fastcgi_script_name; include fastcgi_params; } # deny access to .htaccess files, if Apache's document root # concurs with nginx's one # #location ~ /\.ht { # deny all; #} } # another virtual host using mix of IP-, name-, and port-based configuration # #server { # listen 8000; # listen somename:8080; # server_name somename alias another.alias; # location / { # root html; # index index.html index.htm; # } #} # HTTPS server # #server { # listen 443 ssl; # server_name localhost; # ssl_certificate cert.pem; # ssl_certificate_key cert.key; # ssl_session_cache shared:SSL:1m; # ssl_session_timeout 5m; # ssl_ciphers HIGH:!aNULL:!MD5; # ssl_prefer_server_ciphers on; # location / { # root html; # index index.html index.htm; # } #} }
Также правим fastcgi_params (добавим пару строк)
Скрытый текстfastcgi_param QUERY_STRING $query_string; fastcgi_param REQUEST_METHOD $request_method; fastcgi_param CONTENT_TYPE $content_type; fastcgi_param CONTENT_LENGTH $content_length; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; fastcgi_param SCRIPT_NAME $fastcgi_script_name; fastcgi_param REQUEST_URI $request_uri; fastcgi_param DOCUMENT_URI $document_uri; fastcgi_param DOCUMENT_ROOT $document_root; fastcgi_param SERVER_PROTOCOL $server_protocol; fastcgi_param REQUEST_SCHEME $scheme; fastcgi_param HTTPS $https if_not_empty; fastcgi_param GATEWAY_INTERFACE CGI/1.1; fastcgi_param SERVER_SOFTWARE nginx/$nginx_version; fastcgi_param REMOTE_ADDR $remote_addr; fastcgi_param REMOTE_PORT $remote_port; fastcgi_param SERVER_ADDR $server_addr; fastcgi_param SERVER_PORT $server_port; fastcgi_param SERVER_NAME $server_name; # PHP only, required if PHP was built with --enable-force-cgi-redirect fastcgi_param REDIRECT_STATUS 200;
Создаем скрипт запуска S79php-fcgi
#!/bin/sh export PHP_FCGI_CHILDREN='' ENABLED=yes PROCS=php-fcgi ARGS="-b /opt/var/run/php-fcgi.sock &" PREARGS="" DESC=$PROCS PATH=/opt/bin:/opt/sbin:/opt/usr/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin . /opt/etc/init.d/rc.func
И делаем его исполняемым chmod +x /opt/etc/init.d/S79php-fcgi
Редактируем 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 = /opt/var/log/php_errors.log ; Log errors to syslog. ;error_log = syslog ; Data Handling ;arg_separator.output = "&" ;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/share/www" user_dir = extension_dir = "/opt/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
Проверяем корректность конфига nginx, если ошибок нет, то видим следующее
nginx -t nginx: the configuration file /opt/etc/nginx/nginx.conf syntax is ok nginx: configuration file /opt/etc/nginx/nginx.conf test is successful
Если есть ошибки, то сообщит с указанием строки
Создаем каталог для файлов сервера и файл, с выводом информации о РНР
mkdir /opt/share/www echo "<?php phpinfo(); ?>" >> /opt/share/www/phpinfo.php
Стартуем сервисы
/opt/etc/init.d/S79php-fcgi start /opt/etc/init.d/S80nginx start
Идем по ip.add.re.ss:88/phpinfo.php и смотрим на вывод (если ничего нет - проверяем, что сделали не так)
Cкачать и распаковать архив с torrentmonitor`ом любым удобным способом (в примере ниже - будет использоваться путь: /opt/share/www/tm)
Ставим "Машку"
opkg install mariadb-server mariadb-client-extra
Создаём базу данных (БД)
mysql_install_db
Запускаем сервис
/opt/etc/init.d/S70mariadbd start
Задаем пароль для доступа к БД (в примере ниже - Passw0rd)
mysqladmin -u root password "Passw0rd"
Подключаемся к БД с созданным паролем
mysql -u root -p
Создаем БД для Torrentmonitor
create database tm;
Меняем БД для работы с ней
\u tm
Импортируем таблицы
source /opt/share/www/tm/db_schema/mysql.sql
Выход из MariaDB
\q
Перезапустим сервис, чтоб подхватилась созданная БД
/opt/etc/init.d/S70mariadbd restart
Переименовываем файл /opt/share/www/tm/config.php.example в config.php и редактируем:
... #Для MySQL: Config::write('db.host', 'localhost'); Config::write('db.type', 'mysql'); Config::write('db.charset', 'utf8'); Config::write('db.port', '3306'); Config::write('db.basename', 'tm'); # имя БД Config::write('db.user', 'root'); # имя пользователя для доступа к БД Config::write('db.password', 'Passw0rd'); # пароль к БД #Для PostgreSQL:...
Переходим в браузере на ip.add.re.ss:88/tm , появится страница входа (пароль на вход - torrentmonitor).
SQLite PHP7
ставим пакеты:
opkg install php7-cli php7-fastcgi php7-mod-curl php7-mod-iconv \ php7-mod-json php7-mod-mbstring php7-mod-pdo php7-mod-pdo-sqlite \ php7-mod-session php7-mod-simplexml php7-mod-xml php7-mod-zip
создаём скрипт запуска php `mcedit /opt/etc/init.d/S79php-fcgi` и делаем его исполняемым `chmod +x /opt/etc/init.d/S79php-fcgi`
#!/bin/sh export PHP_FCGI_CHILDREN='' ENABLED=yes PROCS=php-fcgi ARGS="-b /opt/var/run/php-fcgi.sock &" PREARGS="" DESC=$PROCS PATH=/opt/bin:/opt/sbin:/opt/usr/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin . /opt/etc/init.d/rc.func
правим конфиг nginx `mcedit /opt/etc/nginx/nginx.conf`:
Скрытый текстuser nobody; worker_processes 1; #error_log /opt/var/log/nginx/error.log; #error_log /opt/var/log/nginx/error.log notice; #error_log /opt/var/log/nginx/error.log info; #pid /opt/var/run/nginx.pid; events { worker_connections 64; } http { include mime.types; default_type application/octet-stream; #log_format main '$remote_addr - $remote_user [$time_local] "$request" ' # '$status $body_bytes_sent "$http_referer" ' # '"$http_user_agent" "$http_x_forwarded_for"'; #access_log /opt/var/log/nginx/access.log main; sendfile on; #tcp_nopush on; #keepalive_timeout 0; keepalive_timeout 65; #gzip on; server { listen 88; server_name localhost; #charset koi8-r; #access_log /opt/var/log/nginx/host.access.log; location / { root /opt/share/www; index index.php index.html index.htm; } #error_page 404 /404.html; # redirect server error pages to the static page /50x.html # error_page 500 502 503 504 /50x.html; location = /50x.html { root /opt/share/www/html; } # proxy the PHP scripts to Apache listening on 127.0.0.1:80 # #location ~ \.php$ { # proxy_pass http://127.0.0.1; #} # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000 # location ~ \.php$ { root /opt/share/www; fastcgi_pass unix:/opt/var/run/php-fcgi.sock; fastcgi_index index.php; # fastcgi_param SCRIPT_FILENAME /scripts$fastcgi_script_name; include fastcgi_params; } # deny access to .htaccess files, if Apache's document root # concurs with nginx's one # #location ~ /\.ht { # deny all; #} } # another virtual host using mix of IP-, name-, and port-based configuration # #server { # listen 8000; # listen somename:8080; # server_name somename alias another.alias; # location / { # root html; # index index.html index.htm; # } #} # HTTPS server # #server { # listen 443 ssl; # server_name localhost; # ssl_certificate cert.pem; # ssl_certificate_key cert.key; # ssl_session_cache shared:SSL:1m; # ssl_session_timeout 5m; # ssl_ciphers HIGH:!aNULL:!MD5; # ssl_prefer_server_ciphers on; # location / { # root html; # index index.html index.htm; # } #} }
и `mcedit /opt/etc/nginx/fastcgi_params`
Скрытый текстfastcgi_param QUERY_STRING $query_string; fastcgi_param REQUEST_METHOD $request_method; fastcgi_param CONTENT_TYPE $content_type; fastcgi_param CONTENT_LENGTH $content_length; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; fastcgi_param SCRIPT_NAME $fastcgi_script_name; fastcgi_param REQUEST_URI $request_uri; fastcgi_param DOCUMENT_URI $document_uri; fastcgi_param DOCUMENT_ROOT $document_root; fastcgi_param SERVER_PROTOCOL $server_protocol; fastcgi_param REQUEST_SCHEME $scheme; fastcgi_param HTTPS $https if_not_empty; fastcgi_param GATEWAY_INTERFACE CGI/1.1; fastcgi_param SERVER_SOFTWARE nginx/$nginx_version; fastcgi_param REMOTE_ADDR $remote_addr; fastcgi_param REMOTE_PORT $remote_port; fastcgi_param SERVER_ADDR $server_addr; fastcgi_param SERVER_PORT $server_port; fastcgi_param SERVER_NAME $server_name; # PHP only, required if PHP was built with --enable-force-cgi-redirect fastcgi_param REDIRECT_STATUS 200;
и для php - `mcedit /opt/etc/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 = 300 ; 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 = On 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 = /opt/var/log/php_errors.log ; Log errors to syslog. ;error_log = syslog ; Data Handling ;arg_separator.output = "&" ;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/share/www" user_dir = extension_dir = "/opt/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
если в конфиг nginx вносили свои изменения, проверяем синтаксис на корректность `nginx -t` (для копи-пасты - не надо, проверено
)
если не создан, создаём каталог для файлов сервера `mkdir /opt/share/www`
"пара штрихов к портрету" `echo "<?php phpinfo(); ?>" >> /opt/share/www/phpinfo.php` и `ln -s /opt/share/nginx/html/ /opt/share/www/html`
стартуем сервисы `/opt/etc/init.d/S79php-fcgi start` и `/opt/etc/init.d/S80nginx start`
идём на адрес:88/html/ и смотрим приветственную страницу nginx, по адресу:88/phpinfo.php - сводную информацию о php (если нет - снова перечитываем и проходим все шаги ещё раз
)
Качаем архив `wget http://korphome.ru/torrent_monitor/tm-latest.zip` , ставим пакет `opkg install unzip` и распаковываем `unzip tm-latest.zip -x -d /opt/share/www/`
не нравиться имя папки? меняем (напр., tm) `mv /opt/share/www/TorrentMonitor-master/ /opt/share/www/tm` и переходим в неё `cd /opt/share/www/tm/`
Готовим конфиг `cp config.php.example config.php` `mcedit config.php`
Скрытый текст<?php class Config { static $confArray; public static function read($name) { return self::$confArray[$name]; } public static function write($name, $value) { self::$confArray[$name] = $value; } } #Для MySQL: #Config::write('db.host', 'localhost'); #Config::write('db.type', 'mysql'); #Config::write('db.charset', 'utf8'); #Config::write('db.port', '3306'); #Config::write('db.basename', 'torrentmonitor'); #Config::write('db.user', 'torrentmonitor'); #Config::write('db.password', 'torrentmonitor'); #Для PostgreSQL: #Config::write('db.host', 'localhost'); #Config::write('db.type', 'pgsql'); #Config::write('db.port', '5432'); #Config::write('db.basename', 'torrentmonitor'); #Config::write('db.user', 'torrentmonitor'); #Config::write('db.password', 'torrentmonitor'); #Для SQLite: Config::write('db.type', 'sqlite'); Config::write('db.basename', '/opt/var/torrentmonitor.sqlite'); #Указывайте _абсолютный_ путь до файла БД (расширение рекомендуется использовать .sqlite) ?>
ставим пакет `opkg install sqlite3-cli` и импортируем таблицы БД `cat db_schema/sqlite.sql | sqlite3 /opt/var/torrentmonitor.sqlite`, до кучи - задаём права доступа `chmod 666 /opt/var/torrentmonitor.sqlite`
Всё! Можно отправляться по известному адресу и настраивать на работу...
Не забываем добавить в cron задание
*/30 * * * * php-cli /opt/share/www/tm/engine.php >> /opt/var/log/torrent_monitor_error.log 2>&1
-
2
-
-
Скрытый текст
устарело...
Устанавливаем минимальный набор пакетов (чтоб запустить)
opkg install nginx php7-fastcgi php7-mod-curl php7-mod-dom php7-mod-hash php7-mod-iconv \ php7-mod-json php7-mod-mbstring php7-mod-mysqli php7-mod-session mariadb-server \ mariadb-client mariadb-client-extra
Правим nginx.conf примерно до следующего вида:
user nobody; worker_processes 1; events { worker_connections 64; } http { include mime.types; default_type application/octet-stream; sendfile on; keepalive_timeout 65; server { listen 88; server_name localhost; location / { root /opt/share/www; index index.php index.html index.htm; } error_page 500 502 503 504 /50x.html; location = /50x.html { root /opt/share/nginx/html; } location ~ \.php$ { root /opt/share/www; fastcgi_pass unix:/opt/var/run/php-fcgi.sock; fastcgi_index index.php; include fastcgi_params; } } }
Также правим fastcgi_params (добавим пару строк)
fastcgi_param QUERY_STRING $query_string; fastcgi_param REQUEST_METHOD $request_method; fastcgi_param CONTENT_TYPE $content_type; fastcgi_param CONTENT_LENGTH $content_length; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; fastcgi_param SCRIPT_NAME $fastcgi_script_name; fastcgi_param PATH_INFO $fastcgi_path_info; fastcgi_param REQUEST_URI $request_uri; fastcgi_param DOCUMENT_URI $document_uri; fastcgi_param DOCUMENT_ROOT $document_root; fastcgi_param SERVER_PROTOCOL $server_protocol; fastcgi_param REQUEST_SCHEME $scheme; fastcgi_param HTTPS $https if_not_empty; fastcgi_param GATEWAY_INTERFACE CGI/1.1; fastcgi_param SERVER_SOFTWARE nginx/$nginx_version; fastcgi_param REMOTE_ADDR $remote_addr; fastcgi_param REMOTE_PORT $remote_port; fastcgi_param SERVER_ADDR $server_addr; fastcgi_param SERVER_PORT $server_port; fastcgi_param SERVER_NAME $server_name; # PHP only, required if PHP was built with --enable-force-cgi-redirect fastcgi_param REDIRECT_STATUS 200;
Создаем скрипт запуска S79php-fcgi
#!/bin/sh export PHP_FCGI_CHILDREN='' ENABLED=yes PROCS=php-fcgi ARGS="-b /opt/var/run/php-fcgi.sock &" PREARGS="" DESC=$PROCS PATH=/opt/bin:/opt/sbin:/opt/usr/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin . /opt/etc/init.d/rc.func
Редактируем php.ini (минимум - прописать таймзону)
[Date] date.timezone = Europe/Moscow
В файле /opt/etc/php5/mysqli.ini прописать путь до сокета
extension=mysqli.so mysqli.default_socket = /opt/var/run/mysqld.sock
Проверяем корректность конфига nginx, если ошибок нет, то видим следующее
nginx -t nginx: the configuration file /opt/etc/nginx/nginx.conf syntax is ok nginx: configuration file /opt/etc/nginx/nginx.conf test is successful
Если есть ошибки, то сообщит с указанием строки (в конфиге выше - закоментировал строку #location)
nginx -t nginx: [emerg] "fastcgi_pass" directive is not allowed here in /opt/etc/nginx/nginx.conf:34 nginx: configuration file /opt/etc/nginx/nginx.conf test failed
Создаем файл с выводом информации о РНР
echo "<?php phpinfo(); ?>" >> /opt/share/www/phpinfo.php
Стартуем сервисы
/opt/etc/init.d/S79php-fcgi start /opt/etc/init.d/S80nginx start
Идем по ip.add.re.ss:88/phpinfo.php и смотрим на вывод (если ничего нет - проверяем, что сделали не так)
Cкачать и распаковать архив с tt-rss любым удобным способом (в примере ниже - будет использоваться путь: /opt/share/www/tt-rss)
Создаём базу данных (БД)
mysql_install_db --datadir=/opt/var --basedir=/opt --force
Запускаем сервис
/opt/etc/init.d/S70mariadbd start
Задаем пароль для доступа к БД (в примере ниже - Passw0rd)
mysqladmin -u root password "Passw0rd"
Подключаемся к БД с созданным паролемmysql -u root -p
Создаем БД для Tiny Tiny RSS
create database ttrss;
Меняем БД для работы с ней
\u ttrss
Импортируем таблицы
source /opt/share/www/tt-rss/schema/ttrss_schema_mysql.sql
Выход из MySQL
\q
Перезапустим сервис, чтоб подхватилась созданная БД
/opt/etc/init.d/S70mariadbd restart
Переходим в браузере на ip.add.re.ss:88/tt-rss/install , появится страница настройки доступа к БД.
выбираем - MySQL и вписываем:
Username: root - имя пользователя для работы с БД
Password: Passw0rd - пароль доступа к БД
Database name: ttrss - имя БД для Tiny Tiny RSS
Host name: localhost
Port: 3306
Если всё хорошо, то вы увидите следующее:
Нажимаем кнопку «Test configuration».
Нажимаем кнопку «Initialize database». Инсталлятор сгенерирует файл config.php и положит на сервер.
Для сохранения конфигурации нажимаем кнопку «Save configuration»
Внизу находится ссылка с текстом «loading tt-rss now»
Нажимаем и... Ругается что нельзя запускать от рутаРедактируем /opt/share/www/tt-rss/include/sanity_check.php. Ищем строку if (function_exists('posix_getuid') && posix_getuid() == 0 { и меняем 0 на -1см. пост ниже
Обновляем страничку в браузере вводим логин admin, пароль password
Для обновления фидов добавляем в cron задание, напр., запрос новостей каждые 30 мин.*/30 * * * * /opt/bin/php-cgi /opt/share/www/tt-rss/update.php --feeds --quiet
-
Внимание! Если у Вас прошивка 2.07 или новее, рекомендуем установить Entware. Установка полностью аналогична описанной ниже. Краткая инструкция по установке Entware тут -
https://forum.keenetic.net/topic/4299-entware/
При содействии и помощи компании ZyXEL (с 2017 г. - Keenetic) и разработчиков Entware создан новый проект Entware-Keenetic для Keenetic`ов с прошивкой NDMSv2*
В отличии от стандартной версии Entware-ng - при сборке используется ядро кинетика, что улучшает совместимость бинарников с прошивкой.
Некоторые пакеты из стандартного Entware могли не работать или работать криво (напр., nginx)
Все бинарники находятся в одной репе, раньше использовался стандартный репозиторий Entware и дополнительный репозиторий для Кинетиков.
!!! Бинарная совместимость репозиториев не проверялась, систему нужно поставить с нуля !!! (относится к Entware-ng)
Внимание! Официальная техническая поддержка компанией ZyXEL (с 2017 г. - Keenetic) не оказывает консультации по настройке и установке внешних пакетов.
Поддержка интернет-центров с установленными пакетами осуществляется только на этом форуме или на forums.zyxmon.org.
Актуальную версию инструкции и её обсуждение можно найти здесь.
Ниже перечислен минимальный набор действий для использования Entware-Keenetic.
Требования:
- (ZyXEL) Keenetic с USB-портом. Любой c NDMSv2*, кроме моделей 4GII/III.
- Прошивка с компонентом OPKG.
- USB носитель с разделом ext2/ext3 и заданной меткой (метка произвольная, любая, в примере ниже метка keendev-dsl).
прим. 1 установка на носитель с ФС NTFS возможна, но корректная работа - не гарантирована, на ваш страх и риск
прим. 2 не возможна установка на носитель с ФС ext4 для устройств с прошивкой 2.07 и новее
прим. 3 для устройств с прошивкой 2.07 и новее (см. выше) - рекомендуется использовать Entware или Debian stable
Инструкция по установке:
1. Подключите USB-носитель к кинетику;
2. Зайдите на носитель по ftp или cifs;
3. Cоздайте на разделе с заданной меткой USB-носителя папку install;
4. Скопируйте в папку install архив:
- для Keenetic DSL, LTE, VOX с NDMS v2.05 - mips;
- для Keenetic II, Giga II, Ultra с NDMS v2.06 - mipsel;
5. Зайдите в веб-интерфейс кинетика и на странице «Приложения > OPKG» поставьте галку «Включить». Затем выберите из списка нужный USB-носитель, в поле "Сценарий initrc:" вписать /opt/etc/init.d/rc.unslung и нажать кнопку «Применить».
прим. количество вкладок, их порядок и названия зависят от: устройства, версии прошивки и установленных компонентов
Скрытый текстЕсли все сделали правильно, то в системном журнале через некоторое время появится строчка "...Установка Entware-Keenetic завершена!"
Пример сообщений системного журнала
Скрытый текстApr 17 19:57:40 syslog: Syslog: the system log has been cleared. Apr 17 19:57:42 syslog: Syslog: all servers removed. Apr 17 19:57:42 syslog: Core::ConfigurationSaver: saving configuration... Apr 17 19:57:46 syslog: Core::ConfigurationSaver: configuration saved. Apr 17 19:58:07 syslog: Opkg::Manager: disk is set to: 825bb5c1-fcc3-49c9-ba68-4d90d0b90697: Apr 17 19:58:07 syslog: Opkg::Manager: /tmp/mnt/keendev-dsl/ mounted to /tmp/mnt/keendev-dsl/. Apr 17 19:58:07 syslog: Opkg::Manager: /tmp/mnt/keendev-dsl/ mounted to /opt/. Apr 17 16:58:07 npkg: inflating "installer-keenbe.tar.gz". Apr 17 19:58:07 syslog: Opkg::Manager: /tmp/mnt/keendev-dsl/ initialized. Apr 17 19:58:07 syslog: Opkg::Manager: init script reset to default: /opt/etc/initrc. Apr 17 19:58:07 syslog: Core::ConfigurationSaver: saving configuration... [E] Apr 17 19:58:07 syslog: Opkg::Manager: invalid initrc "/opt/etc/initrc": no such file or directory, trying /opt/etc/init.d/. Apr 17 19:58:07 0: Info: Раздел пригоден для установки. Apr 17 19:58:07 0: [1/5] Начало развёртывания системы Entware-Keenetic... Apr 17 19:58:07 0: Info: Создание папок... Apr 17 19:58:07 0: [2/5] Загрузка и установка базовых пакетов... Apr 17 19:58:08 syslog: Opkg::Manager: /opt/etc/init.d/doinstall: Downloading http://ndm.zyxmon.org/binaries/keenbe/Packages.gz. Apr 17 19:58:08 syslog: Opkg::Manager: /opt/etc/init.d/doinstall: Updated list of available packages in /opt/var/opkg-lists/keenle. Apr 17 19:58:09 syslog: Opkg::Manager: /opt/etc/init.d/doinstall: Installing opt-ndmsv2 (1.0-1) to root... Apr 17 19:58:09 syslog: Opkg::Manager: /opt/etc/init.d/doinstall: Downloading http://ndm.zyxmon.org/binaries/keenbe/opt-ndmsv2_1.0-1_keenbe.ipk. Apr 17 19:58:13 syslog: Opkg::Manager: /opt/etc/init.d/doinstall: Installing libc (1.0.13-3) to root... Apr 17 19:58:13 syslog: Opkg::Manager: /opt/etc/init.d/doinstall: Downloading http://ndm.zyxmon.org/binaries/keenbe/libc_1.0.13-3_keenbe.ipk. Apr 17 19:58:14 syslog: Opkg::Manager: /opt/etc/init.d/doinstall: Installing libgcc (5.3.0-3) to root... Apr 17 19:58:14 syslog: Opkg::Manager: /opt/etc/init.d/doinstall: Downloading http://ndm.zyxmon.org/binaries/keenbe/libgcc_5.3.0-3_keenbe.ipk. Apr 17 19:58:14 syslog: Opkg::Manager: /opt/etc/init.d/doinstall: Installing libssp (5.3.0-3) to root... Apr 17 19:58:14 syslog: Opkg::Manager: /opt/etc/init.d/doinstall: Downloading http://ndm.zyxmon.org/binaries/keenbe/libssp_5.3.0-3_keenbe.ipk. Apr 17 19:58:15 syslog: Opkg::Manager: /opt/etc/init.d/doinstall: Installing libstdcpp (5.3.0-3) to root... Apr 17 19:58:15 syslog: Opkg::Manager: /opt/etc/init.d/doinstall: Downloading http://ndm.zyxmon.org/binaries/keenbe/libstdcpp_5.3.0-3_keenbe.ipk. Apr 17 19:58:17 syslog: Opkg::Manager: /opt/etc/init.d/doinstall: Installing libpthread (1.0.13-3) to root... Apr 17 19:58:17 syslog: Opkg::Manager: /opt/etc/init.d/doinstall: Downloading http://ndm.zyxmon.org/binaries/keenbe/libpthread_1.0.13-3_keenbe.ipk. Apr 17 19:58:17 syslog: Opkg::Manager: /opt/etc/init.d/doinstall: Installing librt (1.0.13-3) to root... Apr 17 19:58:17 syslog: Opkg::Manager: /opt/etc/init.d/doinstall: Downloading http://ndm.zyxmon.org/binaries/keenbe/librt_1.0.13-3_keenbe.ipk. Apr 17 19:58:18 syslog: Opkg::Manager: /opt/etc/init.d/doinstall: Installing ldconfig (1.0.13-3) to root... Apr 17 19:58:18 syslog: Opkg::Manager: /opt/etc/init.d/doinstall: Downloading http://ndm.zyxmon.org/binaries/keenbe/ldconfig_1.0.13-3_keenbe.ipk. Apr 17 19:58:18 syslog: Opkg::Manager: /opt/etc/init.d/doinstall: Installing findutils (4.6.0-1) to root... Apr 17 19:58:18 syslog: Opkg::Manager: /opt/etc/init.d/doinstall: Downloading http://ndm.zyxmon.org/binaries/keenbe/findutils_4.6.0-1_keenbe.ipk. Apr 17 19:58:19 syslog: Opkg::Manager: /opt/etc/init.d/doinstall: Installing terminfo (6.0-1) to root... Apr 17 19:58:19 syslog: Opkg::Manager: /opt/etc/init.d/doinstall: Downloading http://ndm.zyxmon.org/binaries/keenbe/terminfo_6.0-1_keenbe.ipk. Apr 17 19:58:20 syslog: Opkg::Manager: /opt/etc/init.d/doinstall: Installing dropbear (2015.71-2) to root... Apr 17 19:58:20 syslog: Opkg::Manager: /opt/etc/init.d/doinstall: Downloading http://ndm.zyxmon.org/binaries/keenbe/dropbear_2015.71-2_keenbe.ipk. Apr 17 19:58:20 syslog: Opkg::Manager: /opt/etc/init.d/doinstall: Installing ndmq (1.0.2-1) to root... Apr 17 19:58:20 syslog: Opkg::Manager: /opt/etc/init.d/doinstall: Downloading http://ndm.zyxmon.org/binaries/keenbe/ndmq_1.0.2-1_keenbe.ipk. Apr 17 19:58:21 syslog: Opkg::Manager: /opt/etc/init.d/doinstall: Installing libndm (1.0.22-1) to root... Apr 17 19:58:21 syslog: Opkg::Manager: /opt/etc/init.d/doinstall: Downloading http://ndm.zyxmon.org/binaries/keenbe/libndm_1.0.22-1_keenbe.ipk. Apr 17 19:58:21 syslog: Opkg::Manager: /opt/etc/init.d/doinstall: Updating /opt/etc/ld.so.cache... done. Apr 17 19:58:21 syslog: Opkg::Manager: /opt/etc/init.d/doinstall: Configuring libgcc. Apr 17 19:58:21 syslog: Opkg::Manager: /opt/etc/init.d/doinstall: Configuring libc. Apr 17 19:58:21 syslog: Opkg::Manager: /opt/etc/init.d/doinstall: Configuring libssp. Apr 17 19:58:21 syslog: Opkg::Manager: /opt/etc/init.d/doinstall: Configuring terminfo. Apr 17 19:58:21 syslog: Opkg::Manager: /opt/etc/init.d/doinstall: Configuring ldconfig. Apr 17 19:58:21 syslog: Opkg::Manager: /opt/etc/init.d/doinstall: Configuring libpthread. Apr 17 19:58:21 syslog: Opkg::Manager: /opt/etc/init.d/doinstall: Configuring librt. Apr 17 19:58:21 syslog: Opkg::Manager: /opt/etc/init.d/doinstall: Configuring libndm. Apr 17 19:58:21 syslog: Opkg::Manager: /opt/etc/init.d/doinstall: Configuring ndmq. Apr 17 19:58:21 syslog: Opkg::Manager: /opt/etc/init.d/doinstall: Configuring dropbear. Apr 17 19:58:21 syslog: Opkg::Manager: /opt/etc/init.d/doinstall: Configuring libstdcpp. Apr 17 19:58:21 root: Info: Установка пакетов прошла успешно! Продолжаем... Apr 17 19:58:21 root: [3/5] Настройка сценария запуска для прошивки NDMS... Apr 17 19:58:21 syslog: Core::Server: started Session 127.0.0.1:0. Apr 17 19:58:21 syslog: Opkg::Manager: configured init script: "/opt/etc/init.d/rc.unslung". Apr 17 19:58:21 syslog: Core::Session: client disconnected. Apr 17 19:58:21 syslog: Core::Server: started Session 127.0.0.1:0. Apr 17 19:58:21 syslog: Core::ConfigurationSaver: saving configuration... Apr 17 19:58:21 syslog: Core::Session: client disconnected. Apr 17 19:58:21 root: [4/5] Генерация SSH-ключей... Apr 17 19:58:21 syslog: Opkg::Manager: /opt/etc/init.d/doinstall: Generating key, this may take a while... Apr 17 19:58:26 syslog: Core::ConfigurationSaver: configuration saved. Apr 17 19:58:38 root: Info: ключ rsa создан Apr 17 19:58:38 syslog: Opkg::Manager: /opt/etc/init.d/doinstall: ........Generating key, this may take a while... Apr 17 19:58:40 root: Info: ключ ecdsa создан Apr 17 19:58:40 root: [5/5] Установка Entware-Keenetic завершена! Запуск dropbear... Apr 17 19:58:40 dropbear[10983]: Running in background Apr 17 19:58:40 root: Готово!!! Apr 17 19:58:40 root: Можно открыть SSH-сессию для соединения с устройством (логин:пароль -> root:zyxel). Apr 17 19:58:40 syslog: Opkg::Manager: /opt/etc/init.d/doinstall: .
Всё! Можно зайти на кинетик по ssh, логин root, пароль zyxel.
Пароль entware никак не связан с паролем кинетика. Меняется он, если необходимо, стандартной командой passwd:
~ # passwd Changing password for root New password: Bad password: too weak Retype password: Password for root changed by root
Обновите список пакетов
opkg update
и устанавливайте нужные, например:
opkg install mc
-
3
-
-
да куда уж проще? у меня работает на DSL (Entwere-ng) и GIGA II (Keenopt(fwv2.05(AAFS.8)C2)).
-
1
-
-
...Это утилиты стаятся на...
... Keenetic, на нем же и запускаются, после можно отключаться от сессии, работа будет продолжена в фоне (пример практического применения в free4NAS). поступайте по аналогии...
-
ну-у-у, как-то так... на 16
~ # uname -a Linux KDSL 2.6.22.15 #1 SMP Fri Mar 4 17:35:52 UTC 2016 mips GNU/Linux ~ # cat /proc/version Linux version 2.6.22.15 (developers@ndmsystems.com) (gcc version 4.3.4 (embtoolkit-00083-g38691cf) ) #1 SMP Fri Mar 4 17:35:52 UTC 2016
на 8 (за-то работает Entware-ng...)
~ # uname -a Linux KDSL 2.6.36 #1 SMP Thu Dec 31 11:37:01 UTC 2015 mips GNU/Linux ~ # cat /proc/version Linux version 2.6.36 (developers@ndmsystems.com) (gcc version 4.8.4 20140522 (prerelease) (embtoolkit-00067-gda0f8e6) ) #1 SMP Thu Dec 31 11:37:01 UTC 2015
ну, а пока, жедем-с утверждения ядра и тулчейна от команды...
-
тогда осмелюсь предложить miniDLNA для keenopt на пробу
-
в поле поиска введите имя пакета - MPD или люб. др., интересующего вас, тот же DNLA, напр.
-
-
про удобство ни слова нет. нужен список и "кривые руки"
-
... А другого внешнего DLNA сервера под наше железо нет?
для keenopt - пока нет, есть для entware-ng
Mediatomb
в Каталог готовых решений Opkg
Опубликовано