Installation d’un serveur de fichiers sur Raspberry Pi (NAS)


Avez-vous un jour rêvé d’avoir un NAS familial avec vos sauvegardes et vos films ? Mais vous n’avez pas forcément le budget pour le réaliser ?
Le Raspberry Pi vous permet de le faire à moindre coût, et je vais vous donner tous les détails dans cet article.

Pour utiliser un Raspberry Pi comme serveur de fichiers, il est nécessaire d’installer et de configurer le service « Samba ».
Les fichiers du Raspberry Pi peuvent ainsi être partagés sur le réseau local.

Nous allons voir en détail une installation typique, c’est-à-dire comment installer Samba sur Raspberry Pi OS puis comment le configurer.
Ensuite nous verrons comment activer DLNA pour rendre votre Raspberry Pi accessible depuis votre téléviseur.
Je vais également vous donner quelques conseils pour améliorer cette installation.

Vous pouvez utiliser n’importe quel stockage pour essayer ce tutoriel, mais si vous souhaitez vraiment construire un NAS fiable avec un Raspberry Pi, je vous recommande de vous procurer ce type d’extension sur Amazon pour y connecter plusieurs disques SATA, et ainsi sécuriser vos données.

Pourquoi utiliser un Raspberry Pi comme serveur de fichiers ?

L’intérêt d’un serveur de fichiers

Un serveur de fichiers est utilisé pour stocker et partager des fichiers sur le réseau local.
Ce serveur vous permet, par exemple, de créer des sauvegardes automatiques de votre ordinateur et de les stocker dessus.

Vous pouvez également y stocker les fichiers qui occupent de l’espace sur votre ordinateur, mais qui ne sont pas critiques :
– films
– logiciels
– fichiers ISO
– etc.

Les avantages du Raspberry Pi

Un serveur NAS standard coûte plus de 300 $ pour l’entrée de gamme, fait du bruit et consomme une certaine quantité d’électricité.

Un Raspberry Pi coûte moins de 50 $ et ne gaspillera presque pas d’énergie.
Vous devrez éventuellement ajouter le prix d’un disque dur si vous avez besoin de beaucoup d’espace de stockage, mais cela reste raisonnable et optionnel.
Branchez un disque dur USB de 2 To dessus et vous êtes prêt (par exemple celui-ci sur Amazon, le meilleur rapport qualité/prix).

Cela vous permet d’avoir un petit serveur de stockage et de sauvegarde à moindre coût tout en apprenant comment tout ça fonctionne.

Ajouter de l’espace disque à votre Raspberry Pi

Si vous suivez ce guide uniquement à des fins de test, vous n’avez pas nécessairement besoin de lire ce paragraphe.
Il concerne les personnes qui n’ont pas assez d’espace sur leur carte SD et qui souhaitent l’augmenter.

Une carte SD plus grande

La première possibilité est d’utiliser une carte SD de plus grande capacité.

Vous avez certainement une carte SD de 8 ou 16 Go pour le moment, malheureusement c’est un peu limité pour faire du stockage.
Mais il existe des cartes SD qui vont jusqu’à 1 To et pour un prix raisonnable (celle-ci par exemple).
Il peut être intéressant d’acheter une carte SD de plus grande capacité avant de suivre ce tutoriel.

SanDisk propose à l’heure actuelle des cartes SD allant jusqu’à 1 To de capacité !

N’hésitez pas à consulter ma page de ressources si vous souhaitez savoir quelle carte SD je vous recommande.

Si vous choisissez cette option, il n’y a rien d’autre à faire techniquement que de remplacer la carte SD, et poursuivre cet article.

Un disque dur USB

Une autre possibilité est de connecter un disque dur externe en USB à votre Raspberry Pi.

Dans le format 2.5″, vous devriez pouvoir trouver des disques jusqu’à au moins 2 To, ce qui commence à être une belle configuration pour le partage de fichiers (j’utilise celui-ci par exemple).
Cela vous donne également l’avantage de pouvoir emporter vos fichiers avec vous sans emporter votre Raspberry Pi.
Et ainsi de profiter du contenu sur n’importe quel ordinateur.

La plupart du temps, votre disque dur sera reconnu et monté directement par Raspberry Pi OS.
Un point de montage sera créé dans /media/pi/NOM.
Où NOM est le nom de votre disque dur.

Si vous rencontrez des problèmes, je vous recommande de formater votre disque dans un format de fichier Linux (EXT4 par exemple) et de réessayer.
Les commandes fdisk et mount peuvent également vous servir dans les pires situations.

Un disque dur SATA ?

Si vous voulez quelque chose de professionnel, vous pouvez ajouter une carte d’extension pour connecter des disques durs SATA à votre Raspberry Pi.
Cette carte d’extension vous permettra de vous rapprocher d’un NAS classique avec des disques durs rapides et mieux intégrés ainsi que la possibilité de gérer la sécurité par la redondance grâce à un RAID logiciel.

Cette intégration est un projet à part entière, je vous laisse faire vos recherches et revenir ici une fois que vos disques seront fonctionnels 🙂

Installer le système d’exploitation Raspberry Pi OS

Nous avons donc rempli nos prérequis :
– une carte SD
– éventuellement un stockage supplémentaire

Passons donc à l’installation du système d’exploitation Raspberry Pi OS qui sera la base de notre serveur de fichiers.

Télécharger Raspberry Pi OS

Tout d’abord, vous devrez télécharger la dernière version de Raspberry Pi OS sur le site officiel.

Si votre objectif est uniquement de créer un serveur de fichiers, la version allégée suffit et vous économiserez ainsi de l’espace disque, du processeur et la RAM.
Quoi qu’il en soit, nous ferons tout le reste de ce tutoriel en lignes de commande avec SSH, donc cela ne changera rien.

Téléchargez l’image et continuez.

Flasher Raspberry Pi OS  sur une carte SD

Je vous recommande d’utiliser Etcher.
Si vous ne l’avez pas encore fait, téléchargez-le sur le site officiel et installez-le.
C’est un outil qui vous permet de flasher facilement une carte SD sous Linux, Mac ou Windows.

  • Démarrer Etcher
  • Sélectionnez l’emplacement de l’image de Raspberry Pi OS
  • Choisissez votre carte SD
  • Cliquez sur Flash

Une fois la carte SD prête, insérez-la dans votre Raspberry Pi.

Premier démarrage

L’installation est automatique, vous devez allumer votre Raspberry Pi et Raspberry Pi OS démarrera.

Si vous choisissez le bureau Pi Desktop, un assistant de bienvenue apparaîtra :

  • Choisissez vos préférences linguistiques
  • Changer le mot de passe par défaut
  • Connectez-vous au Wi-Fi si nécessaire
  • Accepter les mises à jour du système
  • Redémarrez le Raspberry Pi

Si tout a bien fonctionné, passez à la suite.
Sinon, il faudra au moins réussir à se connecter au réseau et à changer le mot de passe (le paragraphe suivant peut vous aider).

Si vous avez la version Lite, vous devez faire la même chose dans raspi-config.
J’explique tout ici si vous avez besoin d’aide.

Activer SSH

SSH est un protocole de connexion à distance sécurisé, qui vous permet de lancer des commandes à partir d’un autre ordinateur présent sur le réseau.

Par défaut, le service ne démarre pas automatiquement sur Raspberry Pi.
Nous allons donc activer SSH et nous y connecter avant de continuer.

Pour activer SSH, ouvrez un terminal et tapez cette commande :
sudo service ssh start 

Une fois SSH installé, connectez-vous dessus (ssh pi@IP).
Si cette étape n’est pas une formalité pour vous, jetez un œil à cet article qui vous guidera pas-à-pas.

Installation du serveur de fichiers

Maintenant que Raspberry Pi OS est prêt, passons au but principal de ce tutoriel: créer un partage de fichiers.

Organisation du système de fichiers

En fonction de ce que vous avez initialement choisi comme type de stockage, les chemins changeront un peu plus tard.
Je vais donc supposer que notre espace de stockage disponible est dans /media/share.
Remplacez ce chemin par le dossier que vous avez créé pour le partage.

Si vous avez choisi de stocker vos fichiers directement sur la carte SD, créez un nouveau dossier à l’emplacement de votre choix (/media/share par exemple) :
sudo mkdir /media/share

Dans d’autres cas, vous devez créer un point de montage dans /media/pi/share ou similaire.
Lisez cet article pour plus d’informations sur la façon de monter des lecteurs USB sur un Raspberry Pi.

Installer Samba

Commencez par vérifier les mises à jour :
sudo apt-get update
sudo apt-get upgrade

Ensuite, installez samba :
sudo apt-get install samba

Une fois samba installé, vous devriez pouvoir accéder au Raspberry Pi avec l’explorateur de fichiers:

  • Windows : \\X.X.X.X
  • Linux/Mac : smb://X.X.X.X

Remplacez X.X.X.X par l’adresse IP du Raspberry Pi.

Mais pour l’instant, vous ne verrez pas de dossier partagé et vous ne pouvez pas créer de fichiers non plus.
Voyons comment résoudre ce problème.

Configurer Samba pour un partage invité

Samba est maintenant installé, passons à la configuration.
La configuration dépendra de ce que vous voulez faire, mais je vais vous expliquer comment créer un partage de base :

  • Donnez toutes les autorisations au dossier
    sudo chmod 777 /media/share
  • Modifiez le fichier /etc/samba/smb.conf
    sudo nano /etc/samba/smb.conf
  • Ajoutez ces lignes à la fin du fichier
    [SharePi]
    comment = RaspberryPi
    public = yes
    writeable = yes
    browser = yes
    path = /media/share
    create mask = 0777
    directory mask = 0777
  • Enregistrer et quitter (CTRL+X)
  • Redémarrez Samba pour appliquer les modifications :
    sudo service smbd restart

Tester l’accès

Nous avons maintenant un dossier partagé accessible à tous sans authentification.
Pour vérifier que cela fonctionne, connectez-vous au lecteur réseau :

  • Windows : ouvrez l’explorateur de fichiers (Win+E) et saisissez l’adresse suivante :
    \\X.X.X.X\SharePi
  • Linux/Mac : ouvrez l’explorateur de fichiers et saisissez l’adresse suivante :
    smb://X.X.X.X/SharePi

Assurez-vous que le dossier s’ouvre et que vous pouvez créer des fichiers ou des dossiers, puis les supprimer sans problèmes d’autorisations.
Si tout fonctionne, vous pouvez passer à la suite.

Autorisations

Pour l’instant, notre dossier partagé est accessible à tous, et sans mot de passe.
Si vous ne voulez pas que votre petite sœur supprime vos sauvegardes, vous devrez interdire l’accès aux invités.

Configuration

Pour demander un mot de passe lors de la connexion, modifiez le paramètre « public » dans /etc/samba/smb.conf :

[SharePi]
comment = RaspberryPi
public = no
writeable = yes
browsable = yes
path = /media/share
create mask = 0777
directory mask = 0777

Vous devez également indiquer à samba que l’utilisateur « pi » est autorisé à se connecter aux partages :
sudo smbpasswd -a pi

Puis redémarrez Samba :
sudo service smbd restart

Si vous essayez de vous connecter à nouveau, une fenêtre d’authentification doit s’ouvrir.
Si ce n’est pas le cas, vérifiez que vous n’êtes pas déjà connecté en mode invité (vous devez d’abord vous déconnecter, cela dépend de votre OS, redémarrez votre ordinateur si vous ne trouvez pas l’option).
Sur Ubuntu, je dois cliquer sur le bouton « Eject » devant le lecteur monté dans l’explorateur de fichiers.

Ajouter un autre utilisateur

Si vous le souhaitez, vous pouvez ajouter d’autres utilisateurs avec des mots de passe différents :

  • Créer un nouvel utilisateur :
    sudo adduser votrenom
  • Autorisez l’accès à Samba :
    sudo smbpasswd -a votrenom

Vous pouvez maintenant vous connecter avec n’importe lequel des utilisateurs autorisés.

Mais rappelez-vous que nous donnons les droits à tout le monde sur le dossier /media/share, et donc que tous les utilisateurs que vous créez ont les mêmes autorisations.

Par exemple, si vous voulez que seul l’utilisateur « pi » ait accès au partage SharePi, vous devez effectuer les modifications suivantes :
chown pi /media/share -R
chmod 700 /media/share -R

Vous pouvez ensuite créer plusieurs partages et modifier les autorisations des utilisateurs pour chacun.

Transformez le Raspberry Pi en un serveur multimédia

Maintenant que nous avons un emplacement de stockage sur le réseau, pourquoi ne pas l’utiliser pour gérer vos téléchargements et le rendre accessible depuis votre téléviseur ?

Serveur Torrent

Vous connaissez probablement le protocole Torrent, qui est un protocole de téléchargement bien connu.
Nous allons voir comment installer un serveur torrent sur notre Raspberry Pi pour automatiser les téléchargements.

Créez un nouveau dossier pour les torrents à télécharger :
sudo mkdir /media/share/torrents
sudo chmod 777 /media/share/torrents

Rtorrent

  • Commencez par installer rtorrent et screen :
    sudo apt-get install rtorrent screen
  • Créez ensuite votre fichier de configuration :
    nano ~/.rtorrent.rc
  • Collez cette ligne :
    directory = /media/share/torrents
    Vous pouvez également ajouter toutes les options qui vous intéressent. Vous trouverez une liste ici
  • Démarrez rtorrent :
    screen -s /bin/bash rtorrent
  • Quittez l’écran sans fermer rtorrent avec CTRL+A et CTRL+D
  • Revenez à l’écran avec :
    screen -r

Screen vous permet de laisser tourner rtorrent même lorsque vous vous déconnectez.

L’interface web

Nous allons maintenant ajouter l’interface Flood qui vous permettra de gérer le tout depuis un ordinateur distant.

  • Tout d’abord, vous devez installer npm :
    sudo apt-get install npm
  • Ensuite, ajoutez nod-gyp :
    sudo npm install -g node-gyp
  • Maintenant, clonez le référentiel git de l’interface web flood comme ceci :
    cd /opt
    sudo git clone https://github.com/jfurrow/flood.git
  • Et exécutez ces commandes pour l’installer et le démarrer :
    cd /opt/flood
    sudo npm install --unsafe-perm
    sudo npm run build
    sudo npm start

Cette étape prendra un certain temps, prenez un café.

Une fois l’installation terminée et l’application démarrée, vous pouvez accéder à l’interface web à l’adresse http://X.X.X.X:3000

Si vous avez besoin d’informations supplémentaires sur les options de configuration, vous pouvez consulter la page GitHub du projet.

DLNA

DLNA est une technologie qui vous permet de lire un flux vidéo sur un appareil à partir d’un fichier stocké sur un autre.
Par exemple, vous pouvez lire un film stocké sur votre Raspberry Pi à partir de votre smart TV ou d’une PS4.

Le paquet qui rend cette magie possible sur Debian s’appelle minidlna.
Nous allons l’installer et le configurer pour diffuser le contenu de notre dossier partagé :

  • Installez le paquet :
    sudo apt-get install minidlna
  • Editez le fichier de configuration :
    sudo nano /etc/minidlna.conf
  • Définissez le dossier partagé dans la ligne qui commence par media_dir=
    media_dir=A,/media/share
    Vous pouvez définir un sous-dossier, par exemple /media/share/movies si vous le souhaitez
  • Démarrez le service :
    sudo service minidlna start

MiniDLNA analysera ensuite votre dossier et rendra le contenu disponible à partir de tous vos appareils compatibles avec la technologie DLNA.

Améliorez votre serveur de fichiers

Distribution NAS

Si vous ne souhaitez pas gérer tout ça avec des commandes et des fichiers de configuration compliqués, il existe des solutions qui peuvent vous intéresser.
En effet, il existe des distributions dédiées à la gestion d’un serveur de fichiers, qui permettent de tout configurer via une interface web.

C’est le cas d’OpenMediaVault qui est disponible pour Raspberry Pi.
Vous trouverez les images à télécharger sur SourceForge .
Edit : Il n’est plus disponible sur Sourceforge, cependant vous pouvez toujours l’installer sur Raspberry Pi OS en suivant ce guide . Je ferai probablement bientôt un article à ce sujet.

Une fois flashé sur une carte SD, vous disposerez d’une interface vous permettant de gérer vos partages, vos utilisateurs, etc …

RAID et sauvegardes

Nous avons parlé de l’utilisation de ce serveur de fichiers comme emplacement de sauvegarde au début de cet article.
Evitez de l’utiliser comme serveur de stockage principal.
Copier toutes vos photos des dix dernières années sans les stocker ailleurs n’est pas une bonne idée.

Que vous ayez choisi l’option carte SD ou disque dur USB, ce ne sont pas des méthodes de stockage fiables.
Si une panne matérielle arrive soudainement, la plupart du temps vous perdez tout le contenu.

Si vous voulez en faire votre serveur de stockage principal, vous ne devez pas oublier la sécurité.
Il est possible d’installer plusieurs disques en RAID miroir (réplication des données) sur Raspberry Pi, soit en USB, soit avec une carte SATA additionnelle.

Mais le plus simple reste surement d’avoir des sauvegardes de ces fichiers ailleurs.
On peut imaginer une deuxième carte SD sur laquelle est copié régulièrement le contenu de la première. Ou un deuxième Raspberry Pi qui servira de sauvegarde.

Conclusion

J’espère que cet article vous aidera à configurer votre propre serveur de fichiers.

Pour résumer, il est simple de créer un partage de fichiers accessible à tous sur un Raspberry Pi.
Cependant, il est recommandé de passer un peu plus de temps à configurer et parcourir les options pour arriver avec succès à l’idée que vous aviez en tête.

Dans tous les cas, vous avez ici une bonne base d’informations pour créer un serveur de partage, un serveur torrent ou un serveur multimédia.

Restez connectés!

Tenez vous informés des dernières nouveautés en vous inscrivant ici. Pas de panique, il s'agit seulement d'un mail par mois histoire de rester à jour :)

Patrick Fromaget

Je suis l'auteur principal et le créateur de RaspberryTips. Mon but est de vous aider sur tous vos problèmes qui concernent Raspberry Pi en publiant des guides détaillés et des tutoriels rapides. Dans la vraie vie, je suis administrateur système (Linux principalement) avec une solide expérience dans le développement web.

Recent Posts