Wie man Plex Media Server unter CentOS 8 installiert

Plex ist ein kostenloser, quelloffener und voll ausgestatteter Medienserver, der es Ihnen ermöglicht, Ihre Fotos, Video- und Audiodateien auf Ihrem PC, Tablet, Telefon von überall auf der Welt zu streamen. Plex unterstützt die meisten Betriebssysteme, einschließlich Linux, Windows, Mac und FreeBSD. Plex unterstützt auch verschiedene Plugins, die es Ihnen ermöglichen, Inhalte von Comedy Central und MTV zu sehen.

Plex ist ein Client-Server-Medienabspielsystem. Sie installieren einfach den Plex-Server auf dem Server, auf dem Sie Ihre Medien aufbewahren, und installieren dann eine Plex-Anwendung Ihres Telefons, Tablets oder anderer Geräte, um über das Internet auf Ihre Medien zuzugreifen.

Funktionen Unterstützt mehrere Benutzer. Anzeige von Filmen/TV-Show-Empfehlungen. Erstellen Sie eine Wiedergabeliste für Ihre Lieblingsmusik und -filme. Synchronisieren Sie Mediendateien für die Offline-Verwendung und greifen Sie darauf zu. Die Kindersicherung ermöglicht es Ihnen, die Plex-Anwendung auf einem Kindergerät zu installieren und sie auf das Ansehen bestimmter Inhalte zu beschränken. Die Möglichkeit, Ihre lokalen Fernsehkanäle auf Ihr Gerät zu streamen und Live-Fernsehen zu sehen.

In diesem Tutorial zeigen wir Ihnen, wie Sie Plex Media Server auf einem CentOS 8-System mit Nginx als Reverse-Proxy installieren.

Voraussetzungen

  • Einen Server mit CentOS 8 mit mindestens 2 GB RAM.
  • Ein gültiger Domänenname wird mit Ihrer Server-IP angezeigt.
  • Ein Root-Passwort wird auf Ihrem Server konfiguriert.

Das System aktualisieren

Zunächst wird empfohlen, Ihren Server mit der neuesten Version zu aktualisieren. Sie können ihn mit dem folgenden Befehl aktualisieren:

dnf update -y

Sobald Ihr Server aktualisiert ist, starten Sie ihn neu, um die Änderungen zu implementieren.

Plex Media Server installieren

Standardmäßig ist das Plex Media Server-Paket nicht im CentOS 8-Standard-Repository verfügbar. Sie müssen also ein Repository für den Plex-Medienserver erstellen. Sie können es mit dem folgenden Befehl erstellen:

nano /etc/yum.repos.d/plex.repo

Fügen Sie die folgenden Zeilen hinzu:

[Plex]
name=Plex
baseurl=https://downloads.plex.tv/repo/rpm/$basearch/
enabled=1
gpgkey=https://downloads.plex.tv/plex-keys/PlexSign.key
gpgcheck=1

Speichern und schließen Sie die Datei, wenn Sie fertig sind. Installieren Sie dann den Plex-Medienserver mit dem folgenden Befehl:

dnf install plexmediaserver -y

Sobald die Installation abgeschlossen ist, starten Sie den Plex-Mediendienst und aktivieren Sie ihn nach dem Systemneustart mit dem folgenden Befehl:

systemctl enable plexmediaserver
 systemctl start plexmediaserver

Sie können auch den Status des Plex-Medienservers mit dem folgenden Befehl überprüfen:

systemctl status plexmediaserver

Sie sollten die folgende Ausgabe sehen:

? 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.

Zu diesem Zeitpunkt ist der Plex-Medienserver installiert und läuft. Sie können nun mit dem nächsten Schritt fortfahren.

Konfigurieren Sie die Firewall und SELinux für Plex Media Server

Als nächstes müssen Sie die Firewall so konfigurieren, dass sie Plex-Medienserver-spezifische Ports zulässt. Sie können dies tun, indem Sie die folgenden Befehle ausführen:

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

Als nächstes laden Sie den Firewalld-Dienst neu, um die Änderungen zu implementieren:

firewall-cmd --reload

Standardmäßig ist SELinux auf dem CentOS-8-Server aktiviert. Sie müssen SELinux also so konfigurieren, dass Sie über das Internet auf den Plex Media Server zugreifen können. Sie können SELinux mit dem folgenden Befehl konfigurieren:

setsebool httpd_can_network_connect on -P

Zu diesem Zeitpunkt kann der Plex-Medienserver über das Internet zugänglich sein. Sie können nun mit dem nächsten Schritt fortfahren.

Zugriff auf Plex Media Server

Sie können jetzt auf den Plex-Medienserver über die URL http://your-server-ip:32400 zugreifen. Sie sollten die folgende Seite sehen:

Plex-Anmeldung

Als nächstes müssen Sie sich mit einer gültigen E-Mail-Adresse anmelden, um den Dienst zu nutzen. Nach erfolgreicher Anmeldung. Sie werden zum Dashboard des Plex-Medienservers wie unten gezeigt weitergeleitet:

Plex Media Server Dashboard

Nginx als Reverse-Proxy einrichten

Als nächstes müssen Sie ein Nginx als Reverse-Proxy einrichten, damit Sie mit dem Domänennamen darauf zugreifen können, ohne die IP-Adresse und Portnummer anzugeben.

Installieren Sie dazu zunächst den Nginx-Webserver mit dem folgenden Befehl:

dnf install nginx

Wenn die Installation abgeschlossen ist, starten Sie den Nginx-Dienst und aktivieren Sie ihn nach dem Neustart des Systems mit dem folgenden Befehl:

systemctl start nginx
 systemctl enable nginx

Als nächstes erstellen Sie eine Nginx-Konfigurationsdatei für den virtuellen Host für Plex mit dem folgenden Befehl:

nano /etc/nginx/conf.d/plex.conf

Fügen Sie die folgenden Zeilen hinzu:

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;
        }
}

Speichern und schließen Sie die Datei, wenn Sie fertig sind. Als Nächstes müssen Sie die Hash-Bucket-Größe des Nginx-Servers definieren. Sie können dies tun, indem Sie die Nginx-Konfigurationsdatei bearbeiten:

nano /etc/nginx/nginx.conf

Fügen Sie die folgende Zeile direkt über der letzten Zeile ein:

server_names_hash_bucket_size 64;

Speichern und schließen Sie die Datei, wenn Sie fertig sind. Überprüfen Sie dann Nginx mit dem folgenden Befehl auf etwaige Syntaxfehler:

nginx -t

Sie sollten die folgende Ausgabe sehen:

nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful

Schließlich starten Sie den Nginx-Dienst neu, um die Änderungen zu implementieren.

systemctl restart nginx

Um den Status des Nginx-Dienstes zu überprüfen, führen Sie den folgenden Befehl aus:

systemctl status nginx

Wenn alles in Ordnung ist, sollten Sie die folgende Ausgabe erhalten:

? 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

Sie können jetzt auf Ihren Plex-Medienserver über die URL http://plex.example.com zugreifen.

Schlussfolgerung

Herzlichen Glückwunsch! Sie haben den Plex-Medienserver auf CentOS 8 mit Nginx als Reverse-Proxy erfolgreich installiert. Sie können nun den Plex-Medienserver nach weiteren Optionen durchsuchen und Ihre eigene Medienbibliothek einrichten. Dann können Sie die Plex-Anwendung von Ihrem Telefon aus dem Play-Store installieren und auf Ihre Medien zugreifen. Sie können auch Ihren Freunden und Ihrer Familie den Zugriff auf Ihre Fotos, Musik und Filme über einen Webbrowser oder eine Plex Anwendung ermöglichen. Wenn Sie Fragen haben, können Sie mich gerne fragen.

Das könnte Dich auch interessieren …