Jellyfin es un potente servidor de medios gratuito que permite gestionar y transmitir tus archivos multimedia desde múltiples dispositivos o clientes. Proporciona una alternativa a los servidores de medios propietarios como Emby y Plex, dándote un control total sobre tu colección de medios. En este artículo, te guiaremos a través del proceso de instalación de Jellyfin en un servidor Debian 12, asegurándolo con UFW (Uncomplicated Firewall), certificados SSL/TLS de Letsencrypt, y configurando Apache2 como un proxy inverso.
Requisitos previos
Antes de comenzar, asegúrate de tener lo siguiente:
- Un servidor Debian 12 con 2 o 4 GB de memoria.
- Un usuario no root con privilegios de administrador.
- Un nombre de dominio apuntando a la dirección IP del servidor.
Añadiendo el repositorio de Jellyfin
Para instalar Jellyfin, primero necesitamos añadir el repositorio de Jellyfin a nuestro servidor Debian. Esto se puede hacer siguiendo estos pasos:
- Instala las dependencias necesarias ejecutando el siguiente comando:
sudo apt install apt-transport-https ca-certificates gnupg curl -y
- A continuación, añade la clave GPG del repositorio de Jellyfin ejecutando el siguiente comando:
sudo mkdir -p /etc/apt/keyrings curl-fsSL https://repo.jellyfin.org/jellyfin_team.gpg.key | sudo gpg --dearmor -o /etc/apt/keyrings/jellyfin.gpg
- Ahora, añade el repositorio de Jellyfin a tu servidor Debian ejecutando el siguiente comando:
echo "deb [signed-by=/etc/apt/keyrings/jellyfin.gpg] https://repo.jellyfin.org/debian/ $(lsb_release -c -s) main" | sudo tee /etc/apt/sources.list.d/jellyfin.list
Instalación de Jellyfin
Una vez añadido el repositorio, puedes instalar Jellyfin ejecutando los siguientes comandos:
sudo apt update
sudo apt install jellyfin -y
Configuración del firewall UFW
Para proteger tu servidor, es recomendable configurar el firewall UFW. Para abrir el puerto 8096, que es el puerto que Jellyfin utiliza para comunicarse, ejecuta el siguiente comando:
sudo ufw allow 8096
Configuración del certificado SSL/TLS con Letsencrypt
Para asegurar la comunicación entre tu servidor y los clientes, es recomendable utilizar un certificado SSL/TLS. Letsencrypt ofrece certificados gratuitos que puedes instalar ejecutando los siguientes comandos:
sudo apt install certbot -y sudo certbot certonly --webroot -w /var/www/html-d your-domain.com
Recuerda reemplazar “your-domain.com” con tu nombre de dominio real.
Configuración de Apache2 como proxy inverso
Apache2 puede actuar como un proxy inverso para Jellyfin, lo que significa que todas las solicitudes a tu nombre de dominio serán redirigidas a Jellyfin. Para configurar Apache2, sigue estos pasos:
- Instala Apache2 y los módulos necesarios con el siguiente comando:
sudo apt install apache2 libapache2-mod-proxy-html libxml2-dev -y
- Habilita los módulos necesarios con los siguientes comandos:
sudo a2enmod proxy sudo a2enmod proxy_http sudo a2enmod proxy_balancer sudo a2enmod lbmethod_byrequests
- Crea un nuevo archivo de configuración de Apache2 con el siguiente comando:
sudo nano /etc/apache2/sites-available/jellyfin.conf
- Añade la siguiente configuración, reemplazando “your-domain.com” con tu nombre de dominio real y “your-ip-address” con la dirección IP de tu servidor:
<VirtualHost *:80> ServerName your-domain.com Redirect permanent / https://your-domain.com/ </VirtualHost> <VirtualHost *:443> ServerName your-domain.com ProxyPreserveHost On ProxyPass "/.well-known/" "!" ProxyPass "/socket" "ws://your-ip-address:8096/socket" ProxyPass "/" "http://your-ip-address:8096/" SSLEngine on SSLCertificateFile /etc/letsencrypt/live/your-domain.com/fullchain.pem SSLCertificateKeyFile /etc/letsencrypt/live/your-domain.com/privkey.pem </VirtualHost>
- Guarda el archivo y sal del editor.
- Habilita la configuración y verifica la sintaxis de Apache2:
sudo a2ensite jellyfin.conf
sudo apachectl configtest
Si la sintaxis es correcta, deberías ver “Syntax OK” como salida.
- Reinicia el servicio Apache2 para aplicar los cambios:
sudo systemctl restart apache2
Con Apache2 configurado como un proxy inverso, pasemos a los pasos finales del proceso de instalación.
Completando la instalación de Jellyfin
- Abre tu navegador web y visita el nombre de dominio de tu instalación de Jellyfin. Por ejemplo,
https://media.example.com/. - Si la configuración es correcta, deberías ver el asistente de instalación de Jellyfin.
- Selecciona el idioma predeterminado para tu instalación de Jellyfin y haz clic en “Siguiente”.
- Crea un nuevo usuario administrador para tu instalación de Jellyfin introduciendo tu nombre de usuario y contraseña deseados. Haz clic en “Siguiente”.
- Configura tus bibliotecas de medios más tarde o haz clic en “Siguiente” para continuar.
- Selecciona tu idioma de metadatos preferido para tus bibliotecas y haz clic en “Siguiente”.
- Habilita las conexiones remotas y el mapeo de puertos si lo deseas, luego haz clic en “Siguiente”.
- Si la configuración es correcta, deberías ver el mensaje “¡Has terminado!”. Haz clic en “Finalizar” para completar la instalación de Jellyfin.
- Serás redirigido a la página de inicio de sesión de Jellyfin. Introduce tu nombre de usuario y contraseña de administrador, luego haz clic en “Iniciar sesión”.
- Si todo va bien, deberías ver el panel de administración de Jellyfin.
- Para acceder al panel de administración de Jellyfin más tarde, haz clic en el menú “Panel de control” en la sección de Administración.
Felicidades! Has instalado con éxito Jellyfin en Debian 12 con Apache2 como proxy inverso y cifrado SSL/TLS. Ahora puedes empezar a gestionar y transmitir tus archivos multimedia desde múltiples dispositivos.
Para soluciones de hosting fiables y de alto rendimiento para tu servidor de medios Jellyfin, considera los servicios de VPS Linux SSD de Shape.host. Con sus opciones de hosting en la nube escalables y seguras, puedes asegurar un rendimiento óptimo y accesibilidad para tus archivos multimedia. El VPS Linux SSD de Shape.host es la elección perfecta para alojar tu servidor de medios Jellyfin y proporcionar una experiencia de streaming excepcional a tus usuarios.