[RaspBerry Pi] Faire un serveur de téléchargement économe en énergie

installation-de-base-raspberry-pi

Laisser son PC branché la nuit pour récupérer des données, ce n'est pas très écolo. Pourquoi ne pas mettre à profit un RaspBerry Pi (j'ai le 3 Model B) pour faire cela, sans écran, avec juste ce qu'il faut en puissance de calcul et RAM ? Dans ce tutoriel nous allons:

  • Configurer le Raspberry Pi pour y faire tourner une interface graphique de gestion des téléchargements, accessible à distance.
  • Partager le dossier de téléchargement des données pour les récupérer depuis les ordinateurs en réseau

1) Prérequis

  • Avoir installé Raspbian sur le Raspberry pi (tuto en anglais)
  • Pouvoir s'y connecter en SSH ou via VNCViewer (option à cocher au premier boot du Pi) sauf si vous avez un écran, clavier et souris pour travailler en direct sur le Raspberry Pi

2) Installer PyLoad, un petit soft de gestion des téléchargements en Python

On met à jours les dépots :

>sudo apt-get update

On installe les dépendances de PyLoad

sudo apt-get install python-support python-crypto python-pycurl tesseract-ocr tesseract-ocr-eng python-imaging -y

On télécharge PyLoad (changer la version par la plus récente en allant voir sur le site de Pyload)

wget --no-check-certificate https://github.com/pyload/pyload/releases/download/v0.4.9/pyload-cli_0.4.9_all.deb

On l'installe :

sudo dpkg -i pyload*

On peut supprimer les fichiers d'installation :

rm pyload*.deb

On installe les paquet OpenSSL et leurs dépendances, Rhino pour le Javascript et les sites en Clic and Load :

sudo apt-get install python-pip python-dev -y
sudo pip install pyopenssl
sudo apt-get install rhino -y

On lance PyLoad et on le configure :

pyLoadCore -s

Voici les paramètres que j'ai utilisés :

Choose your language : fr Continuer la configuration ? ([o]/n): o Modifier le dossier de configuration ? (o/[n]): n Mettre en place la configuration de base ? ([o]/n): o Nom d'utilisateur [User]: pyload Mot de passe : ton mot de passe Enable remote access ([o]/n): o Langage ([en], de, fr, it, es, nl, sv, ru, pl, cs, sr, pt_BR): fr Dossier de téléchargement [Downloads]: /home/pi/Download/ Téléchargements parallèle maximum [3]: 3 Utiliser reconnexion ? (o/[n]): n Paramétrer ssl ? (o/[n]): n Souhaitez vous configurer l'interface web ? ([o]/n): o Activer l'interface web ? ([o]/n): o Adresse [0.0.0.0]: Port [8000]: Serveur ([builtin], threaded, fastcgi, lightweight): Configuration définie avec succès. Appuyez sur entrée et redémarrer pyLoad...

Si vous avez besoin de relancer PyLoad faites :

sudo service pyload restart

On modifie les paramètres pour que PyLoad se lance au démarrage du Raspberry Pi :

sudo update-rc.d pyload defaults

Pour le désinstaller faites :

sudo dpkg -r pyload-cli

Pour lancer l'interface graphique, rendez vous dans votre navigateur web sur le RaspberryPi ou sur une machine distante si vous avez activé cette possibiltié lors de la config de PyLoad. Pour se faire rentrer localhost:8000 dans la barre d'adresse et se connecter avec les ID/mdp choisis.

RaspberryPi-PyLoad-Installer (2)

3) Monter un disque dur externe sur le RaspberryPi au démarrage

Télécharger sur la carte SD du RaspberryPi va vite devenir limitant (et cher pour les grosses capacités) et abime précocément la carte SD. On privilégie un disque dur externe autoalimenté, avec une bonne alim sur le Raspberry ça passe largement. On a préalablement formaté dans le format de votre choix. J'ai pour ma part pris NTFS pour gérer les gros fichiers et le monter sous WIndows une fois mes téléchargements terminés.

Linux ne le gérant pas en natif, on installe le paquet NTFS-3g :

apt-get install ntfs-3g

Dans la console on va chercher le UUID du disque externe,

blkid

Ca nous donne par exemple : /dev/sda1: LABEL="NICOLAS" UUID="0A3430A934309A21" TYPE="ntfs" PARTUUID="994501bc-01"

Ici le UUID est 0A3430A934309A21, on le copie pour s'en servir juste après. On va éditer le fichier gérant le montage des disques au démarrage pour s'assurer que le DD Externe ait toujours le même chemin de montage.

On ouvre le fichier fstab avec l'éditeur de texte Nano :

sudo nano /etc/fstab

Montage-Disque-dur-externe-au-demarrage-raspberrypi

et on ajoute la ligne suivante (tabulation entre chaque bloc de texte, texte en bleu à remplacer par votre UUID de disque dur) :

UUID="0A3430A934309A21" /media/Disque1  ntfs    defaults,nofail 0       2

On sauvegarde et on redémarre le RaspberryPi. Au prochain boot aller vérifier dans /media que le disque dur est bien monté dans le dossier Disque1 (vous pouvez le renommer d'ailleurs)

4) Enregistrer les téléchargements sur le disque dur externe

On relance une console pour modifier les paramètres de PyLoad (ou direct dans les options si vous utilisez l'interface web) :

pyLoadCore -s

On revalide les mêmes paramètres que lors de la première config sauf :

Dossier de téléchargement [Downloads]: /media/Disque1/DL

5) Partager le contenu du disque externe sur Samba pour récupérer ses téléchargements depuis d'autres postes

On lance l'installation de Samba :

sudo apt-get install samba samba-common-bin

On ajoute un utilisateur "guest" :

sudo adduser guest --home=/home/public --shell=/bin/false --disabled-password

On change les droits de la zone de partage correspondant à notre disque dur externe :

chown -R guest:guest /media/Disque1

On va sauvegarder le fichier config de Samba au cas où, puisque nous allons le modifier :

sudo cp /etc/samba/smb.conf /etc/samba/smb.conf.save

Aller dans /etc/samba et éditer le fichier smb.conf en y rajoutant à la fin (tout à la fin):

[Partage]
comment = Partage Samba sur Raspberry Pi
path = /home/pi/partage
writable = yes
guest ok = yes
guest only = yes
create mode = 0777
directory mode = 0777
share modes = yes

Sauvegarder et remplacer le fichier smb.conf dans etc/samba.

Redémarrer Samba :

sudo systemctl restart smbd.service

Dans Windows, on peut maintenant aller dans le réseau et trouver notre disque partagé, le mapper pour avoir un raccourci dans Poste de Travail :

Montage dd externe Samba Raspberry pi

[Sources : HTPC Guides (en), PiHomeServer (fr), Framboise314 (fr)]

La lecture continue :

Partagez cet article si il vous a été utile :

Twitter Facebook Google Plus Linkedin

Tags: ,

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *