Cómo instalar Plex Media Server en Debian 12

Plex Media Server es una solución de streaming DIY para tu entorno local. Te permite almacenar diferentes tipos de archivos multimedia en una ubicación centralizada, y luego puedes transmitir todos tus archivos multimedia desde múltiples ubicaciones y dispositivos, como televisores, teléfonos inteligentes, etc.

Esta guía te mostrará cómo instalar el servidor multimedia Plex en un servidor Debian 12. Instalarás Plex con UFW (Uncomplicated Firewall) y Nginx como proxy inverso.

Requisitos previos

Para empezar con esta guía, asegúrate de que tienes lo siguiente:

  • Un servidor Debian 12.
  • Un usuario no root con privilegios de administrador.
  • Un nombre de dominio apuntando a la dirección IP del servidor.

Instalación de las dependencias

Antes de instalar, vamos a instalar las dependencias necesarias en tu máquina Debian.

En primer lugar, ejecuta el siguiente comando para actualizar tu repositorio Debian.

sudo apt update

actualizar repo

Después, instala las dependencias en tu sistema Debian utilizando el comando siguiente. Escribe y cuando se te pregunte, y pulsa ENTER para continuar.

sudo apt install curl unzip socat libexpat1 apt-transport-https wget software-properties-common

instalar deps

Instalar Plex Media Server en Debian

Una vez instaladas las dependencias, estás listo para instalar el repositorio Plex Media. Pero antes, debes añadir un repositorio de Plex a tu sistema Debian.

Ejecuta el siguiente comando para añadir el repositorio de Plex a tu máquina Debian.

echo deb https://downloads.plex.tv/repo/deb public main | sudo tee /etc/apt/sources.list.d/plexmediaserver.list

A continuación, añade la clave GPG para el repositorio de Plex utilizando el siguiente comando.

curl https://downloads.plex.tv/plex-keys/PlexSign.key | sudo apt-key add -

Una vez añadidos el repositorio y la clave GPG, actualiza y refresca tu repositorio Debian utilizando el siguiente comando.

sudo apt update

añadir repo

Ahora que el repositorio está actualizado, puedes instalar el paquete plexmediaserver utilizando el siguiente comando.

sudo apt install plexmediaserver

instalar plex

Una vez finalizada la instalación, ejecuta el siguiente comando systemctl para iniciar y activar el servicio plexmediaserver.

sudo systemctl start plexmediaserver
sudo systemctl enable plexmediaserver

El plexmediaserver debería estar ejecutándose en tu máquina Debian. Ahora verifícalo utilizando el siguiente comando.

sudo systemctl is-enabled plexmediaserver
sudo systemctl status plexmediaserver

Si todo va bien, verás el plexmediaserver con el estado activo (en ejecución).

verificar plexo

Configurar UFW

En esta guía, utilizarás UFW para proteger el Servidor Multimedia Plex. Así que primero debes instalar UFW en tu servidor Debian, después habilitar el perfil OpenSSH y añadir el puerto principal para Plex Media Server.

Instala UFW en tu sistema Debian utilizando el siguiente comando.

sudo apt install ufw -y

Una vez instalado, añade el perfil OpenSSH para permitir el tráfico SSH y abre el puerto 32400 para Plex.

sudo ufw allow OpenSSH
sudo ufw allow 32400

Ahora ejecuta el siguiente comando para iniciar y habilitar UFW. Cuando se te solicite, introduce y para confirmar.

sudo ufw enable

Por último, comprueba el estado de UFW y la lista de reglas habilitadas utilizando el comando que aparece a continuación. Asegúrate de que UFW se está ejecutando con el estado Activo y que tanto OpenSSH como el puerto 32400 están habilitados.

sudo ufw status

configuración ufw

Instalación y configuración de Nginx como proxy inverso

Llegados a este punto, ya has instalado Plex y configurado UFW. Por ahora, vamos a instalar Nginx y configurarlo como proxy inverso para tu instalación de Plex Media Server.

Instala el servidor web Nginx en tu máquina Debian utilizando el siguiente comando. Introduce y cuando se te pida, y pulsa ENTER para continuar.

sudo apt install nginx

instalar ngionx

Una vez instalado Nginx, ejecuta el siguiente comando para verificar el servicio Nginx. Asegúrate de que el servicio Nginx se está ejecutando y está habilitado.

sudo systemctl is-enabled nginx
sudo systemctl status nginx

Si está habilitado, deberías obtener una salida como habilitado. Si está en ejecución, verás una salida activa (running).

verificar nginx

Con Nginx en ejecución, ejecuta el siguiente comando ufw para abrir los puertos HTTP y HTTPS para el tráfico de Plex. Por defecto, UFW proporciona un perfil de aplicación ‘WWW Full’ para abrir tanto HTTP como HTTPS.

Ejecuta el siguiente comando para activar el perfil «Nginx Full» y, a continuación, recarga UFW para aplicarlo.

sudo ufw allow 'Nginx Full'
sudo ufw reload

añadir ufw nginx

A continuación, crea una nueva configuración de bloque de servidor /etc/nginx/sites-available/plex utilizando el comando del editor nano que aparece a continuación. Esto se utilizará como proxy inverso para la instalación de Plex Media Server.

vim /etc/nginx/sites-available/plex

Añade la configuración de abajo y asegúrate de cambiar el nombre de dominio con el nombre de dominio de tu Plex. Aquí también puedes utilizar el dominio local para el entorno local.

upstream plex_backend {
 server 127.0.0.1:32400;
 keepalive 32;
}
server {
listen 80;
server_name plex.hwdomain.io;

send_timeout 100m; #Some players don't reopen a socket and playback stops totally instead of resuming after an extended pause (e.g. Ch$

#Plex has A LOT of javascript, xml, and html. This helps a lot, but if it causes playback issues with devices turn it off. (Haven't enc$
gzip on;
gzip_vary on;
gzip_min_length 1000;
gzip_proxied any;
gzip_types text/plain text/css text/xml application/xml text/javascript application/x-javascript image/svg+xml;
gzip_disable "MSIE [1-6]\.";

#Nginx default client_max_body_size is 1MB, which breaks the Camera Upload feature from the phones.
#Increasing the limit fixes the issue. Anyhow, if 4K videos are expected to be uploaded, the size might need to be increased even more
client_max_body_size 100M;

#Forward real ip and host to Plex
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header Sec-WebSocket-Extensions $http_sec_websocket_extensions;
proxy_set_header Sec-WebSocket-Key $http_sec_websocket_key;
proxy_set_header Sec-WebSocket-Version $http_sec_websocket_version;
#Websockets
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "Upgrade";

#Buffering off is sent to the client as soon as the data is received from Plex.
proxy_redirect off;
proxy_buffering off;

location / {
proxy_pass http://plex_backend;
}
}

Guarda el archivo y sal del editor.

A continuación, ejecuta el siguiente comando para habilitar el bloque de servidor /etc/nginx/sites-available/plex y verifica tu sintaxis Nginx.

sudo ln -s /etc/nginx/sites-available/plex /etc/nginx/sites-enabled
sudo nginx -t

Asegúrate de que no tienes ningún error, y asegúrate de que obtienes una salida‘la sintaxis es correcta – la prueba se ha realizado correctamente‘.

configurar proxy inverso nginx

Por último, ejecuta el siguiente comando para reiniciar el servicio Nginx y aplicar tus cambios a Nginx. Con esto, tu Servidor Plex Media debería ser accesible a través de los puertos HTTP y HTTPS, que son gestionados por el servidor web Nginx.

sudo systemctl restart nginx

Asegurar el Servidor Plex Media con Certificados SSL/TLS

En esta guía, asegurarás tu instalación de Plex mediante certificados SSL/TLS. Para los usuarios del dominio local, puedes generar certificados autofirmados y habilitar manualmente HTTPS en el bloque del servidor Nginx. Si utilizas el dominio público, utiliza Certbot y Letsencrypt para generar certificados SSL/TLS.

Ejecuta el siguiente comando para instalar el plugin certbot y certbot Nginx.

sudo apt install certbot python3-certbot-nginx

Una vez finalizada la instalación, ejecuta el siguiente comando de certbot para generar certificados SSL/TLS para tu nombre de dominio Plex. Además, asegúrate de cambiar la dirección de correo electrónico y el nombre de dominio con tu información.

sudo certbot --nginx --agree-tos --redirect --hsts --staple-ocsp --email [email protected] -d plex.hwdomain.io

Una vez finalizado el proceso, el bloque de tu servidor Nginx se configurará automáticamente con HTTPS. Y tus certificados SSL/TLS se encontrarán en el directorio /etc/letsencrypt/live/domain.com.

Configuración del Servidor Plex Media

Abre tu navegador web y visita tu nombre de dominio Plex (es decir: https://plex.hwdomain.io/). Se te redirigirá al sitio web plex.tv para que registres una cuenta Plex. Puedes registrarte a través de Facebook/Gmail/Apple, o a través de tu dirección de correo electrónico.

registrar plex

Una vez registrado, abre una nueva pestaña y visita tu nombre de dominio Plex. Si la instalación se ha realizado correctamente, deberías obtener el panel de control del Servidor Multimedia Plex como el siguiente:

tablero plex

Conclusión

¡Enhorabuena! Ya has instalado Plex Media Server en un servidor Debian 12. También has configurado UFW en Debian para asegurar la instalación de Plex. Además, también has configurado Nginx como proxy inverso para Plex Media Server y has asegurado Plex mediante certificados SSL.TLS de Letsencrypt.

También te podría gustar...