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.