Tuto : Installer Plex média serveur sur le Raspberry Pi 2

Le Raspberry Pi 2 possède un processeur ARM V7 et c’est plutôt une bonne nouvelle ! En effet, ce processeur plus puissant que la première version du Raspberry Pi permet d’installer un serveur média Plex ! Je ne parle pas d’un client Plex (ce qui est déjà possible avec la distribution Rasplex), non, je parle bien là d’un serveur Plex sur le Raspberry Pi.

Voici donc un tuto complet pour installer Plex média serveur sur le Raspberry Pi 2

media serveur plex raspberry pi

Avant de commencer, voici quelques pré-requis :

– Posséder un Raspberry Pi 2
– Avoir une carte SD de 8 Go minimum en class 10 si possible

Temps estimé : Entre 30 et 50 minutes (selon votre connexion internet et le type de carte SD).

Préparation de la carte SD

Dans un premier temps, téléchargez et installez la distribution Raspbian Debian Wheezy, pour savoir comment faire, rendez-vous ici. Lorsque votre carte SD est prête, insérez-là dans votre Raspberry Pi et démarrez-le.

Récupérez l’adresse IP de votre RPi2 et connectez-vous en SSH (via un utilitaire tel que Putty par exemple).

Utilisateur : pi
Mot de passe : raspberry

Pour optimiser l’installation du média serveur Plex sur le Raspberry Pi 2, on va étendre la partition de la carte SD afin d’être sur d’utiliser tout l’espace libre. Pour cela :

sudo raspi-config

expand filesystem raspberry pi

Dans le menu, allez sur l’option “Expand Filesystem” et appuyez sur entrer et validez. On va aussi en profiter pour augmenter un peu les performances du Raspberry Pi 2, pour cela, allez sur l’option “Overclock” et validez. Choisissez ensuite le mode “modeste” (assurez-vous avant que l’alimentation puisse tenir sinon votre RPi risque de crasher).

Installation de debootstrap (chroot)

Votre Raspberry Pi 2 est désormais prêt, 0n peut donc passer à la suite. Toujours en SSH, saisissez les commandes suivantes :

sudo apt-get install debootstrap

Puis, entrez ces commandes (cela prend environ 15 minutes) :

sudo debootstrap --no-check-gpg --arch=armel wheezy /chroots/wheezy-armel ftp://ftp.debian.org/debian/

Lorsque c’est terminé, entrez la commande :

sudo nano /etc/fstab

Cette commande permet de modifier un fichier de configuration. On va ensuite ajouter les lignes suivantes à la fin du fichier :

# Chroot bind mounts
/home            /chroots/wheezy-armel/home            none bind 0 0
/mnt             /chroots/wheezy-armel/mnt             none bind 0 0
/tmp             /chroots/wheezy-armel/tmp             none bind 0 0
/proc            /chroots/wheezy-armel/proc            proc defaults 0 0
/dev             /chroots/wheezy-armel/dev             none bind 0 0
/dev/pts         /chroots/wheezy-armel/dev/pts         none bind 0 0

Pour enregistrer les changements, faites CTRL + O, appuyez sur Entrer et faites CTRL + X pour quitter l’éditeur de texte.

Pour finir, on monte le fichier système avec cette commande :

sudo mount -a

Tout ceci nous a permis d’installer et de configurer Chroot, un système qui nous sera très utile pour la suite (plus d’infos ici).

On continue avec la commande :

echo wheezyArmel > /etc/debian_chroot

Désormais, votre prompt devrait être passé de [email protected] à [email protected]

On continue avec l’installation des packages pour la langue :

apt-get install locales

Lorsque le système vous le demande, validez par la lettre y et appuyez sur Entrer

locale-gen en_US en_US.UTF-8 hu_HU hu_HU.UTF-8

Normalement le système devrait afficher un message “Generation complete“.

Pour terminer sur cette partie, on reconfigure le paquet avec la commande :

dpkg-reconfigure locales

Après quelques secondes, le système vous demande de choisir votre langue. Naviguez à l’aide des flèches et sélectionnez (avec la touche espace) la langue en_US.UTF-8 UTF-8 et allez ensuite sur Ok puis validez.

package configuration

Pour éviter quelques petits problèmes éventuels, rentrez les deux commandes suivantes (en validant à chaque fois pour chacune des lignes).

dpkg-divert --divert /usr/bin/ischroot.debianutils --rename /usr/bin/ischroot
ln -s /bin/true /usr/bin/ischroot

Téléchargement et installation de Plex Media Serveur sur le Raspberry Pi

On se rend dans le dossier temporaire tmp

cd /tmp

On créer un répertoire nommé plex

mkdir plex

On se rend dans le dossier plex

cd plex

On télécharge le fichier compressé

wget http://downloads.plexapp.com/plex-media-server/0.9.9.12.504-3e7f93c/plex.tgz

On décompresse le fichier

tar -zxvf plex.tgz

On créer un sous répertoire opt dans le dossier plex

mkdir -p /opt/plex/

On déplace le dossier Application dans /opt/plex

mv Application/ /opt/plex

On crée un sous répertoire Application Support dans plex

mkdir -p "/opt/plex/Library/Application Support"

Configuration de Plex Media Serveur

On crée un nouveau fichier de configuration (un petit script exécutable en réalité) :

nano /usr/local/bin/plexmediaserver

Et on colle ces quelques lignes à l’intérieur :

#!/bin/sh
SCRIPTPATH=/opt/plex/Application
export LD_LIBRARY_PATH="${SCRIPTPATH}"
export PLEX_MEDIA_SERVER_HOME="${SCRIPTPATH}"
export PLEX_MEDIA_SERVER_MAX_PLUGIN_PROCS=6
export LC_ALL="en_US.UTF-8"
export LANG="en_US.UTF-8"
export PLEX_MEDIA_SERVER_APPLICATION_SUPPORT_DIR="/opt/plex/Library/Application Support"
ulimit -s 3000
/opt/plex/Application/Plex\ Media\ Server

Pour enregistrez faites CTRL + O puis validez avec la touche Entrer et quittez avec CTRL + X

On rend exécutable ce script :

chmod +x /usr/local/bin/plexmediaserver

On lance le processus :

plexmediaserver &

Si tout se passe bien et qu’aucun message d’erreur ne s’affiche, vous devriez pouvoir accéder à l’interface de votre serveur Plex via votre navigateur, en écrivant dans l’url :

http://votre_adresse_ip:32400/web/index.html

Lancer le serveur Plex automatiquement au démarrage du Raspberry Pi

On crée un nouveau script init.d :

nano /etc/init.d/plexmediaserver

Copiez et collez les lignes ci-dessous dans ce fichier :

#!/bin/sh
### BEGIN INIT INFO
# Provides:          plexmediaserver
# Required-Start:    $remote_fs $syslog $networking
# Required-Stop:
# Default-Start:     2 3 4 5
# Default-Stop:      0 1 6
# Short-Description: Plex Media Server
# Description:       Plex Media Server for Linux,
#                    More information at http://www.plexapp.com
#                    Many thanks to the great PlexApp team for their wonderfull job !
# Author:            Cedric Quillevere / [email protected]
# Rewamped           Christian Svedin / c[email protected]
# Adapted (cubox-i)  Francis Belnger / [email protected]
# Version:           1.2
### END INIT INFO

# Read configuration variable file if it is present
[ -r /etc/default/plexmediaserver ] && . /etc/default/plexmediaserver

test -f "/usr/local/bin/plexmediaserver" || exit 0

plex_running=`ps ax | grep "/opt/plex/Application/Plex Media Server" | awk '{ print $1 }' | wc -l`


case "$1" in
    start)
        if [ "$plex_running" -gt 1 ]; then
                echo "Plex already running..."
                exit 0
        fi
        echo -n "Starting Plex Media Server: "
        su -l $PLEX_MEDIA_SERVER_USER -c "/usr/local/bin/plexmediaserver &" >/dev/null 2>&1
        sleep 1
        echo "done"
        ;;
    stop)
        if [ "$plex_running" -eq 1 ]; then
                echo "Plex Media Server is not running (no process found)..."
                exit 0
        fi
        echo -n "Killing Plex Media Server: "
        # Trying to kill the Plex Media Server itself but also the Plug-ins
        ps ax | grep "Plex Media Server" | awk '{ print $1 }' | xargs kill -9 >/dev/null 2>&1
        ps ax | grep "Plex DLNA Server" | awk '{ print $1 }' | xargs kill -9 >/dev/null 2>&1
        sleep 1
        echo "done"
        ;;
    restart)
        sh $0 stop
        sh $0 start
        ;;
    status)
        if [ "$plex_running" -gt 1 ]; then
                echo "Plex Media Server process running."
        else
                echo "It seems that Plex Media Server isn't running (no process found)."
        fi
        ;;
    *)
        echo "Usage: $0 {start|stop|restart|status}"
        exit 1
        ;;
esac

exit 0

On rend ce script exécutable avec la commande suivante :

chmod +x /etc/init.d/plexmediaserver

Et enfin, on met à jour pour prendre en compte notre nouveau script :

update-rc.d plexmediaserver defaults

Désormais il ne vous reste plus qu’à monter un disque USB et à l’ajouter ensuite dans Plex !

Vide du cache

Il est possible que vous ayez un problème de chargement de l’interface. Si c’est le cas, essayez cette commande :

rm -rf "/opt/plex/Library/Application Support/*"

Quelques limites :

Comme on peut s’y attendre, cette installation sur le Raspberry Pi 2 possède tout de même quelques limites :

– Il n’est pas possible de faire du transcodage, vous devez donc avoir des films dans le bon format
– La vitesse du scan des fichiers est assez lente

Ce tuto est surtout là pour montrer que ce nouveau modèle de Raspberry Pi 2 possède des performances permettant de réaliser de superbes projets.

Pour plus de convivialité, je vous recommande toutes de même d’utiliser un serveur NAS (Synology, etc) et d’installer Rasplex sur votre Raspberry Pi. Ce client Plex est bien optimisé et mis à jour régulièrement !

Source

Fondateur de networkshare.fr, ce site me permet de publier tout ce que j’adore : des tests de produits, des tutoriels et des astuces ! Toujours en rapport avec le vaste monde high-tech… Le tout dans la bonne humeur !