Tutoriel creation NAS + PLEX SERVER

Bonjour à toutes et à tous,

Voici une petit projet que j’ai mené à bien et que je souhaitait vous faire partager.
Pour bien comprendre la mécanique de ce projet voici les étapes de l’installation:

  • Montage automatique des disques dur
  • installation d’un serveur samba
  • installation et configuration de plex
  • Mise a jour automatique du serveur PLEX

1 - Montage automatique des disques durs
Prérequis:
+++ Mise a jour du Raspberry:
sudo apt-get update -y && apt-get upgrade -y && apt-get dist-upgrade -y
+++ installer ntfs-3g :
sudo apt-get install ntfs-3g
+++ creer un dossier de partage: (Vous pouvez le créer ou vous le souhaitez)
cd /home/pi
mkdir Share
chmod -R 777 Share
+++ Modifier le nom d’hote du rapsberry:
modifier la ligne du fichier /etc/hosts:
« 127.0.1.1 raspberrypi »
par:
« 127.0.1.1 plex »
ainsi que le fichier /etc/hostname:
sudo echo « plex » > /etc/hostname
ce qui permettra par la suite d’avoir acces aux dossiers partagé via l’adresse « \plex »

Après avoir connecté le ou les disques dur sur le Raspberry, il est essentiel de déterminer l’UUID pour cela tapez:
sudo blkid

vous devriez avoir un retour du genre :

/dev/sdb1: LABEL=« HDD Films » UUID=« F474B7AA74B76DAC » TYPE=« ntfs » PARTUUID=« 52bbfde1-01 »

notez l’UUID et editez le fichier /etc/fstab en ajoutant la ligne suivante et en remplacant l’UUID par celui que vous avez noté:
UUID=« F474B7AA74B76DAC » /home/pi/Share/Films ntfs-3g rw,user,auto,uid=pi,gid=users,nls=utf8,umask=002
Vous pouvez activer le montage automatique en rebootant le Raspberry ou tout simplement en tapant « mount -a ».

2 - Installation d’un serveur Samba:
Samba est un protocole qui permet de partager des dossiers via internet et accessible sur plusieurs plateformes (Linux, Windows …)
Ce serveur nous servira à ajouter ou supprimer des élémenents à notre disque dur.

Pour cela installez Samba:
sudo apt-get install samba

Il est plus sur de créer utilisateur spécifique pour l’accès aux disques durs (protégé par un mot de passe).
sudo adduser usrSamba

renseignez un mot de passe pour cet utilisateur, complétez les informations demandés (laissez vide si vous souhaitez) et configurer ce nouvel utilisateur pour l’acces au serveur:
sudo smbpasswd -a usrSamba
chown usrSamba:usrSamba /home/pi/HDD_Films

smbpasswd configure le mot de passe pour l’acces aux disques durs. Chose importante, ce mot de passe est un mot de passe d’utilisateur Samba, il n’a aucun rapport avec le mot de passe de l’utilisateur lui même (ce sont deux mot de passes différents).

Ceci étant fait, nous pouvons passer à la suite avec la configuration de Samba. Pour cela éditez le fichier /etc/samba/smb.conf en ajoutant à la fin du fichier:

[Share]
  comment = Films et series
  path = /home/pi/Share
  available = yes
  valid users = usrSamba
  read only = no
  browseable = yes
  public = yes
  writable = yes

sauvegardez et redémarrez le service samba:
sudo systemctl restart smbd
ou alors
sudo /etc/init.d/samba restart

Pour vérifier si cela a marché, rendez vous sur votre navigateur préféré (Chrome ou autre) et tapez l’adresse « \plex\Share » sans les guillemets, vous drevriez voir vos fichiers et dossiers partagés. GOOD !

3 - Installation et configuration de plex
avant d’installer plex vous devez connaitre l’architecure du raspberry, pour cela tapez:
uname -a
vous allez avoir un truc du genre:
Linux rsppi 4.19.118-v7+ #1311 SMP Mon Apr 27 14:21:24 BST 2020 armv7l GNU/Linux

On constate que le raspberry fonctionne avec un processeur armv7, cela nous permettra de bien choisir la bonne version de plex par la suite.
rendez vous à https://www.plex.tv/fr/media-server-downloads/ ,choisissez « Linux » puis « Ubuntu …/ Debian ARMv7 ».

Installer le pacakge :
sudo dpkg -i plexmdiaserver*.deb

allez à l’addresse http://:32400/web/index.html , créez un compte plex lorsqu’il vous le sera demandé et paramétrez votre bibliotheque:
- cliquez sur le « + » a coté du nom du serveur pour ajouter une bibliotheque.
- renseignez le type de media (films, series, photos ou musiques), pour ma part ca sera des films.
- allez dans l’onglet ajouter des dossiers et naviguez jusqu’à /home/pi/Share/HDD_Films
- Paramétrer les agents pour trouver automatiquement les affiches de films, synopsis…
- activez le scan automatique de la bibliotheque lorsqu’un fichier ou dossier est modifié ( Parametres > Bibliotheque > cocher « Analyser ma bibliothèque automatiquement » " et « Lancer un scan partiel quand un changement est détecté »)

4 - Mise a jour automatique du serveur PLEX
Cette dernière étape est necessaire si vous ne souhaitez pas faire les mises a jour manuellement de plex (car ce dernier ne se fait apparemment pas automatiquement)
Après plusieurs tests, j’ai pu valider une méthode qui est pour moi très efficace en faisant un petit script shell et python.

cd /home/pi
sudo mkdir update
touch run_plex_update.sh
touch get_plex_version.py
cd update
sudo mkdir logs


et editez le fichier run_plex_update.sh:
  #!/bin/sh
  latest=$(python get_plex_version.py)
  installed=$(apt-cache policy plexmediaserver | awk -F": " 'NR==2{print $2}')

  if [ "$latest" = "$installed" ]
  then
          echo `date`" - La version de PLEX est à jour, rien a faire ..."
  else
          echo `date`" - =========================================================="
          echo `date`" - Téléchargement de PLEX en cours ..."
          echo `date`" - =========================================================="
          wget https://plex.tv/downloads/latest/5?channel=16\&build=linux-armv7hf_neon\&distro=debian -O plex_update.deb
          echo `date`" - =========================================================="
          echo `date`" - Téléchargement Mise a jour terminée"
          echo `date`" - =========================================================="
          sudo dpkg -i plex_update.deb 2>&1
          echo `date`" - =========================================================="
          echo `date`" - Installation mise à jour terminée"
          echo `date`" - =========================================================="
          rm plex_update.deb
  fi

ainsi que le fichier get_plex_version.py:
  #!/usr/bin/python
  import urllib

  url = "https://plex.tv/downloads/latest/5?channel=16&build=linux-armv7hf_neon&distro=debian"
  response = urllib.urlopen(url)
  splitted_address = response.url.rsplit('/',1)[-1]
  latest = splitted_address.split('_')[-2]

mettez en place un service qui verifira s'il existe une nouvelle version de Plex à heure précise (dans mon exemple ca sera 3h00 de matin), pour cela entrez la commande:
  crontab -e

et ajoutez la ligne suivante:
  0 3 * * *  cd /home/pi/update && ./run_plex_update.sh >> /home/pi/update/log/plex_update_log.log

Info : le premier chiffre correspond aux minutes et le deuxieme correspond aux heures (si on voulait que la vérification se passe à 14h35 on aurait "35 14 * * *" ).
Vous pouvez ainsi checker les logs de temps en temps dans /home/pi/update/log pour voir si tout se passe bien.

Tout est en place, ceci est une méthode que j’ai pu tester à ce jour et peut être améliorée. J’epsere que ce tutoriel vous sera utile.
A vos popcorn et bon visonnage !

J’ai tout recommencé et suivi ton tuto et pareil, impossible de me logguer au dossier [partage] de plex:

Qu’est-ce qui cloche ?
Je précise que je n’ai pas encore installer plex puisque je ne peux même pas accéder au dossier « partage » depuis windows xp

Salut,

Pour tester ton réseau et parce que je ne sais pas ce que sais faire Windows XP (tu utilises encore Windows XP ??? :scream: ; un vieux PC vivrait aussi bien (mieux niveau securité) sous Linux)

  • Installation de samba :
    sudo apt install -y samba

  • Création d’un dossier puis modification des droits sur ce dossier :
    mkdir /home/pi/partage && sudo chmod 777 /home/pi/partage

  • Création d’un fichier dans ce dossier :
    touch /home/pi/partage/fichier01.txt

  • Modification du fichier samba.conf :
    sudo cp /etc/samba/smb.conf /etc/samba/smb.confSAUVE && sudo nano /etc/samba/smb.conf

Puis tu vas en bas du fichier et tu y colles ceci :

security = share
[partage]
path = /home/pi/partage
bowseable = yes
writable = no
read only = yes
guest ok = yes
force user = pi
  • Tu redémarres ton Rpi
    Je n’ai pas de Windows sous la main, mais mes PC Unix/Linux voient tous un élément RASPBERRYPI sur le réseau et une fois dedans, je vois le dossier « partage » et j’y accède d’un simple double-clic.

Faut déjà passer cette étape :wink:

++