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 à Media Server Downloads | Plex Media Server for Windows, Mac, Linux, FreeBSD and More ,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:

20200704 - logginerror

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
browseable = 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:

++

Whouaouww, ça fonctionne, enfin il n’est plus question de mot de passe.
J’avais oublié le « e » de « browseable » dans le fichier config de samba, peut-être que ça venait de là
Sinon toi, tu as oublié le « r » de « browseable » dans ta config de samb

Merci encore,

Yo @Emmett_Brown

Je corrige mon post précédent pour les autres au cas où.
(Chez moi, pas de fautes ; je n’ai pas exactement cette config que j’ai tapée à la main sans me relire comme il faut …)
Ravi que tu puisses jouer avec le réseau :wink:

Au plaisir,

Au risque de polluer ce bon tutoriel, je pose tout de même ici mes petits soucis concernant ce dit NAS.
Je peux maintenant accéder au dossier partage et (nonobstant changer un peu smb.conf) y coller dossiers et fichiers MAIS seulement par le biais de mon explorateur Windows; je suis bien en IP fixe pour mon serveur Samba mais je n’arrive pas à l’atteindre via un navigateur quelconque…
Une modif de la config samba ?

Salut,

Pour moi, un partage Samba, c’est via un gestionnaire de fichier (je ne suis pas sous windows, mais c’est pareil que l’explorateur de fichier)
Sinon, pour l’adresse, il faut taper smb://192.168.1.125/partage

++

Je suis navré d’insister mais je n’arrive toujours pas à m’y connecter avec l’IP
Mon but est en fait de pouvoir m’y connecter depuis l’extérieur avec une redirection dans la livebox
Comme mon système Jeedom par exemple
Mais je n’arrive même pas à l’atteindre en réseau local !
smb://192.168.1.125/partage marche pas , il me mets http:// systématiquement avant et fait donc une recherche google…
Autrement j’ai vu çà sur internet:
# on peut exclure des machines de l’accès au réseau
;hosts allow = 192.168.1. EXCEPT 192.168.1.125

dans le fichier smb.conf de quelqu’un, ne faut-il pas gratter par là ?
(Où sont ces fichus balises « codes » ?)

Re, et ici autrement, il parle de problème de résolution de nom d’hôte:

samba IP

J’ai modifié le mien en conséquence mais toujours pas d’accès via l’IP:

Des avis ?

Coucou

mon avis c’est que ouvrir un partage de fichier dans un navigateur web ce n’est pas necessairement adapté.

As tu tenté d’ouvrir ce meme partage comme l’a suggéré nabla depuis ton explorateur de fichier, qui lui est adapté ? Ton poste de travail en gros.

Bonne journée,
Courage !

Mais oui bien sûr que je peux l’ouvrir, y accéder depuis l’explorateur de fichiers Wouindose mais je voudrais le faire par son adresse IP, pour pouvoir y accéder aussi par internet via une redirection dans la box …

Avoir un Network Attached Storage perso, un cloud quoi, c’est pas possible ?

PUnaise !

Salut,
J’ai un PC sous Debian avec un dossier partagé comme vu précédemment.
On peut appeler ça un NAS dans le sens ou c’est un PC qui fait serveur de fichiers : les fichiers sont partagés sur le réseau.

Mais pour les fonctions plus poussées dont l’accès extérieur, j’ai opté pour une installation de NextCloud qui est un vrai Cloud.
Et en le faisant avec YunoHost (une distribution basée sur Debian mais orienté auto-hébergement), j’ai un véritable Cloud (éprouvé et réputé) accessible depuis le monde entier, avec fonction de partage par lien, …
(je ne l’ai pas fait sur un Rpi mais sur un Client léger de récup’ dans lequel j’ai collé un HDD de 500 Go)

Il existe aussi OpenMediaVault.
Je me suis récemment fait un NAS interne dans un vieux PC recyclé pour un usage privé (en simplifiant, je suis père de famille nombreuse) avec 1 dossier/membre de ladite famille + diffusion de la sonothèque par protocole DAAP

Bref, des solutions existent, mais disons qu’il est moins facile de se faire (soi même) une voiture qu’une trottinette, qui, cela dit, ne répondent pas aux mêmes besoins :wink:

Bonjour,

Je me permet de réactiver ce tutoriel car il ne recouvre pas exactement mes besoins.

J’ai, sur un PI 4, un HDD qui est bien monté dans le dossier /media/pi/NAS et partagé par Samba.
J’y ai bien accès à partir de mon Windows 10.
Mais il a 3 dossiers nommés Musique, Films et Séries
Or, quand je veux définir les bibliothèques dans le Plex, il ne voit pas ces 3 dossiers. Et même si je me contente de n’indiquer que /media/pi/NAS Il me dit que c’est vide.

Comment puis-je corriger cela ?
Merci d’avance !

Hello bonjour,

Est-ce que ext4 est plus rapide que NTFS-3g ? Car j’ai un débit de transfert très bas en samba alors qu’avec hdparm et iperf3 les débit sont très bon (300 lecture et écriture pour le disque ) et 900mbs pour le réseau. Je n’atteind que 30mbs. Des avis ? J’ai une raspberry pi 4 8gb ram avec carte sd sandisk ultra.