Si estas buscando la forma correcta de instalar transmission en un vps server, estas en el lugar correcto,
Transmission web server es un programa que sirve para descargar archivos .torrent o links magneticos, y en este caso lo instalaremos en un vps con sistema operativo linux en una distribucion llamada ubuntu en la version minimal, nada complicado por cierto, pero para cualquier otra distribucion puedes seguir este tutorial tambien solamente cambiando ciertos comandos de ejecucion que seguramente ya identificaras para la distribucion linux que utilices.

Andaba buscando un programa que funcionara con interfaz web ya que en el servidor vps que lo instalare, no tiene entorno de escritorio, y para poder controlarlo sin entrar al vps usamos el servidor web de transmission que nos permite accesar por medio de ip.

Este tutorial es la primera parte de 3 , del proyecto PLEX server en Ubuntu Vps Gdrive Rclone Transmission web


Parte 1. Instalacion deTransmission en vps GCP y script auto eliminar descargas completas
Parte 2. Instalacion de Rclone en Vps Gcp y montaje de Team Drive Google Drive
Parte 3. Instalacion de Plex en Vps Gcp usando Team Drive Google y configuracion con Putty

En resumidas cuentas lo que haremos en este tutorial es lo siguiente.

  • Creacion de un vps en GCP sin entorno de escritorio, alternativamente puedes instalarle el entorno de escritorio i3 de este tutorial.
  • Abrir puertos por medio del firewal en GCP, el puerto necesario es el 9091 pero en este caso abriremos todos
  • Asignarle una direccion ip estatica al vps o instancia en GCP
  • Instalar transmission server con todas sus dependencias en ubuntu minimal ,y configurarlo correctamente.

Video instalacion Transmission en vps GCP + script autoremove

Tutorial Creacion de un vps en GCP sin entorno de escritorio

Supongo que ya cuentas con un vps pero si por el contrario quieres testear un vps en GCP con la prueba gratuita de 3 meses que da GCP, aqui te dejo los sencillos pasos para crearte uno en:

Vps GCP Google console platform Crear vps SIN entorno de escritorio y con SWAP

Pero tambien si quieres puedes isntalarle un entorno de escritorio ligero y accesar a el por medio de remotedesktop de google con:

Vps GCP Google console platform Crear vps CON entorno de escritorio i3 + SWAP y acceso por Remotedesktop google

Abrir puertos por medio del firewal en GCP

Transmission utiliza el puerto 9091, pero en este caso abriremos todos los puertos

  • Ir al menu, despues a Red de Vpc y despues en Firewall
firewall1 1
Menu>Red de vpc>Firewall
  • Crear regla de firewall con las siguientes caracteristicas
firewall2
firewall2

Guardamos y ya tenemos abiertos todos los puertos para todas las instancias

Asignar direccion ip estatica a la maquina virtual vps en GCP


Le asignaremos una direccion ip estatica a la maquina virtual para poder controlar transmission desde esa ip en cualquier lugar.

  • Nos vamos a Menu>Red de vpc>Direcciones de IP externas
ipstaticcc
ipstaticcc
  • Le damos en reservar

Cuando regreses a tu instancia, esta tendra una ip asignada

Para el siguiente paso conectate a la terminal de tu vps

Instalacion de Transmission web server en ubuntu minimal

  • Actualizamos los repositorios
  • Instalamos transmission-cli transmission-common transmission-daemon
  • Detenemos el servicio para poder hacer los cambios en el archivo
  • Instalamos nano como editor de texto
sudo apt update
sudo apt install transmission-cli transmission-common transmission-daemon
sudo service transmission-daemon stop
sudo apt install nano
  • Con nano abrimos el archivo de configuracion de transmission

sudo nano /var/lib/transmission-daemon/info/settings.json

Modifica algunos parametros en el archivo de configuracion, aqui lo dejo ya listo Script configuracion transmission solo cambia lo necesario por lo tuyo, cuando termines guarda con Ctrl + O y cierra con Ctrl + x

En "download-queue-size": 1, son las descargas activas en transmission , yo puse 1 por que mi capacidad de almacenamiento en mi vps es de 30 Gb y me sobran 17 Gb por lo que prefiero dejarlo asi, puedes ponerle la cantidad que quieras.

En "download-dir": "/home/usuario/Tcomplete", Es la carpeta de descargas, en este tutorial usaremos dos carpetas, esta para las completas y activaremos otra para descargas incompletas

El "rpc-password": "password", Aqui cambiaremos todo lo que esta en las comillas por nuestra contraseña para entrar por la ip, no te preocupes despues se encripta y aparecen esos numeros raros

El "rpc-username": "usuario", Es el usuario que utilizaremos para accesar por la IP a transmission

En "rpc-whitelist": "*.*.*.*", Es la ip permitida para tener acceso a tu transmission web, como yo quiero permitirlo desde todos lados coloco asteriscos, dejalo asi de preferencia.

En "script-torrent-done-enabled": true, Lo activamos en true por que agregaremos un script para borrar los .torrent ya descargados de la interfaz web.

La "script-torrent-done-filename": "/var/lib/scripts/completed.sh", es la direccion del script que agregaremos para el paso anterior

El "umask": 2, Son los tipos de permisos que se le dan se cambia 18 por 2.

  • Cambiamos el usuario que usa por default transmission por el nuestro, editamos el archivo siguiente con nano , cambiamos el usuario debian-transmission por el nuestro.

sudo nano /etc/init.d/transmission-daemon

  • Ahora borramos todo lo que se encuentra en el archivo siguiente

sudo nano /etc/systemd/system/multi-user.target.wants/transmission-daemon.service

Y dentro coloca lo siguiente, cambia debian-transmission por tu usuario del vps linux

[Unit]
Description=Transmission BitTorrent Daemon 
After=network.target 

[Service] 
User=debian-transmission 
Type=forking 
PIDFile=/var/lib/transmission-daemon/.config/transmission-daemon/trans.PID 
ExecStart=/usr/bin/transmission-daemon --pid-file /var/lib/transmission-daemon/.config/transmission-daemon/trans.PID --config-dir /var/lib/transmission-daemon/.config/transmission-daemon
[Install]
WantedBy=multi-user.target
  • Creamos el archivo PID
  • Le damos permisos al archivo PID
  • Le damos permisos a las carpetas necesarias, cambia usuario.usuario por el usuario que usas en el vps ( es usuario.grupo , pero tu usuario tiene un grupo llamado igual que tu usuario)
sudo touch /var/lib/transmission-daemon/.config/transmission-daemon/trans.PID
sudo chown usuario.usuario /var/lib/transmission-daemon/.config/transmission-daemon/trans.PID
sudo chown -R usuario.usuario /etc/transmission-daemon/
sudo chown -R usuario.usuario /var/lib/transmission-daemon/
  • Crear las carpetas de Descarga completa e incompleta
mkdir /home/usuario/Tcomplete
mkdir /home/usuario/Tincomplete
  • Permisos a las carpetas (recuerda cambiar usuario por el tuyo)
sudo chown -R usuario.usuario /home/usuario/Tincomplete/
sudo chown -R usuario.usuario /home/usuario/Tcomplete/
  • Crear la carpeta donde colocaremos el script
  • Crear el archivo del script
sudo mkdir /var/lib/scripts
sudo nano /var/lib/scripts/autoremove.sh

Pegar este codigo en el archivo creado autoremove.sh cambia usuario por el usuario de transmission y password por la de tu transmission, despues guardalo y cierralo.

#!/bin/sh
transmission-remote --auth=usuario:password -l | grep 100\% | grep Done | awk '{print $1}' | xargs -n 1 -I \% /usr/bin/transmission-remote --auth=usuario:password -t \% -r
  • Permisos de ejecucion al script con

sudo chmod +x /var/lib/scripts/autoremove.sh

  • Agregaremos unas lineas al enrutador para que no nos de ningun problema para ello editamos el siguiente archivo

sudo nano /etc/sysctl.conf

Y dentro al final colocamos esto:

net.core.rmem_max = 16777216 
net.core.wmem_max = 4194304

Despues lo ejecutamos con:

sudo sysctl -p

  • Reiniciamos el servicio
  • Activamos el servicio
  • Checamos el status del servicio
sudo systemctl daemon-reload
sudo service transmission-daemon start
sudo service transmission-daemon status

Listo ya deveria estar funcionando transmission en IP:9091/transmission/web/ cambia IP por tu ip estatica o checa con localhost:9091/transmission/web/

Si quieres volver a editar el archivo de configuracion necesitas realizar estos pasos

  • Primero detener el servicio
  • Realizar los cambios correspondientes
  • Iniciar el servicio
  • checar el status
sudo service transmission-daemon stop
sudo nano /var/lib/transmission-daemon/info/settings.json
sudo systemctl daemon-reload
sudo service transmission-daemon start
sudo service transmission-daemon status

Backup de los .torrent que se guardan en la carpeta /var/lib/transmission-daemon/info/torrents

Los archivos torrents que usamos para hacer las descargas en transmission son guardados en esa carpeta pero se eliminan de alli al finalizar la descarga, entonces vamos a realizar un backup de esos archivos solo si te interesa conservarlos.

  • Creacion de carpeta donde se sincronizaran estos archivos
  • Instalacion de Rsync , para sincronizar la carpeta
mkdir torrentsbk
sudo apt install rsync

Agregamos el siguiente script u orden al archivo script /var/lib/scripts/autoremove.sh que creamos antes,cambia usuario por el tuyo,y colocalo antes de cualquier orden.

rsync /var/lib/transmission-daemon/info/torrents/* /home/usuario/torrentsbk/

Por lo que te quedara asi:

#!/bin/sh
rsync /var/lib/transmission-daemon/info/torrents/* /home/usuario/torrentsbk/
transmission-remote --auth=usuario:contraseña -l | grep 100\% | grep Done | awk '{print $1}' | xargs -n 1 -I \% /usr/bin/transmission-remote --auth=usuario:contraseña -t \% -r

Listo ahora ya el script mueve los archivos .torrent a tu carpeta antes de eliminarlos de la interfaz web.

5/5 - (2 votos)