Jump to content
TheBB

Torrentmonitor на Keenetic

64 posts in this topic

torrentmonitor

nginx

Устанавливаем минимальный набор пакетов (чтоб запустить)

Сервер для 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 = "&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/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).

screen_025.png

 

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 = "&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/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`

Всё! Можно отправляться по известному адресу и настраивать на работу...

screen_158.png

Не забываем добавить в cron задание

*/30 * * * * php-cli /opt/share/www/tm/engine.php >> /opt/var/log/torrent_monitor_error.log 2>&1

 

  • Thanks 1

Share this post


Link to post
Share on other sites

При попытке зай ти на адрес 192.168.1.1:88/tm выдает вот такие ошибки:

2016/04/23 00:06:33 [crit] 205#0: *8 connect() to unix:/opt/var/run/php-fcgi.sock failed (13: Permission denied) while connecting to upstream, client: 192.168.1.33, server: localhost, request: "GET /tm/ HTTP/1.1", upstream: "fastcgi://unix:/opt/var/run/php-fcgi.sock:", host: "192.168.1.13:88"

Подскажите как исправите.?

Share this post


Link to post
Share on other sites
При попытке зай ти на адрес 192.168.1.1:88/tm ... (13: Permission denied)... 192.168.1.33..."192.168.1.13:88"

Подскажите как исправите.?

Исправим, как подскажите, что и как настраивали, какую систему пакетов используете...

Share this post


Link to post
Share on other sites
При попытке зай ти на адрес 192.168.1.1:88/tm ... (13: Permission denied)... 192.168.1.33..."192.168.1.13:88"

Подскажите как исправите.?

Исправим, как подскажите, что и как настраивали, какую систему пакетов используете...

Роутер giga 3, прошивка бета. Установлена система entware-keenetic, делал все по инструкции.

Share this post


Link to post
Share on other sites

Попробуйте сменить NTFS на другую файловую систему, напр., ext2 или ext3

upd: на вопросы "зачем и почему?" драйвер tuxera и здесь

Share this post


Link to post
Share on other sites
Попробуйте сменить NTFS на другую файловую систему, напр., ext2 или ext3

upd: на вопросы "зачем и почему?" драйвер tuxera и здесь

Спасибо за ответ. Перейду на ext3.

Share this post


Link to post
Share on other sites

"неправильный путь" : заменить в конфиге сервера пользователя с nobody на root (проблемы NTFS не решает, но дает возможность запустить)

Share this post


Link to post
Share on other sites

Изменил файловую систему флешки на ext3 ,установил все по инструкции.Теперь Вот такие ошибки:

Fatal error: Call to a member function prepare() on null in /opt/share/www/tm/class/Database.class.php on line 67

эта ошибка на странице 192.168.1.1:88/tm

error.log пуст

Прошу помощи в решении проблемы.

Share this post


Link to post
Share on other sites

файл config.php.example переименовали в config.php? раскомментировали строки (# - удалили) и исправили (поменяли) данные в нем?

Share this post


Link to post
Share on other sites
файл config.php.example переименовали в config.php? раскомментировали строки (# - удалили) и исправили (поменяли) данные в нем?

Спасибо за отклик. Ошибку нашел. Забыл решетки удалить в config.php

Share this post


Link to post
Share on other sites

Запустился торренмонитор. Автору респект за инструкцию!

Share this post


Link to post
Share on other sites

Вот такие ошибки сыпятся :

2016/04/25 09:50:41 [error] 203#0: *265 open() "/opt/share/www/apple-touch-icon-120x120-precomposed.png" failed (2: No such file or directory), client: 10.8.0.2, server: localhost, request: "GET /apple-touch-icon-120x120-precomposed.png HTTP/1.1", host: "192.168.1.13:88"

Как быть? Получается с телефона нельзя пользоваться?

Share this post


Link to post
Share on other sites

Снова я со своими проблемами:)) Добавил тему для слежения,тема добавилась,но при нажатии на кнопку запуск торрентмонитора выдается такая ошибка:

Fatal error: Call to undefined function iconv() in /opt/share/www/tm/class/System.class.php on line 165

Share this post


Link to post
Share on other sites
opkg install php5-mod-iconv

не хватает php-mod-* (надо уточнить у автора ТМ зависимости, т.к. здесь написано только про сервер, php c pdo и curl, БД)

Share this post


Link to post
Share on other sites
opkg install php5-mod-iconv

не хватает php-mod-* (надо уточнить у автора ТМ зависимости, т.к. здесь написано только про сервер, php c pdo и curl, БД)

На форуме ТМ посоветовали установить вот эти пакеты; Лучше сразу так сделать.

opkg install php5-mod-ctype php5-mod-curl php5-mod-dom php5-mod-exif \

php5-mod-fileinfo php5-mod-gd php5-mod-gettext php5-mod-hash php5-mod-iconv \

php5-mod-json php5-mod-mbstring php5-mod-mcrypt php5-mod-pdo php5-mod-pdo-mysql \

php5-mod-session php5-mod-simplexml php5-mod-sockets php5-mod-xml \

php5-mod-xmlreader php5-mod-xmlwriter php5-mod-zip

===

/opt/etc/init.d/*php* restart

Возможно кому то понадобится.

Share this post


Link to post
Share on other sites

Есть подозрение, что использовать легкий sqlite, предпочтительнее mysql.

#opkg install php5-mod-pdo-sqlite sqlite3-cli

#cat /opt/share/www/tm/db_schema/sqlite.sql | sqlite3 /opt/share/www/tm/tm.sqlite

/opt/share/www/tm/config.php:

Config::write('db.type', 'sqlite');
Config::write('db.basename', '/opt/share/www/tm/tm.sqlite');

Share this post


Link to post
Share on other sites

Ultra II, v2.06(AAUX.8)B0

установил по инструкции, web интерфейс запустился, добавил сериал, при запуске получаю ошибку

Опрос новых раздач на трекерах: 
The Hundred на трекере lostfilm-mirror 
[ERROR]Unexpected response from Transmission RPC: HTTP/1.0 405 Method Not Allowed

есть идеи?

Share this post


Link to post
Share on other sites
Есть подозрение...
Есть подозрение, что вместо nginx можно использовать lighttpd/apache, а вместо mysql/sqlite - postgresql

Share this post


Link to post
Share on other sites
Есть подозрение...
Есть подозрение, что вместо nginx можно использовать lighttpd/apache, а вместо mysql/sqlite - postgresql

Mysql и postgresql это клиент-серверные БД. sqlite это просто библиотека, работающая с файлом БД.

так что связка php > tcp/socket > db > file врятли будет быстрее php > lib > file

По поводу веб сервера, хотя я сам склоняюсь к lighttpd (и поставил torrentmonitor на нем), тесты в интернете утверждают что у него с nginx примерно одинаковая производительность. Apache это слишком тяжелый монстр.

Так что связка lighttpd/nginx с sqlite наиболее подходит для кинетика.

Share this post


Link to post
Share on other sites
... Так что связка lighttpd/nginx с sqlite наиболее подходит для кинетика.

Вот и опишите (установка, настройка) эту связку (lighttpd+sqlite) для torrentmonitor`a (для разнообразия). Различные варианты использования только приветствуются!

Share this post


Link to post
Share on other sites

Вот и опишите (установка, настройка) эту связку (lighttpd+sqlite)

Было бы неплохо))

Share this post


Link to post
Share on other sites

добавьте пожалуйста настройку transsmision в туториал

Edited by Saibot

Share this post


Link to post
Share on other sites

Почему-то не заходит на

Quote

http://192.168.1.1:88/tm

403 Forbidden

А на 192.168.1.1:88/phpinfo.php заходит нормально. В config.php раскомментировал строки.

Keenetic DSL. Entware-Keenetic.

 

Edited by Петя Думин

Share this post


Link to post
Share on other sites
~ # /opt/etc/init.d/S79php-fcgi start
-sh: /opt/etc/init.d/S79php-fcgi: Permission denied

Entware 3-x.

В чем может быть проблема?

Спасибо.

Share this post


Link to post
Share on other sites

в инструкции потерялось одно предложение: "... И делаем его исполняемым chmod +x /opt/etc/init.d/S79php-fcgi "

  • Thanks 1

Share this post


Link to post
Share on other sites
4 минуты назад, TheBB сказал:

в инструкции потерялось одно предложение: "... И делаем его исполняемым chmod +x /opt/etc/init.d/S79php-fcgi "

Спасибо

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

  • Recently Browsing   0 members

    No registered users viewing this page.

×