Miércoles, Septiembre 30, 2020

Guía de instalación y configuración de un servidor torrent para Raspberry Pi con Transmission y Plex o Kodi

raspberrypi

En esta ocasión vamos a presentar una guía de instalación y configuración de un servidor torrent para Raspberry Pi paso a paso, así como una breve explicación del interés que podemos tener en usar uno de estos dispositivos en vez de nuestro ordenador o portátil habitual.

Explicación:

Para empezar podemos definir a una Raspberry Pi como un micro-ordenador, pues en su placa se encuentran todos los componentes necesarios para el funcionamiento de un ordenador (salvo periféricos ^^).

Su precio empieza en los 5 euros hasta los 65 euros, teniendo la gran mayoría entorno a los 30-35 euros, según el modelo deseado y un gasto eléctrico ínfimo.

Sacando como ejemplo una de las más vendidas, la Raspberry Pi 3 B, la cual tiene un consumo máximo de 800 mA, que vienen a ser 4.0 W, una cifra irrisoria si la comparamos un la de un ordenador estándar que ronda los 300 W o más.

Alguna ventaja más a destacar es su pequeño tamaño, el poco calor que desprende con su funcionamiento, aunque este sea intenso y por último que no necesita ningún periférico para su funcionamiento.

Requisitos para esta guía:

– Raspberry Pi (Modelo B en este caso)
– Tarjeta SD
– USB Externo (Puede ser un disco duro)

Instalación Raspbian

El primer primer paso sera descargar nuestro sistema operativo, en este caso hemos elegido Raspbian (Raspbian Buster with desktop).

Si se prefiere podemos atajar con la descarga directa o con el archivo torrent de la última versión. (Si elegimos la opción A la descarga se puede omitir)

Ahora que ya tenemos nuestro sistema operativo descargado, toca instalarlo en la tarjeta SD de nuestra Raspberry Pi, para ellos explicare como hacerlo desde Windows y desde Gnu Linux:

A) Instalar Raspbian en una tarjeta SD desde Raspberry Pi Imager (Multiplataforma: windows, Mac y Gnu Linux):

– Descargamos Raspberry Pi Imager y lo ejecutamos.
– Una vez dentro de Raspberry Pi Imager conectaremos nuestra tarjeta SD a nuestro ordenador.
– Ahora tan solo nos falta elegir nuestro sistema operativo “Raspbian” (el recomendado) y la tarjeta SD a usar en este proceso.
– Ya por último tenemos que presionar sobre “WRITE” y esperar a que el proceso finalice.

B) Instalar Raspbian en una tarjeta SD desde Win32DiskImager (Windows):

– Descargamos Win32DiskImager y lo ejecutamos.
– Como paso intermedio toca abrir Raspbian y descomprimirlo.
– Una vez dentro seleccionamos el archivo de Raspbian (el que descomprimimos) y en el cuadro de dispositivos seleccionamos nuestra tarjeta SD.
– Después de revisar que los datos anteriores son correctos presionamos sobre el botón “WRITE” y esperamos a que el proceso termine.

C) Instalar Raspbian en una tarjeta SD desde una terminal (Gnu Linux):

– Una vez conectada la tarjeta SD a nuestro ordenador ejecutaremos el comando (de forma que podamos identificar nuestra tarjeta SD y no las particiones de nuestro disco):

sudo fdisk -l

– Seleccionamos nuestra tarjeta  SD  y montemos la imagen Raspbian en ella, ejecutando a continuación en la terminal el siguiente comando:

dd bs=4M if=2020-02-13-raspbian-buster.img of=/dev/sd1 conv=fsync

Edita el comando según el archivo descargado y los datos de la tarjeta sd, en mi caso es el “sd1” y el archivo de instalación “2020-02-13-raspbian-buster.img”.

Configuración Raspbian

Ahora que ya tenemos instalado nuestro sistema operativo en la tarjeta SD podemos introducirla en nuestra Raspberry Pi y encenderla, conectando a su vez un cable Ethernet entre el dispositivo y nuestro ordenador, creando de esta forma una red local.

Configurar la red por wifi de forma automática en el primer arranque

Si no podemos conectar nuestra Rapsberry por cable Ethernet al modem, una alternativa es conectarla por Wifi. Y tenemos dos opciones, o bien arrancamos la Raspberry y configuramos el archivo /etc/wpa_supplicant/wpa_supplicant.conf desde el escritorio Raspbian, o lo hacemos de forma automática al arrancar por primera vez la Raspberry.

Para esto ultimo, desde nuestro ordenador, una vez que hemos copiado la imagen de Raspbian a la tarjeta SD, accedemos al directorio /boot dentro de la SD y creamos allí un archivo wpa_supplicant.conf con la configuración de nuestra wifi.

Para ambos casos el contenido del archivo debe ser el mismo.

ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev
update_config=1
country=ES

network={
ssid="Wifi_SSID"
psk="Wifi_Password_WPA"
key_mgmt=WPA-PSK
}

Si la wifi que usamos tiene el SSID oculto añadiremos ademas la siguiente linea en la seccion network:

scan_ssid=1

Guardamos el archivo, extraemos la SD y arrancamos la Raspberry con ella. Al iniciarse la configuración inicial de la Raspberry se copiara el archivo wpa_supplicant.conf desde /boot a /etc/wpa_supplicant y se usara de forma predeterminada.

Configurar una IP local fija para nuestra Raspberry

Una vez que hemos arrancado la Raspberry debemos configurar la IP de la misma editando el archivo /etc/dhcpcd.conf con el comando:

nano /etc/dhcpcd.conf

Para ello añadimos al final del archivo la configuración según corresponda con nuestra conexión:

Para cable ethernet

interface eth0

Para wifi

interface wlan0

Y en ambos casos

static ip_address=192.168.1.2/24
static routers=192.168.1.1
static domain_name_servers=8.8.8.8
static domain_search=

Sustituyendo en ip_address la IP que queramos ponerle, en routers la IP de nuestro modem, y en domain_name_servers la IP, o IPs separadas por espacios de los servidores DNS que queramos usar.

Quedando algo similar en el router a:

configuracion-ip-fija

Mientras que el router veremos lo siguiente:

configuracion-ip-fija-terminal

Configurar SSH

Otra vez en nuestro ordenador abriremos una terminal / símbolo del sistema y procederemos con el siguiente comando para acceder a nuestro dispositivo:

ssh Esta dirección de correo electrónico está siendo protegida contra los robots de spam. Necesita tener JavaScript habilitado para poder verlo..1.2

Si preferimos acceder por nombre, deberemos editar el archivo /etc/hosts de nuestro PC y añadir la linea, sustituyendo la IP por la que corresponda en nuestro caso.

192.168.1.2 raspberry.local raspberry

Con lo que el comando anterior quedaría:

ssh Esta dirección de correo electrónico está siendo protegida contra los robots de spam. Necesita tener JavaScript habilitado para poder verlo.

Momento en el cual debemos de introducir la contraseña del dispositivo, por defecto “raspberry”.

Posible error: Por defecto Raspberry tiene los puertos ssh desactivados, para lo cual tenemos diversas opciones, la más sencilla, conecta tu raspberry a un monitor y a sus periféricos, vete a ajustes y en configuración habilita conexión por ssh.

Abirr-peurto-ssh

El siguiente paso será la configuración geográfica, horaria y de teclado para lo cual, empezaremos con la codificación del idioma:

sudo dpkg-reconfigure locales

Lugar donde buscaremos español de España (es_ES), preferiblemente con codificación UTF-8 y pulsa la barra espaciadora para seleccionarlo, y pulsamos intro para continuar. De forma que quede como idioma predeterminado “es_ES.UTF-8”.

Seguiremos con la configuración de teclado, para lo cual usaremos el siguiente comando, el cual se configurara de forma automática siguiendo los datos elegidos en el paso anterior:

sudo dpkg-reconfigure keyboard-configuration

Ya por último actualizaremos la zona horaria, para lo cual usaremos el comando:

sudo dpkg-reconfigure tzdata

Y seleccionando en nuestro caso Europa y después Madrid.

Ya como extra en este apartado podemos cambiar la clave a nuestra Raspberry Pi (root) con el siguiente comando:

sudo passwd

donde nos pedirá que introduzcamos dos veces nuestra nueva contraseña (una vez intro y repetimos el proceso)

Y si queremos también la contraseña Raspberry Pi (Pi) con el siguiente comando:

passwd pi

Donde debemos que introducir nuestra contraseña actual, por defecto “raspberry”, y como en el caso anterior, dos veces la nueva.

Así mismo efectuaremos una actualización del sistema con el siguiente comando:

sudo apt-get update

sudo apt-get dist-upgrade

Configurar almacenamiento externo

Lo primero que haremos conectar nuestro disco duro externo a la raspberry y acto seguido lo montamos en nuestro sistema con:

sudo mount /dev/sda1 /mnt

Y procedemos a comprobar su correcta conexión, donde veremos capacidad y otros datos de interés:

df -h | grep sda1

Por último configuraremos el montaje automático con para lo cual empezaremos por conocer el UUID de nuestro disco, para lo cual introduciremos el siguiente comando y anotaremos el UUID que aparece en la línea de “/dev/sda1”

sudo blkid

Acto seguido accedemos a editar el archivo fstab:

sudo nano /etc/fstab

Y añadiremos la siguiente línea según nuestro formato (recomendamos ext4) del disco duro (Recuerda editar el texto de UUID):

UUID=e25b1db5-5127-4779-8312-bd611edfc64d /media/ ext4 defaults 0 2

y verificamos su montaje con (si no arroja ningun error todo esta bien):

sudo mount -a

Ya como extra podemos separar las descargas en dos carpetas:

Archivos ya descargados:

sudo mkdir -p /mnt/media/descargas/

Archivos en proceso de descarga:

sudo mkdir -p /mnt/media/descargando/

Por último

Instalación del cliente Torrent

El cliente escogido es Transmission, el cual instalaremos con el siguiente comando:

sudo apt-get install transmission-daemon

Iniciaremos el cliente torrent por primera vez con:

sudo service transmission-daemon start

Comprobamos que haya arrancado correctamente

sudo service transmission-daemon status

Posible error “UDP Failed to set receive / send buffer”, lo solucionaremos con los siguientes comandos editando un archivo:

Lo primero sea detener Transmission con:

sudo service transmission-daemon stop

Acto seguido accederemos al archivo de memoria del sistema con:

sudo nano /etc/sysctl.conf

Y añadiremos al final de todo las siguientes líneas, guardamos y salimos:

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

Acto seguido actualizamos los cambios:

sysctl -p

Y podemos volver al paso de iniciar el cliente torrent por primera vez.

A continuación lo detenemos de nuevo.

sudo service transmission-daemon stop

De esta forma se nos creara una configuración inicial con los valores por defecto. Ya que usamos una unidad externa en este caso para almacenar los datos, debemos de cambiar el destino de nuestras descargas, para lo cual editamos la configuración con:

sudo nano /etc/transmission-daemon/settings.json

Buscamos las siguientes opciones y editamos los valores a los que correspondan a nuestra unidad de almacenamiento externo.

"download-dir": "/mnt/media/descargas",
"incomplete-dir": "/mnt/media/descargando",

También podremos editar las siguientes opciones para definir el ancho de banda que queramos darle al servidor torrent

"speed-limit-down": 500,
"speed-limit-down-enabled": true,
"speed-limit-up": 30,
"speed-limit-up-enabled": true,

Y las opciones siguientes si queremos definir un horario en el que se consuma menos ancho de banda (Turtle Mode).

"alt-speed-down": 30,
"alt-speed-enabled": false,
"alt-speed-time-begin": 480,
"alt-speed-time-day": 127,
"alt-speed-time-enabled": false,
"alt-speed-time-end": 1320,
"alt-speed-up": 15,

Los parámetros alt-speed-time-begin y alt-speed-time-end admiten el tiempo en minutos desde la medianoche. Siendo 480 las 8:00 y 1320 las 22:00.

El parámetro alt-speed-time-day admite valores binarios para los días según esta correspondencia:

Domingo: 1 (binary: 0000001)
Lunes: 2 (binary: 0000010)
Martes: 4 (binary: 0000100)
Miercoles: 8 (binary: 0001000)
Jueves: 16 (binary: 0010000)
Viernes: 32 (binary: 0100000)
Sabado: 64 (binary: 1000000)

Ejemplos

Dias de la semana: 62 (binary: 0111110)
Fines de semana: 65 (binary: 1000001)
Todos los dias: 127 (binary: 1111111)

Si queremos administrar nuestro servidor torrent remotamente a traves de la web, debermos editar los valores:

"rpc-authentication-required": false,
"rpc-bind-address": "0.0.0.0",
"rpc-enabled": true,
"rpc-host-whitelist": "rasberrypi.local",
"rpc-host-whitelist-enabled": true,
"rpc-username": "ejemplo",
"rpc-password": "Password_en_texto_plano",
"rpc-port": 9091,
"rpc-url": "/transmission/",
"rpc-whitelist": "127.0.0.1,192.168.1.*",
"rpc-whitelist-enabled": true,

Aqui deberemos cambiar el valor de rpc-username al usuario que queramos usar y rpc-password por la clave que queramos, introduciendola en texto plano. Se autocifrara en cuanto arranquemos de nuevo el servicio.

Si no indicamos ningun usuario, no se nos pedira clave.

Con el parametro rpc-whitelist podemos limitar que solo se pueda acceder desde nuestra red local a la administración remota del Transmission.

Y reiniciamos el servicio para aplicar los cambios:

sudo service transmission-daemon restart

Una vez configurado a nuestro gusto, arrancamos de nuevo el servicio

sudo service transmission-daemon start

Y comprobamos que haya arrancado correctamente, sino, deberemos revisar que la configuración este correcta.

sudo service transmission-daemon status

También añadiremos Transmission al arranque del sistema en cada encendido con:

sudo systemctl enable transmission-daemon

En nuestro equipo, accediendo desde el navegador a la URL http://raspberry.local:9091/transmission prodemos acceder a la interfaz web de Tranmission y podremos añadir o quitar torrents o magnets desde alli, o modificar la configuración del servicio.

Instalación de Plex

Instalamos Plex en su última versión, para lo cual revisamos la última actualización en su web y elegimos la opción ARMv7 que se corresponde con la Raspberry pi 3 en nuestro caso:

wget https://downloads.plex.tv/plex-media-server-new/1.19.3.2843-e3c1f7bcd/debian/plexmediaserver_1.19.3.2843-e3c1f7bcd_armhf.deb

Y lo instalamos con el siguiente comando:

sudo dpkg -i plexmediaserver_1.19.3.2843-e3c1f7bcd_armhf.deb

Ahora está instalado el servidor de medios Plex, el cual podemos verificar con:

systemctl status plexmediaserver

También añadiremos Plex al arranque del sistema en cada encendido con:

sudo systemctl enable plexmediaserver

Y por último recargaremos los programas de arranque de sistema con:

sudo systemctl daemon-reload

Actualización automática de Plex

Con estos pasos automatizamos la actualización de Plex con el sistema, pues actualmente no se encuentra en los repositorios de Debian 10.

dpkg -L plexmediaserver

Ahora abriremos el archivo y descomentamos la última línea borrando el #:

sudo nano /etc/apt/sources.list.d/plexmediaserver.list

Acto seguido ejecutaremos el siguiente comando para importar la clave pública Plex al administrador de paquetes:

wget -q https://downloads.plex.tv/plex-keys/PlexSign.key -O - | sudo apt-key add -

Y por último actualizamos:

sudo apt update

Configuración de Plex

Lo primero sera compromar que los puertos 0.0.0.0:32400 y 127.0.0.1:32401 estana biertos para Plex:

sudo netstat -lnpt | grep Plex

puertos-abiertos-plex

Tenemos que tener en cuenta que si Plex está instalado en un servidor remoto de Debian 10 Buster (como en nuestro caso que es una Raspberry Pi), debemos configurar un túnel SSH ejecutando el siguiente comando en su computadora local.

ssh 14.34.56.78 -L 8888: localhost: 32400

Reemplazando 14.34.56.78 con la dirección IP del servidor Debian remoto.

Y ya podremos accederemos con la siguiente url y finalizar su configuración de Plex:

http://raspberrypi.local:32400/web o http://localhost:8888/web

Donde conectaremos con nuestra cuenta de Plex y finalizaremos la configuración del centro multimedia a nuestro gusto.

Instalación de Kodi

Instalamos Kodi en su última versión, para lo cual revisamos la última actualización en su web y elegimos la opción para Raspberry Pi que se corresponde con la de nuestro dispositivo.

Pero para simplificar el proceso podemos tirar del siguiente comando que instalarlo Kodi en nuestro sistema a golpe de click, con tan solo introducirlo en nuestra terminal:

sudo apt install kodi

Y ya podemos ejecutar Kodi, donde tendremos que indicar donde está nuestra biblioteca y listo.

 

Fuente: lignux

 

Protege-1

¿Quién está en línea?

Hay 73 invitados y ningún miembro en línea

Contador de Visitas

10942806
Hoy Hoy 1077
Ayer Ayer 2805
Esta semana Esta semana 6883
Este mes Este mes 71755
Total de Visitas Total de Visitas 10942806

Día con más
visitantes

09-28-2020 : 3001

Gracias por su visita