Plex Media Server: Init-Skript

Ich habe mir für den Plex Media Server ein Init-Skript geschrieben, was meine Anforderungen erfüllt. Es ist nicht perfekt, funktioniert aber ziemlich zuverlässig und reicht für meine Belange allemal.

Fehler oder Verbesserungsvorschläge können gern in die Kommentare geschrieben werden.

#!/bin/sh ### BEGIN INIT INFO # Provides: plexmediaserver # Required-Start: $syslog $networking # Required-Stop: # Default-Start: 2 3 4 5 # Default-Stop: 0 1 6 # Short-Description: Plex Media Server ### END INIT INFO PLEX_BIN_NAME="Plex Media Server" PLEX_START_SCRIPT="/usr/sbin/start_pms" [ -r /etc/default/plexmediaserver ] && . /etc/default/plexmediaserver is_running() { pgrep -f "${PLEX_BIN_NAME}" >/dev/null [ $? -gt 0 ] && return 1 || return 0 } do_start() { if is_running; then echo "Plex Media Server is already running." else echo -n "Start Plex Media Server: " su -l ${PLEX_MEDIA_SERVER_USER} -c "${PLEX_START_SCRIPT} &" >/dev/null 2>&1 echo "done" fi } do_stop() { if ! is_running; then echo "Plex Media Server is not running." else echo -n "Stop Plex Media Server: " for i in $(pgrep -f "Plex Media Server") $(pgrep -f "Plex Plug-in"); do kill ${i} >/dev/null 2>&1 if ps -p ${i} >/dev/null; then sleep 1; kill -9 ${i} >/dev/null 2>&1; fi done echo "done" fi } do_status() { if is_running; then echo "Plex Media Server is running." else echo "Plex Media Server is stopped." fi } case "$1" in start) do_start ;; stop) do_stop ;; restart) do_stop do_start ;; status) do_status ;; *) echo "Usage: ${0} {start|stop|restart|status}" exit 3 ;; esac weiterlesen

Debian-Server: Plex Media Server installieren

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 weiterlesen