Plex ist ein kostenloser, closed-source Media-Server mit DLNA-Unterstützung, Transcoding und vielen Apps für Smartphones, Smart-TVs etc.

Im privaten Umfeld mag es ausreichen, das Paket zu installieren und loszulegen. Im Server-Umfeld, vielleicht sogar mit direkter Internetverbindung sollte man einige Sachen besser machen. Da die Software nicht quelloffen ist, stellt sie ein besonderes Sicherheitsrisiko dar. Diese Anleitung hält sich an bestimmte Festlegungen, die ich für meine Server getroffen habe, die Ihr natürlich auf eure Umgebungen anpassen könnt. Grundsätzlich gilt: Wer nicht genau weiß, was er tut, sollte einen solchen Server nicht im Internet betreiben.

Vorbereitungen

Als erstes legen wir einen Benutzer an, unter dem die Software dann laufen soll. Standardmäßig läuft Plex mit Root-Rechten, was im Falle einer Sicherheitslücke äußerst problematisch werden kann. Nicht, dass die Ausführung unter einem anderen Nutzer 100% Sicherheit bringt, aber es ist eine weitere Hürde, die ein eventueller Angreifer zu nehmen hat.

$ mkdir -p /opt/plex
$ mkdir -p /opt/plex/tmp   # dieses Verzeichnis brauchen wir später noch
$ useradd -M -d /opt/plex/ -s /bin/bash plex

Ich möchte, dass der Nutzer sein Home-Verzeichnis unter /opt/ hat, damit relevante Daten des Media-Severs dort liegen. Außerdem weise ich dem Nutzer als Login-Shell eine Bash statts der unter Debian mittlerweile üblichen Dash zu. Die Option -M verhindert nur, dass automatisch ein Homeverzeichnis unter /home/ erstellt wird.

Installation

Nun laden wir uns das das entsprechende Paket auf der Homepage von Plex herunter. Als Debian-Nutzer nehmen wir die „Ubuntu“-Version. Am besten per Rechtsklick -> Linkadresse kopieren und dann per wget  direkt auf dem Server herunterladen:

$ wget https://downloads.plex.tv/plex-media-server/0.9.11.7.803-87d0708/plexmediaserver_0.9.11.7.803-87d0708_amd64.deb

Dann installieren wir das Paket:

$ dpkg --install plexmediaserver_0.9.11.7.803-87d0708_amd64.deb

Nun ist Plex installiert. Sollte Plex jetzt schon laufen, empfehle ich, alle diese Prozesse zu beenden (kill).

Vorbereitungen für den Start

Es gibt jetzt noch einige Sachen anzupassen. Als erstes sind einige unschöne Einstellungen in der Datei /etc/default/plexmediaserver anzupassen. Ich habe das temporäre Verzeichnis in das Homeverzeichnis des ausführenden Users gelegt. Vorsicht: Dort werden beim Transcodieren temporäre Dateien abgelegt, die recht groß werden können. Deshalb sollte man unbedingt darauf achten, dass dort ausreichend Festplattenplatz zur Verfügung steht. Außerdem eliminiere ich die Großbuchstaben und Leerzeichen aus dem Pfad des APPLICATION_SUPPORT_DIR:

PLEX_MEDIA_SERVER_TMPDIR=/opt/plex/tmp
PLEX_MEDIA_SERVER_APPLICATION_SUPPORT_DIR="/opt/plex/Library/appsupport"

In einigen Versionen des Plex-Debian-Pakets wirken die Einstellungen in dieser Datei aber nicht. In diesem Fall ist es sicherer, das Startskript mit den Standard-Werten auch noch anzupassen. Dazu sind die beiden oben genannten Zeilen in der Datei /usr/sbin/start_pms analog anzupassen.

Start

Jetzt können wir den Plex Media Server starten. Dazu werden wir der User plex und rufen das Start-Skript auf:

$ su - plex
$ /usr/sbin/start_pms &
$ exit

Der Medien-Server sollte jetzt starten und lokal verfügbar sein. Da sich die Bibliotheken nur lokal (also vom Server aus) administrieren lassen, kann man sich entweder per SSH noch den entfernten Port 32400 auf die lokale Maschine ziehen

ssh -CfN -L 32400:localhost:32400 user@plex-server

und das Webinterface über http://localhost:32400/web/ aufrufen.

Und das wars. Jetzt ist Plex installiert und funktioniert. Wer kein systemd verwendet, kann sich für Plex auch ein Init-Skript schreiben, oder meins verwenden.

Fehlersuche und -behebung

Plex schreibt standardmäßig sehr detaillierte Log-Files. Diese sind im Ordner /opt/plex/Library/appsupport/Plex Media Server/Logs zu finden.

Wenn ich einen Fehler eingebaut habe, schreibt mir bitte eine Mail oder kommentiert den Beitrag.

Nächster Beitrag Vorheriger Beitrag