Перейти к содержанию

Рекомендуемые сообщения

Опубликовано

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

 

Опубликовано

При попытке зай ти на адрес 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"

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

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

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

Исправим, как подскажите, что и как настраивали, какую систему пакетов используете...
Опубликовано
При попытке зай ти на адрес 192.168.1.1:88/tm ... (13: Permission denied)... 192.168.1.33..."192.168.1.13:88"

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

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

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

Опубликовано

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

Опубликовано

Изменил файловую систему флешки на 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 пуст

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

Опубликовано

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

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

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

Опубликовано

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

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"

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

Опубликовано

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

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

Опубликовано
opkg install php5-mod-iconv

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

Опубликовано
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

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

  • 2 недели спустя...
Опубликовано

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

  • 2 недели спустя...
Опубликовано

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

есть идеи?

Опубликовано
Есть подозрение...
Есть подозрение, что вместо nginx можно использовать lighttpd/apache, а вместо mysql/sqlite - postgresql
Опубликовано
Есть подозрение...
Есть подозрение, что вместо nginx можно использовать lighttpd/apache, а вместо mysql/sqlite - postgresql

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

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

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

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

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

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

  • 1 месяц спустя...
  • 2 месяца спустя...
Опубликовано (изменено)

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

Quote

http://192.168.1.1:88/tm

403 Forbidden

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

Keenetic DSL. Entware-Keenetic.

 

Изменено пользователем Петя Думин
Опубликовано
4 минуты назад, TheBB сказал:

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

Спасибо

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.
Примечание: Ваш пост будет проверен модератором, прежде чем станет видимым.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

  • Последние посетители   0 пользователей онлайн

    • Ни одного зарегистрированного пользователя не просматривает данную страницу
×
×
  • Создать...

Важная информация

На этом сайте используются файлы cookie. Нажимая "Я принимаю" или продолжая просмотр сайта, вы разрешаете их использование: Политика конфиденциальности.