Plex es un servidor de medios gratuito, de código abierto y con todas las funciones que le permite transmitir sus fotos, videos y archivos de audio en su PC, tableta, teléfono desde cualquier parte del mundo. Plex es compatible con la mayoría de los sistemas operativos, incluidos Linux, Windows, Mac y FreeBSD. Plex también es compatible con varios complementos que le permiten ver contenido de Comedy Central y MTV.
Plex es un sistema de reproductor multimedia cliente-servidor. Simplemente instale el servidor Plex en el servidor donde guarda sus medios y luego instale una aplicación Plex de su teléfono, tableta u otros dispositivos para acceder a sus medios a través de Internet.
Características Admite múltiples usuarios. Mostrar recomendaciones de películas/programas de televisión. Crea una lista de reproducción para tu música y películas favoritas. Sincroniza y accede a archivos multimedia para usarlos sin conexión. El control parental le permite instalar la aplicación Plex en el dispositivo de un niño y restringirlo para ver solo contenido específico. Posibilidad de transmitir sus canales de televisión locales a su dispositivo y ver televisión en vivo.
En este tutorial, le mostraremos cómo instalar Plex Media Server en un sistema CentOS 8 con Nginx como proxy inverso.
Requisitos
- Un servidor que ejecuta CentOS 8 con un mínimo de 2 GB de RAM.
- Se apunta un nombre de dominio válido con la IP de su servidor.
- Se ha configurado una contraseña raíz en su servidor.
Actualizar el Sistema
Primero, se recomienda actualizar su servidor con la última versión. Puede actualizarlo usando el siguiente comando:
dnf update -y
Una vez que su servidor esté actualizado, reinícielo para implementar los cambios.
Instalar Plex Media Server
De forma predeterminada, el paquete del servidor de medios Plex no está disponible en el repositorio predeterminado de CentOS 8. Por lo tanto, deberá crear un repositorio para el servidor de medios Plex. Puedes crearlo con el siguiente comando:
nano /etc/yum.repos.d/plex.repo
Agregue las siguientes líneas:
[Plex] name=Plex baseurl=https://downloads.plex.tv/repo/rpm/$basearch/ enabled=1 gpgkey=https://downloads.plex.tv/plex-keys/PlexSign.key gpgcheck=1
Guarde y cierre el archivo cuando haya terminado. Luego instale el servidor de medios Plex usando el siguiente comando:
dnf install plexmediaserver -y
Una vez completada la instalación, inicie el servicio multimedia Plex y habilítelo para que se inicie después de reiniciar el sistema con el siguiente comando:
systemctl enable plexmediaserver
systemctl start plexmediaserver
También puede verificar el estado del servidor de medios Plex con el siguiente comando:
systemctl status plexmediaserver
Debería ver el siguiente resultado:
? plexmediaserver.service - Plex Media Server Loaded: loaded (/usr/lib/systemd/system/plexmediaserver.service; enabled; vendor preset: disabled) Active: active (running) since Mon 2020-01-06 02:45:40 EST; 41s ago Main PID: 1009 (Plex Media Serv) Tasks: 113 (limit: 12552) Memory: 268.1M CGroup: /system.slice/plexmediaserver.service ??1009 /usr/lib/plexmediaserver/Plex Media Server ??1033 Plex Plug-in [com.plexapp.system] /usr/lib/plexmediaserver/Resources/Plug-ins-349e9837e/Framework.bundle/Contents/Resources/> ??1077 /usr/lib/plexmediaserver/Plex Tuner Service /usr/lib/plexmediaserver/Resources/Tuner/Private /usr/lib/plexmediaserver/Resour> ??1246 Plex Plug-in [org.musicbrainz.agents.music] /usr/lib/plexmediaserver/Resources/Plug-ins-349e9837e/Framework.bundle/Contents/> ??1356 Plex Plug-in [com.plexapp.agents.plexthememusic] /usr/lib/plexmediaserver/Resources/Plug-ins-349e9837e/Framework.bundle/Cont> ??1364 Plex Plug-in [com.plexapp.agents.themoviedb] /usr/lib/plexmediaserver/Resources/Plug-ins-349e9837e/Framework.bundle/Contents> ??1365 Plex Plug-in [tv.plex.agents.music] /usr/lib/plexmediaserver/Resources/Plug-ins-349e9837e/Framework.bundle/Contents/Resource> ??1389 Plex Plug-in [com.plexapp.agents.thetvdb] /usr/lib/plexmediaserver/Resources/Plug-ins-349e9837e/Framework.bundle/Contents/Re> ??1450 Plex Plug-in [com.plexapp.agents.imdb] /usr/lib/plexmediaserver/Resources/Plug-ins-349e9837e/Framework.bundle/Contents/Resou> Jan 06 02:45:40 plex systemd[1]: Starting Plex Media Server... Jan 06 02:45:40 plex systemd[1]: Started Plex Media Server.
En este punto, el servidor de medios Plex está instalado y funcionando. Ahora puede continuar con el siguiente paso.
Configure Firewall y SELinux para Plex Media Server
A continuación, deberá configurar firewalld para permitir puertos específicos del servidor de medios Plex. Puede hacerlo ejecutando los siguientes comandos:
firewall-cmd --zone=public --add-port=32400/tcp --permanent
firewall-cmd --zone=public --add-port=32469/tcp --permanent
firewall-cmd --zone=public --add-port=8324/tcp --permanent
firewall-cmd --zone=public --add-port=3005/tcp --permanent
firewall-cmd --zone=public --add-port=32412/udp --permanent
firewall-cmd --zone=public --add-port=32413/udp --permanent
firewall-cmd --zone=public --add-port=32414/udp --permanent
firewall-cmd --zone=public --add-port=32410/udp --permanent
firewall-cmd --zone=public --add-port=1900/udp --permanent
firewall-cmd --zone=public --add-port=5353/udp --permanent
firewall-cmd --zone=public --add-port=80/tcp --permanent
A continuación, vuelva a cargar el servicio firewalld para implementar los cambios:
firewall-cmd --reload
De manera predeterminada, SELinux está habilitado en el servidor CentOS 8. Por lo tanto, deberá configurar SELinux para acceder al Plex Media Server a través de Internet. Puede configurar SELinux usando el siguiente comando:
setsebool httpd_can_network_connect on -P
En este punto, se puede acceder al servidor de medios Plex a través de Internet. Ahora puede continuar con el siguiente paso.
Acceder al servidor de medios Plex
Ahora puede acceder al servidor de medios Plex usando la URL http://your-server-ip:32400. Debería ver la siguiente página:
A continuación, deberá registrarse con una dirección de correo electrónico válida para utilizar el servicio. Después de un registro exitoso. Será redirigido al panel del servidor de medios Plex como se muestra a continuación:
Configurar Nginx como proxy inverso
A continuación, deberá configurar un Nginx como proxy inverso para poder acceder a él con el nombre de dominio sin proporcionar la dirección IP y el número de puerto.
Para hacerlo, primero instale el servidor web Nginx con el siguiente comando:
dnf install nginx
Una vez que se haya completado la instalación, inicie el servicio Nginx y habilítelo para que se inicie después de reiniciar el sistema con el siguiente comando:
systemctl start nginx
systemctl enable nginx
A continuación, cree un archivo de configuración de host virtual Nginx para Plex con el siguiente comando:
nano /etc/nginx/conf.d/plex.conf
Agregue las siguientes líneas:
upstream plex_backend { server 127.0.0.1:32400; keepalive 32; } server { listen 80; server_name plex.example.com; 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 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 send to the client as soon as the data is received from Plex. proxy_redirect off; proxy_buffering off; location / { proxy_pass http://plex_backend; } }
Guarde y cierre el archivo cuando haya terminado. A continuación, deberá definir el tamaño del depósito de hash del servidor Nginx. Puede hacerlo editando el archivo de configuración de Nginx:
nano /etc/nginx/nginx.conf
Agregue la siguiente línea justo encima de la última línea:
server_names_hash_bucket_size 64;
Guarde y cierre el archivo cuando haya terminado. Luego, verifique el Nginx para ver si hay algún error de sintaxis con el siguiente comando:
nginx -t
Debería ver el siguiente resultado:
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok nginx: configuration file /etc/nginx/nginx.conf test is successful
Finalmente, reinicie el servicio Nginx para implementar los cambios.
systemctl restart nginx
Para verificar el estado del servicio Nginx, ejecute el siguiente comando:
systemctl status nginx
Si todo está bien, debería obtener el siguiente resultado:
? nginx.service - The nginx HTTP and reverse proxy server Loaded: loaded (/usr/lib/systemd/system/nginx.service; disabled; vendor preset: disabled) Drop-In: /usr/lib/systemd/system/nginx.service.d ??php-fpm.conf Active: active (running) since Thu 2020-01-09 05:17:27 EST; 48s ago Process: 1230 ExecStart=/usr/sbin/nginx (code=exited, status=0/SUCCESS) Process: 1229 ExecStartPre=/usr/sbin/nginx -t (code=exited, status=0/SUCCESS) Process: 1227 ExecStartPre=/usr/bin/rm -f /run/nginx.pid (code=exited, status=0/SUCCESS) Main PID: 1232 (nginx) Tasks: 2 (limit: 5060) Memory: 13.1M CGroup: /system.slice/nginx.service ??1232 nginx: master process /usr/sbin/nginx ??1233 nginx: worker process Jan 09 05:17:25 centos8 systemd[1]: Starting The nginx HTTP and reverse proxy server... Jan 09 05:17:27 centos8 nginx[1229]: nginx: the configuration file /etc/nginx/nginx.conf syntax is ok Jan 09 05:17:27 centos8 nginx[1229]: nginx: configuration file /etc/nginx/nginx.conf test is successful
Ahora puede acceder a su servidor de medios Plex usando la URL http://plex.example.com.
Conclusión
¡Felicidades! ha instalado con éxito el servidor multimedia Plex en CentOS 8 con Nginx como proxy inverso. Ahora puede explorar el servidor de medios Plex para obtener más opciones y configurar su propia biblioteca de medios. Luego, puede instalar la aplicación Plex desde la tienda de juegos de su teléfono y acceder a sus medios. También puede permitir que sus amigos y familiares accedan a sus fotos, música y películas desde un navegador web o una aplicación Plex. Siéntase libre de preguntarme si tiene alguna pregunta.