Plex est un logiciel gratuit qui vous permet d'organiser vos films, émissions de télévision, musique et photos dans une superbe interface et de diffuser ces fichiers multimédias sur votre PC, tablette, téléphone, TV, Roku, etc... sur le réseau ou sur Internet.

Plex peut être installé sur Linux, FreeBSD, MacOS, Windows et OS pour les NAS.

Installer Plex Media Server sur Ubuntu 18.04

Tout d'abord, allez sur la page de téléchargement du serveur Plex , sélectionnez Linux et choisissez Ubuntu pour ARMv8 :

Si vous prévoyez d'installer Plex sur un serveur Ubuntu 18.04, vous pouvez copier le lien de téléchargement Plex et l'utiliser wgetpour télécharger Plex à partir de la ligne de commande comme ci-dessous :

wget https://downloads.plex.tv/plex-media-server-new/1.18.7.2457-77cb9455c/debian/plexmediaserver_1.18.7.2457-77cb9455c_arm64.deb

Dpkg est l'outil de ligne de commande standard pour installer les paquets deb. Exécutez donc la commande suivante pour installer le package deb Plex :

sudo dpkg -i plexmediaserver * .deb

Maintenant, le serveur multimédia Plex est installé. Nous pouvons vérifier son statut avec :

systemctl status plexmediaserver

Activer le référentiel Plex

En activant le dépôt officiel Plex, vous pouvez mettre à jour Plex sur Ubuntu avec le gestionnaire de paquets apt. Le package deb Plex est livré avec un fichier de liste source. Pour voir une liste des fichiers installés à partir d'un package, exécutez dpkgavec l'attribut -L.

dpkg -L plexmediaserver

Ouvrez ce fichier avec la commande suivante :

sudo nano /etc/apt/sources.list.d/plexmediaserver.list

Par défaut, son contenu est mis en commentaire. Dé-commentez la dernière ligne.

Enregistrez puis fermez le fichier.

Après cela, exécutez la commande suivante pour importer la clé publique Plex dans le gestionnaire de packages.

wget -q https://downloads.plex.tv/plex-keys/PlexSign.key -O - | sudo apt-key add -

Maintenant, mettez à jour l'index du référentiel logiciel.

sudo apt-get update

Configuration initiale du serveur multimédia Plex

Si vous exécutez la commande suivante :

sudo netstat -lnpt | grep Plex

Vous pouvez voir que le serveur multimédia Plex écoute sur  :::32400et sur divers ports du localhost.

L'interface de gestion Web est donc disponible sur le port 32400.

Si Plex est installé sur un serveur Ubuntu 16.04 distant, vous devez configurer un tunnel SSH en exécutant la commande suivante sur votre ordinateur local.

Remplacez 12.34.56.78 par l'adresse IP du serveur Ubuntu distant :

ssh root@12.34.56.78 -L 8888:localhost:32400

Ensuite, vous pouvez accéder à l'interface Web Plex via l'URL suivante : http://localhost:8888/web

Cette demande HTTP sera redirigée vers http://localhost:32400/weble serveur distant via le tunnel SSH. Ce tunnel SSH n'est nécessaire que pour la configuration initiale.

Après la configuration initiale, vous pouvez accéder à l'interface Web Plex via server-ip-address:32400. Remplacez server-ip-addresspar votre véritable adresse IP de serveur.

Une fois connecté, vous serez redirigé vers localhost:32400 la configuration initiale.

Sur l'écran suivant, entrez un nom pour votre serveur Plex. Assurez-vous que la case "Allow me to access my media outside my home" est cochée. Cliquez ensuite sur Next.

Vous pouvez maintenant ajouter des bibliothèques. Cliquez sur le bouton "Add Library".

Sélectionnez un type de bibliothèque, puis cliquez sur le bouton "Browse for media folder" pour ajouter vos dossiers multimédias.

Notez que l'utilisateur plex doit avoir une autorisation de lecture et d'exécution sur vos répertoires multimédias. Par exemple, mon disque dur externe est monté sous  /mnt/Medias, qui appartient à root. Les utilisateurs qui ne sont pas dans le groupe ne peuvent pas y accéder, j'exécute donc la commande suivante pour donner à l'utilisateur plex une autorisation de lecture et d'exécution.

sudo setfacl -R -mu:plex:rx /mnt/Medias

Une fois que vous avez terminé d'ajouter vos dossiers multimédias, cliquez sur Nextpuis sur Done. Vous pouvez toujours ajouter plus de bibliothèques ultérieurement.

De plus, si vous avez fait une erreur dans la configuration initiale, vous pouvez supprimer le fichier Preferences.xml et recommencer.

sudo rm /var/lib/plexmediaserver/Library/Application Support/Plex Media Server/Preferences.xml
sudo systemctl restart plexmediaserver

Créez le proxy inverse Nginx

Si vous préférez utiliser un nom de domaine plutôt que de taper http://localhost:32400pour accéder à votre serveur multimédia Plex, vous devez configurer un reverse proxy. Nous pouvons utiliser Nginx à cet effet. Installez Nginx à partir du référentiel de logiciels Ubuntu par défaut. Sautez cette étape si c'est déjà le cas.

sudo apt-get install nginx

Créez ensuite un fichier de configuration pour Plex :

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

Mettez les lignes suivantes dans le fichier. Remplacez plex.example.com par votre propre nom de domaine :

server {
      listen 80;
      server_name plex.example.com;

      location / {
          proxy_pass http://127.0.0.1:32400;
          proxy_set_header Host $host;
          proxy_set_header X-Real-IP $remote_addr;
          proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
      }
}

Enregistrez et fermez ce fichier.

Rechargez Nginx pour que la modification prenne effet :

sudo systemctl reload nginx

Vous pouvez maintenant accéder au serveur multimédia Plex via plex.example.com.

Activer le HTTPS

Pour chiffrer le trafic HTTP lorsque vous visitez le serveur Plex de l'extérieur, nous pouvons activer HTTPS en installant un certificat TLS gratuit émis par Let's Encrypt.

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

Exécutez ensuite la commande suivante pour obtenir et installer le certificat TLS :

sudo certbot --nginx --agree-tos --redirect --hsts --staple-ocsp --email you@example.com -d plex.example.com

Le certificat doit maintenant être obtenu et installé automatiquement, vous pouvez accéder à l'interface Web Plex via HTTPS.

Bonus

Pensez à activer l'encodage matériel avec FFMpeg.