GNU/Linux >> LINUX-Kenntnisse >  >> Ubuntu

So installieren Sie Plex Requests auf Ubuntu 16.04, 18.04 Server

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 zugreifen
your-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

erreichbar
example.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

erreichbar
example.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 🙂


Ubuntu
  1. So installieren Sie Plex Media Server unter Ubuntu 20.04

  2. So installieren Sie Plex Media Server unter Ubuntu 18.04

  3. So installieren Sie MySQL unter Ubuntu 18.04

  4. So installieren Sie Minecraft Server auf Ubuntu 18.04

  5. So installieren Sie Zimbra 8.6 auf einem Ubuntu 14.04-Server

So installieren Sie Plex Media Server unter Ubuntu 18.04 LTS

So installieren Sie Plex Media Server auf Ubuntu 16.04 Server/Desktop

So installieren Sie Plex Media Server auf Ubuntu 20.04 LTS Server/Desktop

So installieren Sie Plex Media Server unter Ubuntu 20.04 LTS

So installieren Sie Plex Media Streaming Server unter Ubuntu 19.04

So installieren Sie Plex Media Server unter Ubuntu 22.04