# Cannot get rutorrent to open, gives 404 not found

## spectromas

I'm having real trouble getting rutorrent. I have rtorrent working but I everytime I try to access the localhost it gives me a login screen and then a 404 after that. 

Here is my .rtorrent.rc

```
# This is an example resource file for rTorrent. Copy to

# ~/.rtorrent.rc and enable/modify the options as needed. Remember to

# uncomment the options you wish to enable.

# Maximum and minimum number of peers to connect to per torrent.

min_peers = 12

max_peers = 50

# Same as above but for seeding completed torrents (-1 = same as downloading)

min_peers_seed = 10

max_peers_seed = 50

# Maximum number of simultanious uploads per torrent.

#max_uploads = 15

# Global upload and download rate in KiB. "0" for unlimited.

download_rate = 100

upload_rate = 120

# Default directory to save the downloaded torrents.

directory = /home/alex/Downloads/Torrents

# Default session directory. Make sure you don't run multiple instance

# of rtorrent using the same session directory. Perhaps using a

# relative path?

session = /home/alex/.session

# Watch a directory for new torrents, and stop those that have been

# deleted.

#schedule = watch_directory,5,5,load_start=./Downloads/Torrents/watch/*.torrent

#schedule = untied_directory,5,5,stop_untied=

# schedule a timer event named 'watch_directory_1':

# 1) triggers 10 seconds after rtorrent starts

# 2) triggers at 10 second intervals thereafter

# 3) Upon trigger, attempt to load (and start) new *.torrent files found in /home/user/torrents/watch/

# 4) set a variable named 'custom1' with the value "/home/user/torrents/complete"

# NOTE: if you do not want it to automatically start the torrent, change 'load_start' to 'load'

schedule = watch_directory_1,5,5,"load_start=/home/alex/Downloads/Torrents/watch/*.torrent,d.set_custom1=/home/alex/Downloads/Torrents"

# Close torrents when diskspace is low.

#schedule = low_diskspace,5,60,close_low_diskspace=100M

# The ip address reported to the tracker.

#ip = 127.0.0.1

#ip = rakshasa.no

# The ip address the listening socket and outgoing connections is

# bound to.

#bind = 127.0.0.1

#bind = rakshasa.no

# Port range to use for listening.

port_range = 57389-57389

# Start opening ports at a random position within the port range.

port_random = no

# Check hash for finished torrents. Might be usefull until the bug is

# fixed that causes lack of diskspace not to be properly reported.

#check_hash = no

# Set whether the client should try to connect to UDP trackers.

use_udp_trackers = yes

# Alternative calls to bind and ip that should handle dynamic ip's.

#schedule = ip_tick,0,1800,ip=rakshasa

#schedule = bind_tick,0,1800,bind=rakshasa

# Encryption options, set to none (default) or any combination of the following:

# allow_incoming, try_outgoing, require, require_RC4, enable_retry, prefer_plaintext

#

# The example value allows incoming encrypted connections, starts unencrypted

# outgoing connections but retries with encryption if they fail, preferring

# plaintext to RC4 encryption after the encrypted handshake

#

encryption = allow_incoming,try_outgoing,enable_retry

# Enable DHT support for trackerless torrents or when all trackers are down.

# May be set to "disable" (completely disable DHT), "off" (do not start DHT),

# "auto" (start and stop DHT as needed), or "on" (start DHT immediately).

# The default is "off". For DHT to work, a session directory must be defined.

# 

dht = auto

# UDP port to use for DHT. 

# 

dht_port = 6881

# Enable peer exchange (for torrents not marked private)

#

# peer_exchange = yes

# Socket CGI

scgi_port = localhost:5050

```

This is my /etc/lighttpd/lighttpd.conf: 

```
###############################################################################

# Default lighttpd.conf for Gentoo.

# $Header: /var/cvsroot/gentoo-x86/www-servers/lighttpd/files/conf/lighttpd.conf,v 1.5 2010/11/18 15:13:47 hwoarang Exp $

###############################################################################

# {{{ variables

var.basedir  = "/var/www/localhost"

var.logdir   = "/var/log/lighttpd"

var.statedir = "/var/lib/lighttpd"

# }}}

# {{{ modules

# At the very least, mod_access and mod_accesslog should be enabled.

# All other modules should only be loaded if necessary.

# NOTE: the order of modules is important.

server.modules = (

#    "mod_rewrite",

#    "mod_redirect",

#    "mod_alias",

    "mod_access",

#    "mod_cml",

#    "mod_trigger_b4_dl",

#    "mod_auth",

#    "mod_status",

#    "mod_setenv",

#    "mod_proxy",

#    "mod_simple_vhost",

#    "mod_evhost",

#    "mod_userdir",

#    "mod_compress",

#    "mod_ssi",

#    "mod_usertrack",

#    "mod_expire",

#    "mod_secdownload",

#    "mod_rrdtool",

#    "mod_webdav",

    "mod_accesslog"

)

# }}}

# {{{ includes

include "mime-types.conf"

# fcgi and cgi are included below 

# }}}

# {{{ server settings

server.username      = "lighttpd"

server.groupname     = "lighttpd"

server.document-root = var.basedir + "/htdocs"

server.pid-file      = "/var/run/lighttpd.pid"

server.errorlog      = var.logdir  + "/error.log"

# log errors to syslog instead

#   server.errorlog-use-syslog = "enable"

server.indexfiles    = ("index.php", "index.html",

                  "index.htm", "default.htm")

# server.tag           = "lighttpd"

server.follow-symlink = "enable"

# event handler (defaults to "poll")

# see performance.txt

# 

# for >= linux-2.4

#   server.event-handler = "linux-rtsig"

# for >= linux-2.6

#   server.event-handler = "linux-sysepoll"

# for FreeBSD

#   server.event-handler = "freebsd-kqueue"

# chroot to directory (defaults to no chroot)

# server.chroot      = "/"

# bind to port (defaults to 80)

# server.port          = 81

# bind to name (defaults to all interfaces)

# server.bind          = "grisu.home.kneschke.de"

# error-handler for status 404

# server.error-handler-404 = "/error-handler.html"

# server.error-handler-404 = "/error-handler.php"

# Format: <errorfile-prefix><status-code>.html

# -> ..../status-404.html for 'File not found'

# server.errorfile-prefix    = var.basedir + "/error/status-"

# FAM support for caching stat() calls

# requires that lighttpd be built with USE=fam

#   server.stat-cache-engine = "fam"

# If lighttpd was build with IPv6 support, and you would like to listen on IPv6,

# uncomment the following:

server.use-ipv6 = "enable"

# }}}

# {{{ mod_staticfile

# which extensions should not be handled via static-file transfer

# (extensions that are usually handled by mod_cgi, mod_fastcgi, etc).

static-file.exclude-extensions = (".php", ".pl", ".cgi", ".fcgi")

# }}}

# {{{ mod_accesslog

accesslog.filename   = var.logdir + "/access.log"

# }}}

# {{{ mod_dirlisting

# enable directory listings

#   dir-listing.activate      = "enable"

#

# don't list hidden files/directories

#   dir-listing.hide-dotfiles = "enable"

#

# use a different css for directory listings

#   dir-listing.external-css  = "/path/to/dir-listing.css"

#

# list of regular expressions.  files that match any of the

# specified regular expressions will be excluded from directory

# listings.

#   dir-listing.exclude = ("^\.", "~$")

# }}}

# {{{ mod_access

# see access.txt

url.access-deny = ("~", ".inc")

# }}}

# {{{ mod_userdir

# see userdir.txt

#

# userdir.path = "public_html"

# userdir.exclude-user = ("root")

# }}}

# {{{ mod_ssi

# see ssi.txt

#

# ssi.extension = (".shtml")

# }}}

# {{{ mod_ssl

# see ssl.txt

#

# ssl.engine    = "enable"

# ssl.pemfile   = "server.pem"

# }}}

# {{{ mod_status

# see status.txt

#

# status.status-url  = "/server-status"

# status.config-url  = "/server-config"

# }}}

# {{{ mod_simple_vhost

# see simple-vhost.txt

#

#  If you want name-based virtual hosting add the next three settings and load

#  mod_simple_vhost

#

# document-root =

#   virtual-server-root + virtual-server-default-host + virtual-server-docroot

# or

#   virtual-server-root + http-host + virtual-server-docroot

#

# simple-vhost.server-root   = "/home/weigon/wwwroot/servers/"

# simple-vhost.default-host  = "grisu.home.kneschke.de"

# simple-vhost.document-root = "/pages/"

# }}}

# {{{ mod_compress

# see compress.txt

#

# compress.cache-dir   = var.statedir + "/cache/compress"

# compress.filetype    = ("text/plain", "text/html")

# }}}

# {{{ mod_proxy

# see proxy.txt

#

# proxy.server               = ( ".php" =>

#                               ( "localhost" =>

#                                 (

#                                   "host" => "192.168.0.101",

#                                   "port" => 80

#                                 )

#                               )

#                             )

# }}}

# {{{ mod_auth

# see authentication.txt

#

# auth.backend               = "plain"

# auth.backend.plain.userfile = "lighttpd.user"

# auth.backend.plain.groupfile = "lighttpd.group"

# auth.backend.ldap.hostname = "localhost"

# auth.backend.ldap.base-dn  = "dc=my-domain,dc=com"

# auth.backend.ldap.filter   = "(uid=$)"

# auth.require               = ( "/server-status" =>

#                               (

#                                 "method"  => "digest",

#                                 "realm"   => "download archiv",

#                                 "require" => "user=jan"

#                               ),

#                               "/server-info" =>

#                               (

#                                 "method"  => "digest",

#                                 "realm"   => "download archiv",

#                                 "require" => "valid-user"

#                               )

#                             )

# }}}

# {{{ mod_rewrite

# see rewrite.txt

#

# url.rewrite = (

#   "^/$"      =>      "/server-status"

# )

# }}}

# {{{ mod_redirect

# see redirect.txt

#

# url.redirect = (

#   "^/wishlist/(.+)"      =>      "http://www.123.org/$1"

# )

# }}}

# {{{ mod_evhost

# define a pattern for the host url finding

# %% => % sign

# %0 => domain name + tld

# %1 => tld

# %2 => domain name without tld

# %3 => subdomain 1 name

# %4 => subdomain 2 name

#

# evhost.path-pattern        = "/home/storage/dev/www/%3/htdocs/"

# }}}

# {{{ mod_expire

# expire.url = (

#   "/buggy/"      =>      "access 2 hours",

#   "/asdhas/"      =>      "access plus 1 seconds 2 minutes"

# )

# }}}

# {{{ mod_rrdtool

# see rrdtool.txt

#

# rrdtool.binary  = "/usr/bin/rrdtool"

# rrdtool.db-name = var.statedir + "/lighttpd.rrd"

# }}}

# {{{ mod_setenv

# see setenv.txt

#

# setenv.add-request-header  = ( "TRAV_ENV" => "mysql://user@host/db" )

# setenv.add-response-header = ( "X-Secret-Message" => "42" )

# }}}

# {{{ mod_trigger_b4_dl

# see trigger_b4_dl.txt

#

# trigger-before-download.gdbm-filename = "/home/weigon/testbase/trigger.db"

# trigger-before-download.memcache-hosts = ( "127.0.0.1:11211" )

# trigger-before-download.trigger-url = "^/trigger/"

# trigger-before-download.download-url = "^/download/"

# trigger-before-download.deny-url = "http://127.0.0.1/index.html"

# trigger-before-download.trigger-timeout = 10

# }}}

# {{{ mod_cml

# see cml.txt

#

# don't forget to add index.cml to server.indexfiles

# cml.extension               = ".cml"

# cml.memcache-hosts          = ( "127.0.0.1:11211" )

# }}} 

# {{{ mod_webdav

# see webdav.txt

#

# $HTTP["url"] =~ "^/dav($|/)" {

#     webdav.activate = "enable"

#     webdav.is-readonly = "enable"

# }

# }}}

# {{{ extra rules

#

# set Content-Encoding and reset Content-Type for browsers that

# support decompressing on-thy-fly (requires mod_setenv)

# $HTTP["url"] =~ "\.gz$" {

#     setenv.add-response-header = ("Content-Encoding" => "x-gzip")

#     mimetype.assign = (".gz" => "text/plain")

# }

# $HTTP["url"] =~ "\.bz2$" {

#     setenv.add-response-header = ("Content-Encoding" => "x-bzip2")

#     mimetype.assign = (".bz2" => "text/plain")

# }

#

# }}}

# {{{ debug

# debug.log-request-header   = "enable"

# debug.log-response-header  = "enable"

# debug.log-request-handling = "enable"

# debug.log-file-not-found   = "enable"

# }}}

# {{{ cgi includes

# uncomment for cgi support

#   include "mod_cgi.conf"

# uncomment for php/fastcgi support

#   include "mod_fastcgi.conf"

# }}}

# Server Authentication

server.modules += ( "mod_auth" )

auth.debug = 0

auth.backend = "htdigest"

auth.backend.htdigest.userfile = "/etc/lighttpd/.auth"

auth.require = ( "/" => (

"method" => "digest",

"realm" => "Username_Password_4_Torrent",

"require" => "valid-user"

))

server.modules += ("mod_fastcgi")

fastcgi.server = ( ".php" =>

  ( "localhost" =>

    (

      "host" => "127.0.0.1",

      "port" => "5050"

    )

  )

)

# SSL Encryption

#$SERVER["socket"] == ":443" {

ssl.engine = "enable"

ssl.pemfile = "/etc/lighttpd/certs/lighttpd.pem"

#}

```

emerge --info lighttpd gives me: 

```
www-servers/lighttpd-1.4.35-r1 was built with the following:

USE="bzip2 gdbm ipv6 pcre ssl zlib -doc -fam -kerberos -ldap -libev -lua -memcache -minimal -mmap -mysql -php -rrdtool (-selinux) -test -uploadprogress -webdav -xattr"
```

'find /var/www/localhost -type d' gives me:

```
/var/www/localhost

/var/www/localhost/htdocs
```

I extracted the rutorrent files in to /var/www/localhost as well but that didn't seem to make any difference. 

service php-fpm status and service lighttpd status both says started. 

My /etc/lighttpd/mod_fastcgi.conf says:  

```
server.modules += ("mod_fastcgi")

fastcgi.server = ( ".php" =>

  ( "localhost" =>

      (

            "host" => "127.0.0.1",

             "port" => "5050"

            )

              )

         )

```

I'm sure it is something basic that I'm doing wrong here somewhere but I can't work out what it is.

----------

