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 🙂