GNU/Linux >> Linux Esercitazione >  >> Ubuntu

Come installare le richieste Plex su Ubuntu 16.04, 18.04 Server

Questo tutorial ti mostrerà come installare Plex Requests su Ubuntu 16.04 e Ubuntu 18.04 server. Plex Requests è un modo semplice e automatizzato per gli utenti di richiedere nuovi contenuti sul tuo media server Plex.

Plex Requests consente ai tuoi utenti di inviare richieste di contenuto su una pagina Web dedicata. L'ultima versione è v1.21.2, rilasciata il 16 febbraio 2018. Le caratteristiche di Plex Requests sono le seguenti:

  • Gli utenti possono cercare facilmente in TheMovieDB i contenuti da richiedere
  • Elenco pratico di film e serie TV richiesti e segnalazioni di problemi di base
  • Autenticazione utente semplice con nuovo sistema di approvazione
  • Integrazione di CouchPotato per il download automatico di film
  • Integrazione di SickRage e Sonarr per download automatici di serie TV
  • Notifiche pushbullet o pushover per essere sempre aggiornato sulle richieste

Prerequisiti

Per seguire questo tutorial, si presume che tu abbia già configurato Plex media server su Ubuntu 16.04 o Ubuntu 18.04. Puoi controllare i seguenti articoli.

  • Come configurare Plex media server su Ubuntu 16.04
  • Come configurare Plex media server su Ubuntu 18.04

Per eseguire Richieste Plex, il tuo server deve avere almeno 1 GB di RAM. Si consigliano 2 GB per eseguirlo senza intoppi. Senza ulteriori indugi, installiamo Plex Requests.

Installa Plex Request su Ubuntu 16.04, 18.04 Server

Plex Requests è scritto con MeteorJS, che è un framework Web JavaScript gratuito e open source per la creazione di app Web e mobili. Per eseguire Plex Requests, dobbiamo installare MeteorJS con il seguente comando.

sudo apt install curl

curl https://install.meteor.com/ | sh

Quindi vai su Github e scarica l'ultima versione.

Per scaricarlo dalla riga di comando, utilizzare il comando seguente. Se esce una nuova versione, sostituisci semplicemente 1.12.2 con il nuovo numero di versione.

wget -O plexrequests-meteor-1.21.2.zip https://codeload.github.com/lokenx/plexrequests-meteor/zip/v1.21.2

Quindi, decomprimi l'archivio.

sudo apt install unzip

unzip plexrequests-meteor-1.21.2.zip

Cd nella directory.

cd plexrequests-meteor-1.21.2/

Ora possiamo eseguire Richieste Plex con il seguente comando.

meteor

Nota che se il tuo server non ha abbastanza RAM, questo comando fallirà e vedrai il seguente errore. ENOMEM sta per "Errore - Nessuna memoria".

Error: spawn ENOMEM

Inoltre, Richieste Plex per impostazione predefinita è in ascolto sulla porta 3000. Se un'altra applicazione utilizza la porta 3000, specifica una porta alternativa come 3002. (MongoDB è in ascolto sulla porta 3001.)

meteor --port 3002

Ora puoi accedere alla pagina di amministrazione di Plex Requests su

your-server-ip:3000/admin

Se la porta 3000 è bloccata dal firewall, esegui il comando seguente per consentire l'accesso sulla porta 3000.

sudo iptables -I INPUT -p tcp --dport 3000 -j ACCEPT


Fai clic sul collegamento Registra per creare un account amministratore.

Esegui Richieste Plex in background con SystemD

Per impostazione predefinita, il comando meteor viene eseguito in primo piano, il che significa che se esci dal terminale, Plex Requests smetterà di funzionare. Per eseguirlo in background, possiamo creare un servizio SystemD. Per prima cosa, premi Ctrl+C per fermare l'attuale processo meteorico. Quindi crea un file di servizio SystemD per Richieste Plex con un editor di testo a riga di comando come nano.

sudo nano /etc/systemd/system/plex-requests.service

In questo file, dobbiamo impostare la variabile d'ambiente HOME, impostare la directory di lavoro e specificare che meteor verrà eseguito come utente standard. Quindi inserisci il seguente testo in questo file. Sostituisci il testo rosso come appropriato.

[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

Per salvare il file nell'editor di testo Nano, premi Ctrl+O , quindi premere Invio per confermare. Per uscire, premi Ctrl+X . Successivamente, possiamo avviare il servizio SystemD con:

sudo systemctl start plex-requests

E abilita l'avvio automatico all'avvio del sistema.

sudo systemctl enable plex-requests

Ora controlla lo stato:

systemctl status plex-requests

Assicurati che sia in esecuzione. Quindi premere q per riprendere il controllo del terminale.

Configura il proxy inverso Nginx (sottodominio)

Per accedere alle Richieste Plex tramite un nome di dominio invece di digitare l'indirizzo IP e il numero di porta, puoi configurare un proxy inverso con Nginx. Esegui il seguente comando install Nginx web server.

sudo apt install nginx

Quindi crea un file host virtuale Nginx per Richieste Plex.

sudo nano /etc/nginx/conf.d/plex-requests.conf

Inserisci le seguenti righe nel file. Sostituisci requests.example.com con il tuo nome di dominio. Non dimenticare di impostare un record per il sottodominio. Il location / {…} block farà reindirizzare le richieste di Nginx alla porta 3000.

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";
    }
}

Salva e chiudi il file. Quindi testa la configurazione di Nginx.

sudo nginx -t

Se il test ha esito positivo, ricarica Nginx per rendere effettiva la nuova configurazione.

sudo systemctl reload nginx

Ora Plex Requests è inserito dietro Nginx e puoi accedervi tramite un nome di dominio (requests.example.com ).

Per abilitare la connessione sicura HTTPS, puoi ottenere e installare un certificato TLS/SSL gratuito da Let's Encrypt. Installa il client Let's Encrypt (certbot) con:

sudo apt install software-properties-common
sudo add-apt-repository ppa:certbot/certbot
sudo apt update
sudo apt install certbot python3-certbot-nginx

Quindi emettere il comando seguente, che utilizza il plug-in Certbot Nginx per ottenere e installare automaticamente il certificato TLS. Sostituisci il testo rosso con i tuoi dati effettivi.

sudo certbot --nginx --agree-tos --redirect --hsts --staple-ocsp --email your-email-address --domain requests.example.com

Entro pochi secondi, dovresti vedere un messaggio di congratulazioni come di seguito, il che significa che il certificato è stato ottenuto con successo.

Aggiorna la pagina Web Richieste Plex, scoprirai che la connessione HTTP viene automaticamente reindirizzata alla connessione protetta HTTPS.

Imposta proxy inverso Nginx (sottodirectory)

Se desideri che le richieste Plex siano accessibili tramite una sottodirectory del tuo dominio, apri il file host virtuale Nginx esistente per il tuo media server Plex. Il mio si chiama plex.conf .

sudo nano /etc/nginx/conf.d/plex.conf

Se hai seguito il mio precedente tutorial sul server multimediale Plex, ora dovresti avere HTTPS abilitato per il tuo server multimediale Plex. E devi solo aggiungere le seguenti righe al blocco del server SSL (indicato da 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";

 }

Nella configurazione precedente, specifichiamo che se l'URL della richiesta termina con /search, /admin, /requests, /packages, /sockjs, /app o /merged-stylesheets.css, allora indica a Nginx di reindirizzare la richiesta alla porta 3000. Se l'URL della richiesta termina con /sockjs, ci saranno alcune richieste WebSocket insieme alle normali richieste HTTP, quindi aggiungiamo gli ultimi due proxy_set_header direttive per l'aggiornamento al protocollo WebSocket.

Salva e chiudi il file. Quindi testa la configurazione di Nginx.

sudo nginx -t

Se il test ha esito positivo, ricarica Nginx per rendere effettiva la nuova configurazione.

sudo systemctl reload nginx

Ora la pagina Web principale di Plex Requests è accessibile tramite una sottodirectory.

example.com/search

E la pagina di amministrazione è accessibile tramite

example.com/admin

Configura il proxy inverso Apache (sottodominio)

Se preferisci Apache a Nginx, installalo con:

sudo apt install apache2

Per utilizzare Apache come proxy inverso, dobbiamo abilitare il proxy moduli e il modulo di intestazione.

sudo a2enmod proxy proxy_http proxy_wstunnel headers

Quindi crea un file host virtuale per Plex Requests.

sudo nano /etc/apache2/sites-available/plex-requests.conf

Inserisci le seguenti righe nel file. Sostituisci requests.example.com con il tuo nome di dominio. Non dimenticare di impostare un record per il sottodominio.

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

Salva e chiudi il file. Quindi abilita questo host virtuale.

sudo a2ensite plex-requests.conf

Riavvia Apache

sudo systemctl restart apache2

Ora Plex Requests viene inserito dietro Apache e puoi accedervi tramite un nome di dominio (requests.example.com ).

Per abilitare la connessione sicura HTTPS, puoi ottenere e installare un certificato TLS/SSL gratuito da Let's Encrypt. Installa il client Let's Encrypt (certbot) con:

sudo apt install software-properties-common
sudo add-apt-repository ppa:certbot/certbot
sudo apt update
sudo apt install certbot python3-certbot-apache

Quindi emettere il comando seguente, che utilizza il plug-in Certbot Nginx per ottenere e installare automaticamente il certificato TLS. Sostituisci il testo rosso con i tuoi dati effettivi.

sudo certbot --apache --agree-tos --redirect --hsts --staple-ocsp --email your-email-address --domain requests.example.com

Entro pochi secondi, dovresti vedere un messaggio di congratulazioni come di seguito, il che significa che il certificato è stato ottenuto con successo.

Aggiorna la pagina Web Richieste Plex, scoprirai che la connessione HTTP viene automaticamente reindirizzata alla connessione protetta HTTPS.

Configura il proxy inverso Apache (sottodirectory)

Se desideri che le Richieste Plex siano accessibili tramite una sottodirectory del tuo dominio, apri il file host virtuale Apache esistente per il tuo media server Plex. Il mio si chiama plex-le-ssl.conf . (Nota che devi modificare l'host virtuale che è in ascolto su 443.)

sudo nano /etc/nginx/conf.d/plex-le-ssl.conf

Se hai seguito il mio precedente tutorial sul server multimediale Plex, ora dovresti avere HTTPS abilitato per il tuo server multimediale Plex. E devi solo aggiungere le seguenti righe all'interno di <VirtualHost *:443>...</VirtualHost> blocco.

    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>

Salva e chiudi il file. Quindi ricarica Apache per rendere effettive le modifiche.

sudo systemctl reload apache2

Ora la pagina Web principale di Plex Requests è accessibile tramite una sottodirectory.

example.com/search

E la pagina di amministrazione è accessibile tramite

example.com/admin

Conclusione

Spero che questo tutorial ti abbia aiutato a installare Plex Requests su Ubuntu 18.04 e 16.04. Come sempre, se hai trovato utile questo post, iscriviti alla nostra newsletter gratuita per ricevere altri suggerimenti e trucchi. Abbi cura di 🙂


Ubuntu
  1. Come installare Plex Media Server su Ubuntu 20.04

  2. Come installare Plex Media Server su Ubuntu 18.04

  3. Come installare MySQL su Ubuntu 18.04

  4. Come installare il server Minecraft su Ubuntu 18.04

  5. Come installare Zimbra 8.6 su Ubuntu 14.04 Server

Come installare Plex Media Server su Ubuntu 18.04 LTS

Come installare Plex Media Server su Ubuntu 16.04 Server/Desktop

Come installare Plex Media Server su Ubuntu 20.04 LTS Server/Desktop

Come installare Plex Media Server su Ubuntu 20.04 LTS

Come installare Plex Media Streaming Server su Ubuntu 19.04

Come installare Plex Media Server su Ubuntu 22.04