Dieses Tutorial zeigt Ihnen, wie Sie Plex Requests auf Ubuntu 16.04- und Ubuntu 18.04-Servern installieren. Plex Requests ist eine einfache automatisierte Möglichkeit für Benutzer, neue Inhalte auf Ihrem Plex-Medienserver anzufordern.
Mit Plex Requests können Ihre Benutzer Inhaltsanfragen auf einer dedizierten Webseite einreichen. Die neueste Version ist v1.21.2, veröffentlicht am 16. Februar 2018. Funktionen von Plex Requests sind wie folgt:
- Benutzer können die TheMovieDB einfach nach anzufordernden Inhalten durchsuchen
- Praktische Liste angeforderter Filme und Fernsehserien und grundlegende Problemberichterstattung
- Einfache Benutzerauthentifizierung mit neuem Genehmigungssystem
- CouchPotato-Integration zum automatischen Herunterladen von Filmen
- SickRage- und Sonarr-Integration für automatische Downloads von TV-Serien
- Pushbullet- oder Pushover-Benachrichtigungen, um bei Anfragen auf dem Laufenden zu bleiben
Voraussetzungen
Um diesem Tutorial zu folgen, wird davon ausgegangen, dass Sie den Plex-Medienserver bereits auf Ubuntu 16.04 oder Ubuntu 18.04 eingerichtet haben. Sie können sich die folgenden Artikel ansehen.
- So richten Sie den Plex-Medienserver unter Ubuntu 16.04 ein
- So richten Sie den Plex-Medienserver unter Ubuntu 18.04 ein
Um Plex Requests auszuführen, muss Ihr Server über mindestens 1 GB RAM verfügen. Für einen reibungslosen Betrieb werden 2 GB empfohlen. Lassen Sie uns ohne weiteres Plex Requests installieren.
Plex Requests auf Ubuntu 16.04, 18.04 Server installieren
Plex Requests wurde mit MeteorJS geschrieben, einem kostenlosen und Open-Source-JavaScript-Webframework zum Erstellen von Web- und mobilen Apps. Um Plex Requests auszuführen, müssen wir MeteorJS mit dem folgenden Befehl installieren.
sudo apt install curl curl https://install.meteor.com/ | sh
Gehen Sie dann zu Github und laden Sie die neueste Version herunter.
Um es von der Befehlszeile herunterzuladen, verwenden Sie den folgenden Befehl. Wenn eine neue Version herauskommt, ersetzen Sie einfach 1.12.2 durch die neue Versionsnummer.
wget -O plexrequests-meteor-1.21.2.zip https://codeload.github.com/lokenx/plexrequests-meteor/zip/v1.21.2
Als nächstes entpacken Sie das Archiv.
sudo apt install unzip unzip plexrequests-meteor-1.21.2.zip
Cd in das Verzeichnis.
cd plexrequests-meteor-1.21.2/
Jetzt können wir Plex Requests mit dem folgenden Befehl ausführen.
meteor
Beachten Sie, dass dieser Befehl fehlschlägt und Sie den folgenden Fehler sehen, wenn Ihr Server nicht über genügend RAM verfügt. ENOMEM steht für „Error – No Memory“.
Error: spawn ENOMEM
Außerdem lauscht Plex Requests standardmäßig auf Port 3000. Wenn eine andere Anwendung Port 3000 verwendet, geben Sie einen alternativen Port wie 3002 an. (MongoDB lauscht auf Port 3001.)
meteor --port 3002
Jetzt können Sie unter
auf die Verwaltungsseite von Plex Requests zugreifenyour-server-ip:3000/admin
Wenn Port 3000 von der Firewall blockiert wird, führen Sie den folgenden Befehl aus, um den Zugriff auf Port 3000 zuzulassen.
sudo iptables -I INPUT -p tcp --dport 3000 -j ACCEPT
Klicken Sie auf den Link Registrieren, um ein Administratorkonto zu erstellen.
Plex Requests im Hintergrund mit SystemD ausführen
Standardmäßig wird der Meteor-Befehl im Vordergrund ausgeführt, was bedeutet, dass Plex Requests nicht mehr ausgeführt wird, wenn Sie das Terminal verlassen. Um es im Hintergrund auszuführen, können wir einen SystemD-Dienst erstellen. Drücken Sie zuerst Ctrl+C
um den aktuellen Meteorprozess zu stoppen. Erstellen Sie dann eine SystemD-Dienstdatei für Plex Requests mit einem Befehlszeilen-Texteditor wie nano.
sudo nano /etc/systemd/system/plex-requests.service
In dieser Datei müssen wir die Umgebungsvariable HOME festlegen, das Arbeitsverzeichnis festlegen und angeben, dass Meteor als Standardbenutzer ausgeführt wird. Fügen Sie also den folgenden Text in diese Datei ein. Ersetzen Sie den roten Text entsprechend.
[Unit] Description=Plex Requests After=syslog.target network.target [Service] Environment="HOME=/home/linuxbabe" WorkingDirectory=/home/linuxbabe/plexrequests-meteor-1.21.2 ExecStart=/usr/local/bin/meteor Type=simple Restart=always RestartSec=10 User=linuxbabe Group=linuxbabe [Install] WantedBy=multi-user.target
Um die Datei im Nano-Texteditor zu speichern, drücken Sie Ctrl+O
, und drücken Sie dann zur Bestätigung die Eingabetaste. Drücken Sie zum Beenden Ctrl+X
. Als nächstes können wir den SystemD-Dienst starten mit:
sudo systemctl start plex-requests
Und aktivieren Sie den automatischen Start beim Systemstart.
sudo systemctl enable plex-requests
Prüfen Sie nun den Status:
systemctl status plex-requests
Stellen Sie sicher, dass es läuft. Drücken Sie dann q
um die Kontrolle über das Terminal zurückzugewinnen.
Nginx-Reverse-Proxy (Subdomain) einrichten
Um auf Plex Requests über einen Domainnamen zuzugreifen, anstatt IP-Adresse und Portnummer einzugeben, können Sie mit Nginx einen Reverse-Proxy einrichten. Führen Sie den folgenden Befehl aus, um den Nginx-Webserver zu installieren.
sudo apt install nginx
Erstellen Sie dann eine virtuelle Nginx-Hostdatei für Plex-Anfragen.
sudo nano /etc/nginx/conf.d/plex-requests.conf
Fügen Sie die folgenden Zeilen in die Datei ein. Ersetzen Sie requests.example.com
mit eigenem Domainnamen. Vergessen Sie nicht, einen A-Eintrag für die Subdomain festzulegen. Der location / {…}
block veranlasst Nginx, Anfragen an Port 3000 umzuleiten.
server { listen 80; server_name requests.example.com; error_log /var/log/nginx/plex-requests.error; location / { proxy_pass http://127.0.0.1:3000; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; #upgrade to WebSocket protocol proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection "Upgrade"; } }
Speichern und schließen Sie die Datei. Testen Sie dann die Nginx-Konfiguration.
sudo nginx -t
Wenn der Test erfolgreich ist, laden Sie Nginx neu, damit die neue Konfiguration wirksam wird.
sudo systemctl reload nginx
Jetzt wird Plex Requests hinter Nginx gestellt und Sie können über einen Domainnamen (requests.example.com
) darauf zugreifen ).
Um eine sichere HTTPS-Verbindung zu aktivieren, können Sie ein kostenloses TLS/SSL-Zertifikat von Let’s Encrypt beziehen und installieren. Installieren Sie den Client Let’s Encrypt (certbot) mit:
sudo apt install software-properties-common sudo add-apt-repository ppa:certbot/certbot sudo apt update sudo apt install certbot python3-certbot-nginx
Führen Sie dann den folgenden Befehl aus, der das Certbot Nginx-Plugin verwendet, um das TLS-Zertifikat automatisch zu erhalten und zu installieren. Roten Text durch Ihre tatsächlichen Daten ersetzen.
sudo certbot --nginx --agree-tos --redirect --hsts --staple-ocsp --email your-email-address --domain requests.example.com
Innerhalb weniger Sekunden sollten Sie eine Glückwunschnachricht wie unten sehen, was bedeutet, dass das Zertifikat erfolgreich erhalten wurde.
Aktualisieren Sie die Webseite Plex Requests, Sie werden feststellen, dass die HTTP-Verbindung automatisch auf eine sichere HTTPS-Verbindung umgeleitet wird.
Nginx-Reverse-Proxy einrichten (Unterverzeichnis)
Wenn Sie möchten, dass Plex Requests über ein Unterverzeichnis Ihrer Domain zugänglich sind, öffnen Sie die vorhandene virtuelle Nginx-Hostdatei für Ihren Plex-Medienserver. Meine heißt plex.conf
.
sudo nano /etc/nginx/conf.d/plex.conf
Wenn Sie meinem vorherigen Plex-Medienserver-Tutorial gefolgt sind, sollten Sie jetzt HTTPS für Ihren Plex-Medienserver aktiviert haben. Und Sie müssen nur die folgenden Zeilen zum SSL-Serverblock hinzufügen (angezeigt durch listen 443 ssl
).
location ~* (/search|/admin|/requests|/packages|/sockjs|/app|/merged-stylesheets.css) { proxy_pass http://localhost:3000; 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 Upgrade $http_upgrade; proxy_set_header Connection "Upgrade"; }
In der obigen Konfiguration geben wir an, dass, wenn die Anforderungs-URL mit /search, /admin, /requests, /packages, /sockjs, /app oder /merged-stylesheets.css endet, Nginx angewiesen wird, die Anforderung an Port 3000 umzuleiten. Wenn die Anfrage-URL mit /sockjs endet, gibt es einige WebSocket-Anfragen zusammen mit normalen HTTP-Anfragen, also fügen wir die letzten beiden proxy_set_header
hinzu Anweisungen zum Upgrade auf das WebSocket-Protokoll.
Speichern und schließen Sie die Datei. Testen Sie dann die Nginx-Konfiguration.
sudo nginx -t
Wenn der Test erfolgreich ist, laden Sie Nginx neu, damit die neue Konfiguration wirksam wird.
sudo systemctl reload nginx
Jetzt ist die Hauptseite von Plex Requests über ein Unterverzeichnis zugänglich.
example.com/search
Und die Admin-Seite ist über
erreichbarexample.com/admin
Apache Reverse Proxy (Subdomain) einrichten
Wenn Sie Apache Nginx vorziehen, installieren Sie es mit:
sudo apt install apache2
Um Apache als Reverse-Proxy zu verwenden, müssen wir den proxy
aktivieren Module und das Header-Modul.
sudo a2enmod proxy proxy_http proxy_wstunnel headers
Erstellen Sie dann eine virtuelle Hostdatei für Plex-Anfragen.
sudo nano /etc/apache2/sites-available/plex-requests.conf
Fügen Sie die folgenden Zeilen in die Datei ein. Ersetzen Sie requests.example.com
mit eigenem Domainnamen. Vergessen Sie nicht, einen A-Eintrag für die Subdomain festzulegen.
<VirtualHost *:80> ServerName requests.example.com ErrorDocument 404 /404.html #HTTP Requests ProxyPass / http://localhost:3000/ ProxyPassReverse / http://localhost:3000/ #When protocol upgrade to Websocket is received, change the origin (protocol scheme, host and port) RewriteEngine on RewriteCond %{HTTP:UPGRADE} ^WebSocket$ [NC] RewriteCond %{HTTP:CONNECTION} ^Upgrade$ [NC] RewriteRule .* ws://localhost:3000%{REQUEST_URI} [P] </VirtualHost>
Speichern und schließen Sie die Datei. Aktivieren Sie dann diesen virtuellen Host.
sudo a2ensite plex-requests.conf
Starten Sie Apache neu
sudo systemctl restart apache2
Jetzt wird Plex Requests hinter Apache gestellt und Sie können über einen Domainnamen (requests.example.com
) darauf zugreifen ).
Um eine sichere HTTPS-Verbindung zu aktivieren, können Sie ein kostenloses TLS/SSL-Zertifikat von Let’s Encrypt beziehen und installieren. Installieren Sie den Client Let’s Encrypt (certbot) mit:
sudo apt install software-properties-common sudo add-apt-repository ppa:certbot/certbot sudo apt update sudo apt install certbot python3-certbot-apache
Führen Sie dann den folgenden Befehl aus, der das Certbot Nginx-Plugin verwendet, um das TLS-Zertifikat automatisch zu erhalten und zu installieren. Roten Text durch Ihre tatsächlichen Daten ersetzen.
sudo certbot --apache --agree-tos --redirect --hsts --staple-ocsp --email your-email-address --domain requests.example.com
Innerhalb weniger Sekunden sollten Sie eine Glückwunschnachricht wie unten sehen, was bedeutet, dass das Zertifikat erfolgreich erhalten wurde.
Aktualisieren Sie die Webseite Plex Requests, Sie werden feststellen, dass die HTTP-Verbindung automatisch auf eine sichere HTTPS-Verbindung umgeleitet wird.
Apache Reverse Proxy einrichten (Unterverzeichnis)
Wenn Sie möchten, dass Plex Requests über ein Unterverzeichnis Ihrer Domain zugänglich sind, öffnen Sie die vorhandene virtuelle Apache-Hostdatei für Ihren Plex-Medienserver. Meine heißt plex-le-ssl.conf
. (Beachten Sie, dass Sie den virtuellen Host bearbeiten müssen, der auf 443 lauscht.)
sudo nano /etc/nginx/conf.d/plex-le-ssl.conf
Wenn Sie meinem vorherigen Plex-Medienserver-Tutorial gefolgt sind, sollten Sie jetzt HTTPS für Ihren Plex-Medienserver aktiviert haben. Und Sie müssen nur die folgenden Zeilen innerhalb des <VirtualHost *:443>...</VirtualHost>
hinzufügen blockieren.
RewriteEngine on #If the requested URL is meant for Plex Requests, then redirect the request to localhost:3000 RewriteCond %{REQUEST_URI} ^/(search|admin|requests|packages|app|sockjs|merged-stylesheets.css) [NC] RewriteRule .* http://localhost:3000%{REQUEST_URI} [P] #This is for Websocket requests. <Location /sockjs/> RewriteCond %{HTTP:UPGRADE} ^WebSocket$ [NC] RewriteCond %{HTTP:CONNECTION} ^Upgrade$ [NC] RewriteRule .* ws://localhost:3000%{REQUEST_URI} [P] </Location>
Speichern und schließen Sie die Datei. Laden Sie dann Apache neu, damit die Änderungen wirksam werden.
sudo systemctl reload apache2
Jetzt ist die Hauptseite von Plex Requests über ein Unterverzeichnis zugänglich.
example.com/search
Und die Admin-Seite ist über
erreichbarexample.com/admin
Schlussfolgerung
Ich hoffe, dieses Tutorial hat Ihnen geholfen, Plex Requests unter Ubuntu 18.04 und 16.04 zu installieren. Wenn Sie diesen Beitrag nützlich fanden, abonnieren Sie wie immer unseren kostenlosen Newsletter, um weitere Tipps und Tricks zu erhalten. Pass auf dich auf 🙂