GNU/Linux >> Tutoriels Linux >  >> Ubuntu

Comment installer les requêtes Plex sur le serveur Ubuntu 16.04, 18.04

Ce tutoriel vous montrera comment installer les requêtes Plex sur les serveurs Ubuntu 16.04 et Ubuntu 18.04. Plex Requests est un moyen simple et automatisé permettant aux utilisateurs de demander de nouveaux contenus sur votre serveur multimédia Plex.

Plex Requests permet à vos utilisateurs de soumettre des demandes de contenu sur une page Web dédiée. La dernière version est la v1.21.2, publiée le 16 février 2018. Les fonctionnalités des requêtes Plex sont les suivantes :

  • Les utilisateurs peuvent facilement rechercher dans TheMovieDB le contenu à demander
  • Liste pratique des films et séries télévisées demandés et rapports de base sur les problèmes
  • Authentification simple des utilisateurs avec un nouveau système d'approbation
  • Intégration CouchPotato pour les téléchargements automatiques de films
  • Intégration de SickRage et Sonarr pour les téléchargements automatiques de séries TV
  • Notifications Pushbullet ou Pushover pour rester informé des demandes

Prérequis

Pour suivre ce tutoriel, il est supposé que vous avez déjà configuré le serveur multimédia Plex sur Ubuntu 16.04 ou Ubuntu 18.04. Vous pouvez consulter les articles suivants.

  • Comment configurer le serveur multimédia Plex sur Ubuntu 16.04
  • Comment configurer le serveur multimédia Plex sur Ubuntu 18.04

Pour exécuter les requêtes Plex, votre serveur doit disposer d'au moins 1 Go de RAM. 2 Go sont recommandés pour le faire fonctionner correctement. Sans plus tarder, installons Plex Requests.

Installer les requêtes Plex sur le serveur Ubuntu 16.04, 18.04

Plex Requests est écrit avec MeteorJS, qui est un framework Web JavaScript gratuit et open source pour la création d'applications Web et mobiles. Pour exécuter les requêtes Plex, nous devons installer MeteorJS avec la commande suivante.

sudo apt install curlcurl https://install.meteor.com/ | merde

Rendez-vous ensuite sur Github et téléchargez la dernière version.

Pour le télécharger à partir de la ligne de commande, utilisez la commande suivante. Si une nouvelle version sort, remplacez simplement 1.12.2 par le nouveau numéro de version.

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

Ensuite, décompressez l'archive.

sudo apt install unzipunzip plexrequests-meteor-1.21.2.zip

Cd dans le répertoire.

cd plexrequests-meteor-1.21.2/

Nous pouvons maintenant exécuter les requêtes Plex avec la commande suivante.

météore

Notez que si votre serveur n'a pas assez de RAM, cette commande échouera et vous verrez l'erreur suivante. ENOMEM signifie "Erreur - Pas de mémoire".

Erreur :générez ENOMEM

De plus, Plex Requests écoute par défaut sur le port 3000. Si une autre application utilise le port 3000, spécifiez un autre port comme 3002. (MongoDB écoute sur le port 3001.)

météore --port 3002

Vous pouvez maintenant accéder à la page d'administration des demandes Plex à l'adresse

l'adresse ip-de-votre-serveur :3000/admin

Si le port 3000 est bloqué par le pare-feu, exécutez la commande suivante pour autoriser l'accès au port 3000.

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


Cliquez sur le lien S'inscrire pour créer un compte administrateur.

Exécutez les requêtes Plex en arrière-plan avec SystemD

Par défaut, la commande meteor s'exécute au premier plan, ce qui signifie que si vous quittez le terminal, les requêtes Plex cesseront de s'exécuter. Pour l'exécuter en arrière-plan, nous pouvons créer un service SystemD. Tout d'abord, appuyez sur Ctrl+C pour arrêter le processus météore en cours. Créez ensuite un fichier de service SystemD pour les requêtes Plex avec un éditeur de texte en ligne de commande comme nano.

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

Dans ce fichier, nous devons définir la variable d'environnement HOME, définir le répertoire de travail et spécifier que meteor s'exécutera en tant qu'utilisateur standard. Mettez donc le texte suivant dans ce fichier. Remplacez le texte rouge comme il convient.

[Unit]Description=Plex RequestsAfter=syslog.target network.target[Service]Environment="HOME=/home/linuxbabe"WorkingDirectory=/home/linuxbabe/plexrequests-meteor-1.21.2ExecStart=/usr/local/ bin/meteorType=simpleRestart=alwaysRestartSec=10User=linuxbabeGroup=linuxbabe[Install]WantedBy=multi-user.target

Pour enregistrer le fichier dans l'éditeur de texte Nano, appuyez sur Ctrl+O , puis appuyez sur Entrée pour confirmer. Pour quitter, appuyez sur Ctrl+X . Ensuite, nous pouvons démarrer le service SystemD avec :

sudo systemctl start plex-requests

Et activez le démarrage automatique au démarrage du système.

sudo systemctl enable plex-requests

Vérifiez maintenant l'état :

requêtes plex d'état systemctl

Assurez-vous qu'il est en cours d'exécution. Appuyez ensuite sur q pour reprendre le contrôle du terminal.

Configurer le proxy inverse Nginx (sous-domaine)

Pour accéder aux demandes Plex via un nom de domaine au lieu de saisir l'adresse IP et le numéro de port, vous pouvez configurer un proxy inverse avec Nginx. Exécutez la commande suivante pour installer le serveur Web Nginx.

sudo apt installer nginx

Créez ensuite un fichier d'hôte virtuel Nginx pour les requêtes Plex.

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

Mettez les lignes suivantes dans le fichier. Remplacez requests.example.com avec votre propre nom de domaine. N'oubliez pas de définir un enregistrement A pour le sous-domaine. Le location / {…} block fera des requêtes de redirection Nginx vers le port 3000.

serveur { écoute 80 ; nom_serveur demandes.exemple.com ; error_log /var/log/nginx/plex-requests.error ; emplacement / { proxy_pass http://127.0.0.1:3000; proxy_set_header Hôte $hôte ; proxy_set_header X-Real-IP $remote_addr ; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for ; #mise à niveau vers le protocole WebSocket proxy_set_header Mettre à niveau $http_upgrade ; proxy_set_header Connexion "Mettre à niveau" ; }}

Enregistrez et fermez le fichier. Testez ensuite la configuration de Nginx.

sudo nginx -t

Si le test réussit, rechargez Nginx pour que la nouvelle configuration prenne effet.

sudo systemctl recharger nginx

Maintenant, Plex Requests est placé derrière Nginx et vous pouvez y accéder via un nom de domaine (requests.example.com ).

Pour activer la connexion sécurisée HTTPS, vous pouvez obtenir et installer un certificat TLS/SSL gratuit de Let's Encrypt. Installez le client Let's Encrypt (certbot) avec :

sudo apt install software-properties-commonsudo add-apt-repository ppa:certbot/certbotsudo apt updatesudo apt install certbot python3-certbot-nginx

Exécutez ensuite la commande suivante, qui utilise le plug-in Certbot Nginx pour obtenir et installer automatiquement le certificat TLS. Remplacez le texte rouge par vos données réelles.

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

En quelques secondes, vous devriez voir un message de félicitations comme ci-dessous, ce qui signifie que le certificat a été obtenu avec succès.

Actualisez la page Web Plex Requests, vous constaterez que la connexion HTTP est automatiquement redirigée vers une connexion sécurisée HTTPS.

Configurer le proxy inverse Nginx (sous-répertoire)

Si vous souhaitez que les requêtes Plex soient accessibles via un sous-répertoire de votre domaine, ouvrez le fichier d'hôte virtuel Nginx existant pour votre serveur multimédia Plex. Le mien s'appelle plex.conf .

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

Si vous avez suivi mon précédent didacticiel sur le serveur multimédia Plex, HTTPS devrait maintenant être activé pour votre serveur multimédia Plex. Et il vous suffit d'ajouter les lignes suivantes au bloc du serveur SSL (indiqué par listen 443 ssl ).

 location ~* (/search|/admin|/requests|/packages|/sockjs|/app|/merged-stylesheets.css) { proxy_pass http://localhost:3000; proxy_set_header Hôte $hôte ; proxy_set_header X-Real-IP $remote_addr ; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for ; proxy_set_header Mettre à jour $http_upgrade ; proxy_set_header Connexion "Mettre à niveau" ; } 

Dans la configuration ci-dessus, nous spécifions que si l'URL de la demande se termine par /search, /admin, /requests, /packages, /sockjs, /app ou /merged-stylesheets.css, indiquez à Nginx de rediriger la demande vers le port 3000. Si l'URL de la requête se termine par /sockjs, il y aura des requêtes WebSocket avec des requêtes HTTP normales, nous ajoutons donc les deux derniers proxy_set_header directives pour passer au protocole WebSocket.

Enregistrez et fermez le fichier. Testez ensuite la configuration de Nginx.

sudo nginx -t

Si le test réussit, rechargez Nginx pour que la nouvelle configuration prenne effet.

sudo systemctl recharger nginx

Désormais, la page Web principale des demandes Plex est accessible via un sous-répertoire.

exemple.com/recherche

Et la page d'administration est accessible via

example.com/admin

Configurer Apache Reverse Proxy (sous-domaine)

Si vous préférez Apache à Nginx, installez-le avec :

sudo apt install apache2

Pour utiliser Apache comme proxy inverse, nous devons activer le proxy modules et le module d'en-tête.

sudo a2enmod proxy proxy_http proxy_wstunnel en-têtes

Créez ensuite un fichier d'hôte virtuel pour les requêtes Plex.

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

Mettez les lignes suivantes dans le fichier. Remplacez requests.example.com avec votre propre nom de domaine. N'oubliez pas de définir un enregistrement A pour le sous-domaine.

 ServerName requests.example.com ErrorDocument 404 /404.html #HTTP Requests ProxyPass / http://localhost:3000/ ProxyPassReverse / http://localhost:3000/ #Lorsque la mise à niveau du protocole vers Websocket est reçu, modifiez l'origine (schéma de protocole, hôte et port) RewriteEngine on RewriteCond %{HTTP:UPGRADE} ^WebSocket$ [NC] RewriteCond %{HTTP:CONNECTION} ^Upgrade$ [NC] RewriteRule .* ws://localhost :3000%{REQUEST_URI} [P]

Enregistrez et fermez le fichier. Activez ensuite cet hôte virtuel.

sudo a2ensite plex-requests.conf

Redémarrez Apache

sudo systemctl redémarrer apache2

Maintenant, Plex Requests est placé derrière Apache et vous pouvez y accéder via un nom de domaine (requests.example.com ).

Pour activer la connexion sécurisée HTTPS, vous pouvez obtenir et installer un certificat TLS/SSL gratuit de Let's Encrypt. Installez le client Let's Encrypt (certbot) avec :

sudo apt install software-properties-commonsudo add-apt-repository ppa:certbot/certbotsudo apt updatesudo apt install certbot python3-certbot-apache

Exécutez ensuite la commande suivante, qui utilise le plug-in Certbot Nginx pour obtenir et installer automatiquement le certificat TLS. Remplacez le texte rouge par vos données réelles.

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

En quelques secondes, vous devriez voir un message de félicitations comme ci-dessous, ce qui signifie que le certificat a été obtenu avec succès.

Actualisez la page Web Plex Requests, vous constaterez que la connexion HTTP est automatiquement redirigée vers une connexion sécurisée HTTPS.

Configurer Apache Reverse Proxy (sous-répertoire)

Si vous souhaitez que les requêtes Plex soient accessibles via un sous-répertoire de votre domaine, ouvrez le fichier d'hôte virtuel Apache existant pour votre serveur multimédia Plex. Le mien s'appelle plex-le-ssl.conf . (Notez que vous devez modifier l'hôte virtuel qui écoute sur 443.)

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

Si vous avez suivi mon précédent didacticiel sur le serveur multimédia Plex, HTTPS devrait maintenant être activé pour votre serveur multimédia Plex. Et il vous suffit d'ajouter les lignes suivantes dans le <VirtualHost *:443>...</VirtualHost> bloquer.

 RewriteEngine on #Si l'URL demandée est destinée aux requêtes Plex, puis redirigez la requête vers localhost :3000 RewriteCond %{REQUEST_URI} ^/(search|admin|requests|packages|app|sockjs|merged-stylesheets.css) [NC] RewriteRule .* http://localhost:3000%{REQUEST_URI} [P] #Ceci est pour les requêtes Websocket.  RewriteCond %{HTTP:UPGRADE} ^WebSocket$ [NC] RewriteCond %{HTTP:CONNECTION} ^Upgrade$ [NC] RewriteRule .* ws://localhost:3000%{REQUEST_URI} [P] 

Enregistrez et fermez le fichier. Rechargez ensuite Apache pour que les modifications prennent effet.

sudo systemctl recharger apache2

Désormais, la page Web principale des demandes Plex est accessible via un sous-répertoire.

exemple.com/recherche

Et la page d'administration est accessible via

example.com/admin

Conclusion

J'espère que ce tutoriel vous a aidé à installer Plex Requests sur Ubuntu 18.04 et 16.04. Comme toujours, si vous avez trouvé cet article utile, abonnez-vous à notre newsletter gratuite pour obtenir plus de conseils et astuces. Prenez soin de vous 🙂


Ubuntu
  1. Comment installer Plex Media Server sur Ubuntu 20.04

  2. Comment installer Plex Media Server sur Ubuntu 18.04

  3. Comment installer MySQL sur Ubuntu 18.04

  4. Comment installer le serveur Minecraft sur Ubuntu 18.04

  5. Comment installer Zimbra 8.6 sur le serveur Ubuntu 14.04

Comment installer Plex Media Server sur Ubuntu 18.04 LTS

Comment installer Plex Media Server sur un serveur/bureau Ubuntu 16.04

Comment installer Plex Media Server sur le serveur/bureau Ubuntu 20.04 LTS

Comment installer Plex Media Server sur Ubuntu 20.04 LTS

Comment installer Plex Media Streaming Server sur Ubuntu 19.04

Comment installer Plex Media Server sur Ubuntu 22.04