Plex je bezplatný, open-source a plně vybavený mediální server, který vám umožňuje streamovat vaše fotografie, video a audio soubory na vašem PC, tabletu, telefonu odkudkoli na světě. Plex podporuje většinu operačních systémů včetně Linuxu, Windows, Mac a FreeBSD. Plex také podporuje několik pluginů, které vám umožňují sledovat obsah z Comedy Central a MTV.
Plex je systém přehrávače médií typu klient-server. Stačí nainstalovat server Plex na server, kde máte svá média, a poté nainstalovat aplikaci Plex do telefonu, tabletu nebo jiného zařízení pro přístup k médiím přes internet.
Funkce Podpora více uživatelů. Zobrazit doporučení filmů/televizních pořadů. Vytvořte si seznam skladeb pro svou oblíbenou hudbu a filmy. Synchronizujte a získejte přístup k mediálním souborům pro použití offline. Rodičovská kontrola vám umožňuje nainstalovat aplikaci Plex na zařízení dítěte a omezit je na sledování pouze určitého obsahu. Možnost streamovat místní televizní kanály do vašeho zařízení a sledovat živé televizní vysílání.
V tomto tutoriálu vám ukážeme, jak nainstalovat Plex Media Server na systém CentOS 8 s Nginx jako reverzní proxy.
Předpoklady
- Server se systémem CentOS 8 s minimálně 2 GB paměti RAM.
- Platný název domény je označen jako adresa IP vašeho serveru.
- Na vašem serveru je nakonfigurováno heslo uživatele root.
Aktualizujte systém
Nejprve se doporučuje aktualizovat váš server na nejnovější verzi. Můžete jej aktualizovat pomocí následujícího příkazu:
dnf update -y
Jakmile je váš server aktualizován, restartujte jej, aby se změny implementovaly.
Instalovat Plex Media Server
Ve výchozím nastavení není balíček serveru médií Plex dostupný ve výchozím úložišti CentOS 8. Budete tedy muset vytvořit úložiště pro mediální server Plex. Můžete jej vytvořit pomocí následujícího příkazu:
nano /etc/yum.repos.d/plex.repo
Přidejte následující řádky:
[Plex] name=Plex baseurl=https://downloads.plex.tv/repo/rpm/$basearch/ enabled=1 gpgkey=https://downloads.plex.tv/plex-keys/PlexSign.key gpgcheck=1
Po dokončení uložte a zavřete soubor. Poté nainstalujte server médií Plex pomocí následujícího příkazu:
dnf install plexmediaserver -y
Po dokončení instalace spusťte službu Plex media a povolte její spuštění po restartu systému pomocí následujícího příkazu:
systemctl enable plexmediaserver
systemctl start plexmediaserver
Stav serveru médií Plex můžete také ověřit pomocí následujícího příkazu:
systemctl status plexmediaserver
Měli byste vidět následující výstup:
? 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.
V tomto okamžiku je server médií Plex nainstalován a spuštěn. Nyní můžete přejít k dalšímu kroku.
Konfigurace brány firewall a SELinux pro server Plex Media Server
Dále budete muset nakonfigurovat bránu firewall tak, aby umožňovala specifické porty serveru Plex media server. Můžete to udělat spuštěním následujících příkazů:
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
Dále znovu načtěte službu firewall, aby byly změny implementovány:
firewall-cmd --reload
Ve výchozím nastavení je SELinux povolen na serveru CentOS 8. Budete tedy muset nakonfigurovat SELinux pro přístup k serveru Plex Media Server přes internet. SELinux můžete nakonfigurovat pomocí následujícího příkazu:
setsebool httpd_can_network_connect on -P
V tomto okamžiku může být mediální server Plex přístupný přes internet. Nyní můžete přejít k dalšímu kroku.
Přístup k serveru Plex Media Server
Nyní můžete přistupovat k mediálnímu serveru Plex pomocí adresy URL http://ip-vaseho-serveru:32400. Měli byste vidět následující stránku:
Dále se budete muset zaregistrovat s platnou e-mailovou adresou, abyste mohli službu používat. Po úspěšném přihlášení. Budete přesměrováni na řídicí panel serveru médií Plex, jak je znázorněno níže:
Nastavení Nginx jako reverzního proxy
Dále budete muset nastavit Nginx jako reverzní proxy, abyste k němu měli přístup pomocí názvu domény bez poskytnutí IP adresy a čísla portu.
Chcete-li tak učinit, nejprve nainstalujte webový server Nginx pomocí následujícího příkazu:
dnf install nginx
Po dokončení instalace spusťte službu Nginx a povolte její spuštění po restartu systému pomocí následujícího příkazu:
systemctl start nginx
systemctl enable nginx
Dále vytvořte konfigurační soubor virtuálního hostitele Nginx pro Plex pomocí následujícího příkazu:
nano /etc/nginx/conf.d/plex.conf
Přidejte následující řádky:
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; } }
Po dokončení uložte a zavřete soubor. Dále budete muset definovat velikost segmentu hash serveru Nginx. Můžete to udělat úpravou konfiguračního souboru Nginx:
nano /etc/nginx/nginx.conf
Přidejte následující řádek těsně nad poslední řádek:
server_names_hash_bucket_size 64;
Po dokončení uložte a zavřete soubor. Poté pomocí následujícího příkazu zkontrolujte Nginx, zda neobsahuje nějakou chybu syntaxe:
nginx -t
Měli byste vidět následující výstup:
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok nginx: configuration file /etc/nginx/nginx.conf test is successful
Nakonec restartujte službu Nginx a implementujte změny.
systemctl restart nginx
Chcete-li zkontrolovat stav služby Nginx, spusťte následující příkaz:
systemctl status nginx
Pokud je vše v pořádku, měli byste získat následující výstup:
? 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
Nyní můžete přistupovat k mediálnímu serveru Plex pomocí adresy URL http://plex.example.com.
Závěr
Gratulujeme! úspěšně jste nainstalovali mediální server Plex na CentOS 8 s Nginx jako reverzní proxy. Nyní můžete prozkoumat mediální server Plex pro další možnosti a nastavit si vlastní knihovnu médií. Poté si můžete nainstalovat aplikaci Plex z obchodu Play v telefonu a získat přístup ke svým médiím. Můžete také povolit svým přátelům a rodině přístup k vašim fotografiím, hudbě a filmům z webového prohlížeče nebo aplikace Plex. Pokud máte nějaké dotazy, neváhejte se mě zeptat.