Novik / ruTorrent

Yet another web front-end for rTorrent
Other
2.01k stars 407 forks source link

ruTorrent Error: 200 - parsererror,getuisettings - Arch Linux #974

Closed coxley closed 9 years ago

coxley commented 9 years ago

Using rtorrent 0.9.4 on ArchLinux. ruTorrent version is 3.6 - brand new git clone. Nginx as webserver. /RPC2 path configured properly and am able to use xmlrpc to fetch status. Example:

$ xmlrpc localhost/RPC2 system.client_version            
Result:

String: '0.9.4'

FastCGI setup appropriately with PHP-FPM.

Issue: I get a single error in the rutorrent log, which is Bad response from server: (200 [parsererror,getuisettings])

Screenshot here: rutorrent_error

I wouldn't create an issue without doing the proper research and I've done a lot of RTFM the past couple days on and off. I haven't seen anyone else with the same error as me unless it was accompanied with some php error after the bad response.

Novik commented 9 years ago

Remove files rTorrent/share/users/USERNAME/settings/uisettings.json and rTorrent/share/settings/uisettings.json.

coxley commented 9 years ago

@Novik: Unfortunately there doesn't seem to be any files at those paths. There aren't any users under that directory and there are no files under share/settings.

Novik commented 9 years ago

In this case you have an incorrect installation of ruTorrent.

coxley commented 9 years ago

I simply followed the documented wiki located on this repo and used the master archive..

The only regard to ruTorrent/share is to ensure it has proper permissions, which it does. I've disabled multi-user, so configuration is all under ruTorrent/conf

Novik commented 9 years ago

You can't see this message if you haven't file uisettings.json.

coxley commented 9 years ago

Just grabbed the master tarball and changed only topDir and forbidUser. Getting that exact message.

root at fsrv-01 in /var/www/rutorrent 
$ ll
total 52
drwxrwxr-x  3 http http  4096 Nov 27 03:21 conf
drwxrwxr-x  2 http http  4096 Nov 18 00:42 css
drwxrwxr-x  2 http http  4096 Nov 18 00:42 images
drwxrwxr-x  2 http http  4096 Nov 18 00:42 js
drwxrwxr-x  2 http http  4096 Nov 18 00:42 lang
drwxrwxr-x  2 http http  4096 Nov 18 00:42 php
drwxrwxr-x 44 http http  4096 Nov 18 00:42 plugins
drwxrwxrwx  5 http http  4096 Nov 18 00:42 share
-rw-rw-r--  1 http http 14009 Nov 18 00:42 index.html
-rw-rw-r--  1 http http  1173 Nov 18 00:42 README.md

root at fsrv-01 in /var/www/rutorrent 
$ find ./ | grep uisettings

root at fsrv-01 in /var/www/rutorrent 
$ 
coxley commented 9 years ago

EDIT: Yeah, it was my Nginx config.

server {
    listen       80;
    server_name  admin.coxley.com;

    root   /var/www;
    index  index.php index.html index.htm;

    location / {
        try_files $uri $uri/ /index.html;
    }

    location /RPC2 {
        scgi_pass 127.0.0.1:5000;
        include scgi_params;
        scgi_param SCRIPT_NAME /RPC2;
    }

    location ~ .php$ {
        try_files $uri = 404;
        fastcgi_split_path_info ^(.+\.php)(/.+)$;
        fastcgi_pass   127.0.0.1:9000;
        include        fastcgi_params;
        fastcgi_index  index.php;
        fastcgi_param SCRIPT_FILENAME $request_filename;
        fastcgi_read_timeout 300;
    }

    error_page   500 502 503 504  /50x.html;
    location = /50x.html {
        root   /usr/share/nginx/html;
    }
}

PHP-FPM config is what did it. Seems like setting SCRIPT_FILENAME to the request fixed it.

piratx commented 8 years ago

Where is that line? grep won't help, need to search all files manually.. :)

N46AN commented 8 years ago

I am having the same problem. (...and yes, there are no rTorrent/share/users/USERNAME/settings/uisettings.json and rTorrent/share/settings/uisettings.json.)

I can confirm the fix by @coxley works! Just another change, because I'm using php5-fpm, I need to replace

fastcgi_pass   127.0.0.1:9000;

with

fastcgi_pass unix:/var/run/php5-fpm.sock;

Thanks!

Maelstromeous commented 8 years ago

Can confirm I hit this issue as well, but with PHP7. Had to make sure the file path was correct as it's changed in PHP7:

fastcgi_pass unix:/var/run/php/php7.0-fpm.sock;

gawbul commented 8 years ago

@Maelstromeous Same issue for me too, although I'm using Apache, and needed to enable some additional config/modules (using reverse proxy so proxy_fcgi in particular)

sam-banks commented 8 years ago

I can confirm that coxley's change resolved the issue for me also - thanks!

jwittlincohen commented 7 years ago

I recently ran into this issue after an upgrade from Debian Wheezy to Debian Jessie. The solution was slightly different for me as me as my /etc/nginx/sites-enabled/default config referenced /etc/nginx/conf.d/php.

I therefore had to modify /etc/nginx/conf.d/php rather than the main config file. Adding the following lines fixed the issue:

fastcgi_param SCRIPT_FILENAME $request_filename; fastcgi_read_timeout 300;

The complete config file appears as follows:

location ~ .php$ { fastcgi_split_path_info ^(.+.php)(/.+)$; fastcgi_pass unix:/var/run/php5-fpm.sock; fastcgi_index index.php; include fastcgi_params; fastcgi_param SCRIPT_FILENAME $request_filename; fastcgi_read_timeout 300;