ruTorrent, interfaz web para rTorrent

Si no sabéis qué es rTorrent, seguramente es que no hayáis leído mis dos últimas entradas y no os enteraréis de nada leyendo esta. Pero no os preocupéis, que aun estáis a tiempo:

En esta ocasión contaré cómo instalar ruTorrent, una interfaz web que permitirá controlar rTorrent desde el navegador. Parto de la base de que ya tenéis instalado y configurado rTorrent más o menos como indico en los posts anteriores.

Como requisito previo para usar ruTorrent, hay que tener instalado un servidor web con soporte PHP y SCGI. En mi caso el servidor web será Apache. Si la máquina donde tenéis rTorrent instalado no cumple estos requisitos, esto es lo que tendríais que hacer:

sudo apt-get install apache2 php5 libapache2-mod-scgi
sudo apt-get install apache2 php5 libapache2-mod-scgi
sudo a2enmod scgi
sudo nano /etc/apache2/httpd.conf

Con el último comando se abre el fichero de configuración de apache httpd.conf, al que habrá que añadir la siguiente línea:

SCGIMount /RPC2 127.0.0.1:5000

Ya que estamos liados con Apache, también puede ser conveniente activar el mod_userdir, que permite usar directorios específicos de usuario a los que se accede con una dirección de tipo http://dominio.com/~usuario:

sudo a2enmod userdir
mkdir ~/public_html/

En nuestra home hemos creado una carpeta public_html, que será accesible a través de la mencionada dirección http://dominio.com/~usuario. Ahí será donde metamos ruTorrent. Pero antes hay que editar el fichero /etc/apache2/mods-available/php5.conf:

sudo nano /etc/apache2/mods-available/php5.conf

Y comentar, si lo tenéis, el siguiente bloque de texto poniendo un # al principio de cada línea:

<IfModule mod_userdir.c>
    <Directory /home/*/public_html>
        php_admin_value engine Off
    </Directory>
</IfModule>

Esto no tuve que hacerlo en mi anterior instalación y menudo tiempo perdido esta vez hasta que di con el problema que hacía que no funcionara.

Vamos con la descarga de ruTorrent, que podéis encontrar en la web del proyecto en Google Code:

cd ~/public_html/
wget http://rutorrent.googlecode.com/files/rutorrent-3.3.tar.gz
tar -xvf rutorrent-3.3.tar.gz

Ahora instalamos XML-RPC. Para ello bajamos la última versión de Sourceforge:

cd ~/rtorrent/
wget http://downloads.sourceforge.net/project/xmlrpc-c/Xmlrpc-c%20Super%20Stable/1.16.39/xmlrpc-c-1.16.39.tgz
tar -xvf xmlrpc-c-1.16.39.tgz
cd xmlrpc-c-1.16.39
./configure
make
sudo make install
sudo ln -s /usr/local/lib/libxmlrpc_server.so.3 /usr/lib/
sudo ln -s /usr/local/lib/libxmlrpc.so.3 /usr/lib/
sudo ln -s /usr/local/lib/libxmlrpc_util.so.3 /usr/lib/
sudo ln -s /usr/local/lib/libxmlrpc_xmlparse.so.3 /usr/lib/
sudo ln -s /usr/local/lib/libxmlrpc_xmltok.so.3 /usr/lib/

Ahora toca configurar rTorrent con soporte para XML-RPC, compilarlo e instalarlo:

./configure --libdir=/usr/local/lib --with-xmlrpc-c=/usr/local/bin/xmlrpc-c-config
make
sudo make install

Este paso es necesario aunque ya lo hubierais hecho al leer los posts anteriores, ya que, como digo, esta vez se añade soporte para XML-RPC, así que toca repetir. Paciencia, que merece la pena.

Por último abrimos el fichero de configuración .rtorrent.rc:

nano ~/.rtorrent.rc

Y añadimos la línea:

scgi_port = localhost:5000

Es necesario reiniciar Apache para que se activen los cambios:

sudo /etc/init.d/apache2 restart

Si habéis seguido todos los pasos deberíais poder acceder a la interfaz web de ruTorrent desde la dirección: http://dominio.com/~usuario/rutorrent. Como no es buena idea que cualquiera pueda entrar a nuestra administración de torrents, yo he optado por ponerle un acceso con contraseña a través de un fichero .htaccess. Supongamos que queremos que para entrar a ver las descargas haya que usar el usuario "descargas" con contraseña "contraseña" (esto es un ejemplo, no se os ocurra poner una contraseña así nunca). Lo primero sería crear un fichero .htpasswd con el usuario y la contraseña encriptada y a continuación editar/crear el .htaccess:

htpasswd -cb ~/.htpasswd usuario contraseña
nano ~/public_html/rutorrent/.htaccess

La opción c es para crear el fichero, así que si ya existe, no se debe poner. En el .htaccess ya abierto ponemos lo siguiente:

AuthName "El acceso requiere usuario y contraseña"
AuthUserFile ~/.htpasswd
AuthType Basic
Require user descargas

Si en casa tenéis una IP fija y sois demasiado vagos como para poner la contraseña cada vez que entráis (a mí me pasa), podéis añadir esto al fichero:

Allow from vuestra_ip_pública
Satisfy any

Si no conocéis vuestra IP pública, entrad en Cuál es mi IP y lo podréis ver.

Y listo, ya tenéis interfaz web protegida por contraseña para controlar vuestro torrents y debería tener un aspecto similar a este:

Aspecto de ruTorrent, interfaz web para rTorrent
Aspecto de ruTorrent, interfaz web para rTorrent

Desde esta interfaz podréis hacer casi todo lo que permite rTorrent: añadir/eliminar torrents, parar/iniciar torrents, cambiarles la prioridad, cambiar la configuración de rTorrent y ruTorrent, etc.. Y en la parte inferior muestra mucha información, como el propio rTorrent al entrar en la información de cada torrent (con la tecla flecha derecha, ¿recordáis?).

Y con esto concluye esta serie de entradas dedicada a rTorrent. Espero que os haya sido útil. Para cualquier duda, sugerencia o corrección, ahí tenéis los comentarios.