Cómo crear un seedbox en un servidor con Ubuntu 16.04 y Deluge

En Tutoriales y Guías por

En este tutorial voy a tratar de explicar con la mayor claridad y de la forma más sencilla posible cómo crear un seedbox en un servidor con Ubuntu 16.04 x64. He elegido un servidor con sistema operativo Linux ya que son los más baratos y un VPS nos puede servir perfectamente para configurar nuestro propio seedbox y descargar archivos torrent.

Cómo crear un seedbox en un servidor con Ubuntu 16.04

Antes de entrar en materia debo advertiros de que algunas compañías de alojamiento, ya sea en servidores VPS o dedicados, no permiten el uso de programas P2P, dentro de los cuales están incluidos las descargas torrent. Así que el primer paso será revisar los términos y condiciones de uso, del servicio que tenemos contratado. Otro factor a revisar es el ancho de banda del que dispone nuestro servidor, ya que este suele ser limitado y podéis llevaros alguna sorpresa desagradable.

¿Qué es Deluge?

Deluge es un programa gratuito y de código abierto que nos permite gestionar los archivos torrent, tanto para descargar archivos como para compartirlos. Dicho de una forma sencilla, Deluge es un cliente BitTorrent muy completo y totalmente configurable.

Está basado en las librerías de código abierto libtorrent, que implementan de forma eficiente el protocolo bittorrent. Estas librerías tiene años de desarrollo a sus espaldas, por ello han convertido a Deluge en una de los clientes bittorrent más estables.

La palabra seedbox se usa para definir a una maquina que nos permite compartir archivos torrent de forma continuada. Nuestro objetivo es crear un seedbox empleando un servidor con sistema operativo Ubuntu en el que instalamos Deluge con su interfaz web.

¿Qué vamos a necesitar para instalar Deluge en nuestro servidor?

Para la instalación de Deluge en un servidor Ubuntu vamos a emplear PuTTY para conectarnos al servidor. Como herramientas adicionales me gusta tener a mano FileZilla y WinSCP, pero son opcionales. Obviamente vamos a necesitar un servidor, yo he empleado un pequeño VPS de Digital Ocean que además de ofrecer un buen precio es muy estable.

Cómo crear un seedbox en un servidor con Ubuntu 16.04 desde cero.

Para empezar recomiendo disponer de un servidor con al menos 512MB de memoria RAM. El primer punto positivo de este tutorial, es que la instalación que vamos a hacer de Deluge es una de las más livianas y no necesita de muchos recursos. Esto se debe a que no vamos a instalar una interfaz gráfica de escritorio, sino que vamos a recurrir a la interfaz web para controlar Deluge directamente desde el navegador.

1) Añadir el repositorio PPA oficial de Deluge.

En primer lugar vamos a ejecutar el comando que nos permite añadir el repositorio PPA oficial de Deluge y así instalar directamente el programa sin necesidad de compilar nada manualmente. Los comandos a ejecutar son:
sudo add-apt-repository ppa:deluge-team/ppa
sudo apt-get update

Si por algún motivo nos saliese en pantalla el error “add-apt-repository: command not found”, en primer lugar debemos ejecutar el siguiente comando:
sudo apt-get install python-software-properties

2) Conocer los diferentes módulos de los que dispone Deluge.

Este apartado no es obligatorio conocerlo para realizar la instalación, pero personalmente prefiero conocer mínimamente los programas que instalo en los servidores. Cuando hablamos de Deluge, hablamos de un cliente bittorrent formado por diferentes módulos, lo que le permite adaptarse a casi cualquier entorno y sistema operativo.

Deluge consta de los siguientes módulos:

  • deluged: es el demonio principal, el núcleo del programa y es necesario para su correcto funcionamiento.
  • deluge-webui: es la interfaz web que permite controlar Deluge directamente desde el navegador web.
  • deluge-console: permite acceder al demonio a través de la consola, es decir, controlar Deluge con comandos desde la consola (no lo usaremos en este tutorial).

3) Configuración e instalación de Deluge en Ubuntu.

Pasamos rápidamente a la instalación de Deluge en Ubuntu para crear nuestro seedbox. El comando a ejecutar es:
sudo apt-get install deluged deluge-webui

Como vemos estamos instalando el demonio y la interfaz web, ya que el resto de componentes no los usaremos en nuestro caso.

La versión de Ubuntu 16.04 o Ubuntu 16.04.01 usa el gestor de servicios SystemD, por lo que tendremos que crear los scripts compatibles para arrancar, parar o reiniciar Deluge como servicio del sistema. Este proceso viene detallado en este enlace pero como está en inglés y puede resultar confuso, voy a detallar todos los pasos a continuación.

En primer lugar comprobamos que están instalados correctamente el demonio y la interfaz web, para esto empleamos los siguientes comandos que nos devolverán sus rutas correspondientes:
sudo which deluged
sudo which deluge-web

Como medida de seguridad es muy recomendable ejecutar el servicio de Deluge con un usuario con permisos limitados, esto lo conseguimos ejecutando el siguiente comando:
sudo adduser --system --gecos "Deluge Service" --disabled-password --group --home /var/lib/deluge deluge

Ahora creamos los scripts compatibles con SystemD. Para esto necesitaremos un editor de texto en modo consola, yo voy a emplear nano por su sencillez. Creo un archivo con el comando:
sudo nano /etc/systemd/system/deluged.service

Y como contenido pego:

[Unit]
Description=Deluge Bittorrent Client Daemon
After=network-online.target

[Service]
Type=simple
User=deluge
Group=deluge
UMask=007

ExecStart=/usr/bin/deluged -d

Restart=on-failure

# Configures the time to wait before service is stopped forcefully.
TimeoutStopSec=300

[Install]
WantedBy=multi-user.target

En el siguiente paso debemos activar el servicio para que se ejecute automáticamente al iniciar el sistema, para esto ejecutamos el siguiente comando:
sudo systemctl enable /etc/systemd/system/deluged.service

Ya podemos iniciar el demonio con el comando:
sudo systemctl start deluged

Podemos ver el estado de ejecución del servicio con el comando:
sudo systemctl status deluged

Seguimos un proceso igual al anterior, pero esta vez para el servicio de la interfaz web. Creamos el archivo del script de arranque con el comando:
sudo nano /etc/systemd/system/deluge-web.service

Como contenido pego:

[Unit]
Description=Deluge Bittorrent Client Web Interface
After=network-online.target

[Service]
Type=simple

User=deluge
Group=deluge
UMask=027

ExecStart=/usr/bin/deluge-web

Restart=on-failure

[Install]
WantedBy=multi-user.target

Activo el servicio para que se inicie al arrancar el sistema operativo:
sudo systemctl enable /etc/systemd/system/deluge-web.service

Comando para iniciar la interfaz web:
sudo systemctl start deluge-web

Comando para comprobar el estado de ejecución del servicio de la interfaz web:
sudo systemctl status deluge-web

Estos servicios también se pueden parar o reiniciar con los comandos:
systemctl restart deluged
systemctl restart deluge-web
systemctl stop deluged
systemctl stop deluge-web

Llegados a este punto, el proceso de instalación ya se puede dar por completo y aunque no sea necesario, personalmente me gusta reiniciar el sistema para comprobar que los scripts de arranque de los servicios funcionan correctamente. Para reiniciar el sistema ejecutamos el comando:
systemctl reboot

Cómo acceder a la interfaz web de Deluge desde el navegador.

Ahora os mostraremos como acceder a la interfaz web de Deluge desde el navegador. Para esto debemos conocer la IP de nuestro servidor y acceder a ella a través del navegador de la siguiente forma:
http://IP_servidor:8112

Se abrirá en el navegador una página web solicitando el password de acceso, que es por defecto “deluge” sin las comillas y en minúsculas. Es muy importante cambiar desde las preferencias el password por defecto. Para el correcto funcionamiento de la interfaz el navegador tiene que soportar Flash.

Deluge interfaz web ui

Otra recomendación importante de seguridad es cambiar el puerto por defecto (8112) por otro diferente (emplear un valor alto preferiblemente para evitar conflictos con otros puertos).

cambiar puerto interfaz web Deluge

Hasta aquí el tutorial de cómo crear un seedbox en un servidor con Linux Ubuntu 16.04, si os surge alguna duda no dudéis en pregutar a través de los comentarios.