RuTorrent
ruTorrent is a web interface to rTorrent (a console based BitTorrent client). It uses rTorrent's built-in XML-RPC server to communicate with it.
It is lightweight, highly extensible, and is designed to look similar to uTorrent.
Contents
Installation
Install rutorrentAUR from the AUR. If you want to use the development version install rutorrent-gitAUR.
Web Server Configuration
Apache
Install and configure Apache with PHP according to the LAMP page.
- Edit the open_basedir value in /etc/php/php.ini to include:
/etc/webapps/rutorrent/conf/:/usr/share/webapps/rutorrent/php/:/usr/share/webapps/rutorrent/
Install mod_scgiAUR from the AUR.
- Load the SCGI module in
/etc/httpd/conf/httpd.conf
:
LoadModule scgi_module modules/mod_scgi.so
- Enable the rTorrent XMLRPC interface: rTorrent#XMLRPC interface
- Enable SCGI on the port you chose for rTorrent by adding this to
/etc/httpd/conf/httpd.conf
:
SCGIMount /RPC2 127.0.0.1:5000
- Lastly, add the ruTorrent folder to
/etc/httpd/conf/httpd.conf
with something similar to this anywhere after the inital </Directory>:
<IfModule alias_module> Alias /rutorrent /usr/share/webapps/rutorrent <Directory "/usr/share/webapps/rutorrent"> Order allow,deny Allow from all </Directory> </IfModule>
For Apache 2.4 the access control would be:
<IfModule alias_module> Alias /rutorrent /usr/share/webapps/rutorrent <Directory "/usr/share/webapps/rutorrent"> Require all granted </Directory> </IfModule>
Nginx
- Create a link from your web root to rutorrent
ln -s /usr/share/webapps/rutorrent/ /usr/share/nginx/html/rutorrent
- Edit the open_basedir value in /etc/php/php.ini to include:
/etc/webapps/rutorrent/conf/:/usr/share/webapps/rutorrent/php/:/usr/share/webapps/rutorrent/
- Enable the rTorrent XMLRPC interface: rTorrent#XMLRPC interface
- Add following location to your nginx configuration:
location /RPC2 { include scgi_params; scgi_pass localhost:5000; }
- Restart nginx:
# systemctl restart nginx
- You can now access ruTorrent at http://127.0.0.1/rutorrent
Nginx (manual installation)
- Install nginx, php-fpm, rtorrent
- Download and unpack rutorrent:
tree -L 2 /usr/share/nginx/html/
/usr/share/nginx/html/ ├── 50x.html ├── index.html └── rutorrent ├── conf ├── css ├── images ├── index.html ├── js ├── lang ├── LICENSE.md ├── php ├── plugins ├── README.md └── share
- Modify premissions:
sudo chmod 0777 /usr/share/nginx/html/rutorrent/share/{settings,torrents,users}
- Make necessary changes to rtorrent and nginx:
~/.rtorrent.rc
... scgi_port = localhost:5000
/etc/nginx/nginx.conf
worker_processes 1; events { worker_connections 1024; } http { include mime.types; default_type application/octet-stream; sendfile on; keepalive_timeout 65; server { listen 80; server_name localhost; root /usr/share/nginx/html; location / { index index.html index.htm; } location ~ \.php$ { fastcgi_pass unix:/run/php-fpm/php-fpm.sock; fastcgi_index index.php; include fastcgi.conf; } location /RPC2 { include scgi_params; scgi_pass localhost:5000; } error_page 500 502 503 504 /50x.html; location = /50x.html { root /usr/share/nginx/html; } } }
- Start necessary services:
sudo systemctl start php-fpm nginx
- Consider using rtorrent with tmux
- Navigate to http://localhost/rutorrent/
ruTorrent Configuration
See upstream wiki here. By default the configuration files are symlinked to /etc/webapps/rutorrent/conf
.