Jump to content

Recommended Posts

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 2
Link to comment
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"

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

Link to comment
Share on other sites

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

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

Исправим, как подскажите, что и как настраивали, какую систему пакетов используете...
Link to comment
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, делал все по инструкции.

Link to comment
Share on other sites

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

Link to comment
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 пуст

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

Link to comment
Share on other sites

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

Link to comment
Share on other sites

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

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

Link to comment
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"

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

Link to comment
Share on other sites

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

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

Link to comment
Share on other sites

opkg install php5-mod-iconv

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

Link to comment
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

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

Link to comment
Share on other sites

  • 2 weeks later...

Есть подозрение, что использовать легкий 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');

Link to comment
Share on other sites

  • 2 weeks later...

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

есть идеи?

Link to comment
Share on other sites

Есть подозрение...
Есть подозрение, что вместо nginx можно использовать lighttpd/apache, а вместо mysql/sqlite - postgresql
Link to comment
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 наиболее подходит для кинетика.

Link to comment
Share on other sites

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

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

Link to comment
Share on other sites

  • 1 month later...
  • 2 months later...

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

  • Thanks 1
Link to comment
Share on other sites

4 минуты назад, TheBB сказал:

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

Спасибо

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...