Plex Server (Linux)
HowTo:
Heute zeige ich euch, wie ihr euch einen Plex Server inkl. Verschlüsselung und Anbindung an eine Cloud einrichtet.
Zuerst solltet ihr euch zwei (v)Server bei einem Hoster/Provider mieten (z.B. DigitalOcean, OVH, HostEurope usw.).
Einer auf dem Plex selbst läuft und einer der die Daten verschlüsselt. Damit uns auch genügend Speicher zur verfügung steht, werden die Daten ausgelagert, z.B. bei GoogleDrive.
Schritt 1: vServer installieren
Wir beginnen mit der einrichtung des Plex Server, der gleichzeitig Dateien entschlüsselt.
Als Betriebssystem verwende ich Debian 9 (Stretch) 64-bit in der minimal Variante.
Schritt 2: Plex installieren
Beginnen wir mit der installation von Plex. Die aktuelle Version findet ihr auf plex.tv
cd ~ wget https://downloads.plex.tv/plex-media-server/1.9.4.4325-1bf240a65/plexmediaserver_1.9.4.4325-1bf240a65_amd64.deb sudo dpkg -i plexmediaserver_1.9.4.4325-1bf240a65_amd64.deb
Als nächstes wird ein neuer Benutzer angelegt:
sudo su passwd plex adduser plex sudo
Anschließend werden wird der Benutzerordner angelegt:
sudo mkdir /home/plex/ sudo chown plex /home/plex/
Schritt 3: Cloud Verbindung einrichten
Jetzt installieren wir Rclone. Rclone dient uns als Cloud Client für bspw. Dropbox, GoogleDrive oder andere Anbieter.
curl -O https://downloads.rclone.org/rclone-current-linux-amd64.zip unzip rclone-current-linux-amd64.zip cd rclone-*-linux-amd64
Nun werden die Rclone Binärdateien kopiert:
sudo cp rclone /usr/bin/ sudo chown root:root /usr/bin/rclone sudo chmod 755 /usr/bin/rclone
Als nächstes wird Manpage installiert:
sudo mkdir -p /usr/local/share/man/man1 sudo cp rclone.1 /usr/local/share/man/man1/ sudo mandb
Zum Abschluss wird Rclone konfiguriert. Dort folgt ihr den Anweisungen durch das Setup und richtet eure Verbindung zum Clouddienst ein.
rclone config
Schritt 4: Verschlüsselung einrichten
Jetzt wechseln wir zu unserem zweiten Server.
Hier wird zuerst EnCFS installiert:
sudo apt-get -y install encfs
Als nächstes legen wir neue Ordner an:
cd /mnt/yourvolumename/ mkdir encrypted mkdir unencrypted
Jetzt generieren wir den EnCFS Schlüssel:
encfs /mnt/yourvolumename/encrypted /mnt/yourvolumename/unencrypted
Damit der Schlüssel nicht zum Clouddienst hochgeladen wird, verschieben wir diesen aus dem encrypted Ordner in den darüber liegenden Ordner.
Dafür müssen wir einmal die Verschlüsselung beenden:
fusermount -u /mnt/yourvolumename/unencrypted
Weiter verschieben wir wie beschrieben die Datei encfs6.xml. Ich habe diese gleich noch in .encfs.xml umbennant (Als “kleiner” Sicherheitsaspekt.) Die Datei solltet ihr euch übrigens auch lokal sichern, denn einmal verloren sind die verschlüsselten Daten unwiederrufbar verloren.
Nun können wir die Verschlüsselung wieder einschalten:
ENCFS6_CONFIG='/mnt/yourvolumename/.encfs.xml' encfs /mnt/yourvolumename/encrypted/ /mnt/yourvolumename/unencrypted/
Alle Dateien die jetzt in den Ordner unencrypted kopiert werden, werden automatisch verschlüsselt und im Ordner encrypted ausgegeben.
Schritt 5: Der Upload
Ich selbst verwende GoogleDrive als Clouddienst und habe mir für den Upload Gdrive installiert.
Gdrive installiert ihr wie folgt:
cd ~ wget https://docs.google.com/uc?id=0B3X9GlR6EmbnWksyTEtCM0VfaFE&export=download mv uc\?id\=0B3X9GlR6EmbnWksyTEtCM0VfaFE gdrive chmod +x gdrive sudo install gdrive /usr/local/bin/gdrive
Nun müsst ihr euch noch bei Google Authentifizieren. Gebt dazu folgenden Befehl ein:
gdrive list
Nun wird ein Link ausgegeben. Diesen kopiert ihr in einen Browser, meldet euch mit eurem Google Konto an und kopiert den dort generierten Schlüssel wieder in euer SSH Fenster.
Jetzt könnt ihr eure verschlüsselten Daten hochladen.
gdrive upload --recursive /mnt/pms/encrypted/
Nachdem der Upload abgeschlossen ist, müsst ihr eure Daten noch in eure Plex Bibliotheks Ordner kopieren/verschieben. (Achtet darauf das ihr nur die Dateien und nicht die kompletten Ordner verschiebt, da diese sonst doppelt vorhanden sind und Plex diese nicht einliest.)
Hinweis:
Ihr solltet außerdem darauf achten, dass eure Daten nach folgender Struktur abgelegt und benannt werden, damit der Plex Library Scanner all eure Daten einlesen kann:
Movies
– Movie Title (Year).mkv
TV Shows
– TV Show Title
– Season 1
– TV Show Title – S01E01 – Episode Name.mkv
Schritt 6: Daten für Plex entschlüsseln
Auch hier installieren wir EnCFS:
sudo apt-get -y install encfs
Jetzt wird der zuvor generierte Schlüssel (.encfs.xml) in den Ordner /home/Plex/ kopiert.
Wir erstellen noch zwei Ordner in /home/Plex/ mit:
mkdir encrypted mkdir cloud-drive
Zum Entschlüsseln geben wir nun folgenden Befehl ein:
ENCFS6_CONFIG='/home/plex/.encfs.xml' encfs /home/plex/encrypted /home/plex/cloud-drive
Die entschlüsselten Dateien werden nun im Ordner cloud-drive angezeigt.
Schritt 7: Hinzufügen des virtuellen Laufwerks zu unserer Plex Library
Für die Ersteinrichtung von Plex müssen wir einen SSH Tunnel aufbauen.
Unter Mac könnt ihr dafür “Secure Pipes” verwenden. Unter Windows “PuTTY”.
Nachdem ihr die SSH Tunnel Verbindung zu eurem Plex Server aufgebaut habt, gebt ihr im Browser http://localhost:32400/web/ und folgt den Anweisungen zur Einrichtung des Plex Media Server.
Und nun Viel Spaß mit eurem neuem Plex Server