Bueno,
Voy a explicar como montar rutorrent + nginx +php-fpm, esta solución esta pensada sobretodo para la raspperry, ya que es muy liviano y la verdad es que después de mucho tiempo me parece de las mejores soluciones, también aprovechamos la instalacion con nginx+php-fpm que explique en el siguiente tutorial
rutorrent
Es una web que se integra con el cliente rtorret, de tal manera que lo hace muy amigable, yo personalmente estuve mucho tiempo jugando con rtorrent por consola, fue más montar el chirringo que lo que me aporto…
La web del proyecto es http://code.google.com/p/rutorrent/
Bueno pues explicado esto vamos al lio.
Primero de todo vamos actualizar el sistema operativo, todos los comandos están basados en debian.
sudo apt-get update && sudo apt-get upgrade sudo apt-get install xmlrpc-api-utils
Ahora vamos a descargar el código de rutorrent, por defecto yo tengo el código de la web en /var/www.
cd /var/www/ wget http://rutorrent.googlecode.com/files/rutorrent-3.5.tar.gz wget http://rutorrent-tadd-labels.googlecode.com/files/lbll-suite_0.8.1.tar.gz wget http://rutorrent.googlecode.com/files/data-3.3.tar.gz wget http://rutorrent.googlecode.com/files/erasedata-3.3.tar.gz wget http://rutorrent.googlecode.com/files/ratio-3.3.tar.gz wget http://rutorrent.googlecode.com/files/seedingtime-3.3.tar.gz wget http://rutorrent.googlecode.com/files/tracklabels-3.3.tar.gz wget http://srious.biz/nfo.tar.gz tar xvfz rutorrent-3.5.tar.gz rm -rf rutorrent-3.5.tar.gz tar -zxvf lbll-suite_0.8.1.tar.gz tar -zxvf data-3.3.tar.gz tar -zxvf erasedata-3.3.tar.gz tar -zxvf ratio-3.3.tar.gz tar -zxvf seedingtime-3.3.tar.gz tar -zxvf tracklabels-3.3.tar.gz tar -zxvf nfo.tar.gz mv lbll-suite data erasedata ratio seedingtime tracklabels nfo /var/www/rutorrent/plugins rm lbll-suite_0.8.1.tar.gz data-3.3.tar.gz erasedata-3.3.tar.gz ratio-3.3.tar.gz seedingtime-3.3.tar.gz tracklabels-3.3.tar.gz nfo.tar.gz
Bueno con esto ya tenemos el código de la web, ahora debemos configurar rtorrent y nginx para que puedan trabajar con el, empezamos por rtorrent, nos iremos al fichero de configuración, recordar que si habéis seguido este post de instalación, deberías tener el fichero de configuración en la home de vuestro usuario, si no es así pues allá donde lo tengáis
vim ~/.rtorrent.rc
Añadiremos al final del fichero la siguiente linea, y reiniciamos rtorrent, en el caso de no tener el script que puse en el post anterior, reiniciarlo como lo soléis hacer, la segunda linea es para que cargue los plugins de rutorrent cada vez que arranca rtorrent, es opcional, fijaros en las rutas y en el usuario que debe ser aquel con el que arranques rtorrent
scgi_port = 0.0.0.0:5000 execute = {sh,-c,/usr/bin/php /var/www/rutorrent/php/initplugins.php usuario &} sudo /etc/init.d/rtorrentInit.sh restart
Ahora vamos a por el nginx, primero vamos a poner los parámetros de comunicación de scgi. Iremos y pegaremos lo siguiente
sudo vim /etc/nginx/scgi_params scgi_param REQUEST_METHOD $request_method; scgi_param REQUEST_URI $request_uri; scgi_param QUERY_STRING $query_string; scgi_param CONTENT_TYPE $content_type; scgi_param DOCUMENT_URI $document_uri; scgi_param DOCUMENT_ROOT $document_root; scgi_param SCGI 1; scgi_param SERVER_PROTOCOL $server_protocol; scgi_param REMOTE_ADDR $remote_addr; scgi_param REMOTE_PORT $remote_port; scgi_param SERVER_PORT $server_port; scgi_param SERVER_NAME $server_name;
Debemos activar el site, para que nginx lo haremos haciendo un ln del fichero rturront
ln -s /etc/nginx/sites-available/rutorrent /etc/nginx/sites-enabled/rutorrent
Y ahora vamos a configurar el nginx para que se entienda con todo. En el fichero de configuración de nuestro site, añadimos.
sudo vim /etc/nginx/sites-available/rutorrent server { listen 80; root /var/www; #client_max_body_size 4096M; listen 443 ssl; location /rutorrent { index index.php index.html; auth_basic "Restricted"; auth_basic_user_file /var/www/rutorrent/.htpasswd; } location /RPC2 { include /etc/nginx/scgi_params; scgi_pass 127.0.0.1:5000; } location ~ .php$ { fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php; include /etc/nginx/fastcgi_params; try_files $uri =404; fastcgi_param SCRIPT_FILENAME /var/www/$fastcgi_script_name; } location ~/.ht { deny all; }
Por ultimo añadiremos si quereis un password a través de .htpasswd, para que nos lo pida cuando accedamos a la web.
Debemos instalar el paquete apache2-utils, para disponer de la opción
htpasswd -cb .htpasswd usuario contraseña
Y copiamos el fichero que genero en la ruta donde le dijimos al nginx
cp -a .htpasswd /var/www/rutorrent/.htpasswd
Le damos permisos a nginx
sudo chown -R www-data:www-data /var/www/rutorrent
Recargamos el nginx para la nueva configuración.
sudo /etc/init.d/nginx reload
Y accedemos por web http://ip/rutorrent
Ale a disfrutarlo
Que aporta rutorrent sobre otras soluciones más sencillas como transmission? Parece un montón de trabajo para muy poca satisfacción…
Pues la verdad es que no conozco tanto Transmission como para hace una comparación objetiva, me imagino que será cuestión de gustos.
Estoy intentando instalar el rutorrent siguiendo todo el manual pero no lo consigo. Antes lo tenía con Apache y funcionaba pero aprovechando que he tenido que reinstalar todo el sistema estoy probando con esto y no hay forma.
El problema es algo del rutorrent pero se me escapa, dejo una captura del error a ver si puedes echarme un cable. http://i.imgur.com/21DCLZr.jpg
Sino creo que me tocará volver al Apache.
Madre mía que infierno, pues ese error no lo vi en la vida, mira que tienes bien configurado el RPC2 en rtorrent, es lo que se me ocurre.
Suerte
Lo primero gracias por este blog que me ha resultado muy útil.
Después comentarte que deberías corregir algunos cosas que pueden hacer desesperar a más de uno sobre todo si son novatos en Linux.
– Se te coló código HTML en ‘/etc/nginx/sites-available/rutorrent’ dando errores al iniciar nginx y en ‘~/.rtorrent.rc’ que hace que no se mueva de carpeta lo descargado.
– Falta indicar hacer un link ‘rutorrent’ de ‘sites-enabled’ a ‘sites-avalaible’, sino nunca sales de la página de «Welcome to nginx!». Esto se puede deducir si instalas Owncloud, pero como en mi caso no lo necesito pasé esa parte, quizá sea bueno aclararlo o añadir aquí como se hace la instalación-configuración de nginx+php.
– ‘htpasswd’ no funciona si no instalas el paquete ‘apache2-utils’, por lo menos en Raspbmc.
– Falta ‘sudo’ al asignar propietario la carpeta ‘/var/www/rutorrent’ y la 2ª linea no tiene sentido y es innecesaria.
Por cierto estoy haciendo pruebas con rtorrent de descarga en trackers privados y por lo pronto no me pasa de 3.5MBps de bajada (tengo ONO de 50Mb), normalmente va a unos 2.5MB con archivos de bastantes seeds, la CPU se pone a un 50-70%. En un PC suele ir a tope de la conexión, por encima de 6.0MB. Tengo que probar más pero no sé si a vosotros os da igual resultado, aunque imagino que en un 10Mb típico de Telefonica irá a tope.
Te repito, muchas gracias y saludos.
Buenos dias!
Gracias por la revisión del post, siempre es de agradecer que lo pueda ir puliendo!, ya esta todo modificado.
Respecto a las descargas si que es cierto que el máximo de transferencia que logre con la raspberry no paso de 6MB, se queda un poco corta, conseguí subir un poco la transferencia (7-8MB), moviendo todos los logs del sistema y de los daemons a un usb diferente a donde tengo el sistema base y por supuesto todo en ext4.