FARMSERV

Le gestionnaire de serveur dédié et mutualisé associatif
pour l'auto-hébergement

Outils pour utilisateurs

Outils du site


farmserv:rpi

RASPBERRY PI

Depuis Farmserv 5.0, il est possible d'installer farmserv sur un serveur lowtech de type Raspberry Pi 3 B+ (minimum, en dessous ce n'est pas la peine). Dans le cas d'un auto-hébergement familial, c'est tout simplement l'idéal :

  • il consomme très peu d'énergie (3A)
  • il est fiable
  • il ne prend pas de place
  • il ne fait pas de bruit (pas de ventilateur)
  • il peut être couplé à un disque dur externe (fortement conseillé !)

Transformer un Raspberry Pi en serveur, c'est générer beaucoup d'accès disque. Par défaut, il n'y a pas de disque dur sur un Raspberry Pi, mais une carte MicroSD qui n'est absolument pas faite pour ce genre d’utilisation, même si vous y mettez le prix. Donc oubliez cette option, il va falloir ajouter un disque dur externe à votre RPI. Vu le prix d'un disque dur externe de 1To, cela serait vraiment dommage de s'en priver. Il vous faudra donc pour l'installation une carte MicroSD (4Go minimum) sur laquelle il faudra dans un premier temps installer Raspbian Stretch Lite, et dans un deuxième temps transférer son contenu sur le disque dur externe avant de procéder à l'installation.

Pour le moment, il n'y a pas d'image ISO de farmserv prête à être flashée sur la carte MicroSD, mais j'y pense sérieusement (c'est le prochain gros chantier !). Voici la procédure rapide pour préparer votre Raspberry Pi à recevoir farmserv :

Préparation du Raspberry pi :

  1. Télécharger Raspbian Stretch Lite à cette adresse : https://www.raspberrypi.org/downloads/raspbian/.
  2. Dézipper l'archive.
  3. Déployez l'image ISO (avec Etcher par exemple ou avec une autre méthode) sur votre carte MicroSD.
  4. Démarrez votre RPI.
  5. Assurez-vous que le RPI dispose d'une adresse IP fixe ou d'un baux DHCP permanent (à régler sur votre routeur/box). De préférence utilisez la connexion filaire et non wifi, cela sera bien plus performant.
  6. Modifier les paramètres nécessaires avec l'outil raspi-config (nom du serveur, type de clavier, support français…)
  7. Ajouter un autre compte administrateur et supprimer le compte pi (pour des raisons de sécurité) de la façon suivante :
  8. ssh pi@adresse_ip_du_rpi ← On se connecte au RPI en SSH
  9. sudo su ← On se met root
  10. useradd -m -d /home/nouveau_compte/ -s /bin/bash nouveau_compte ← On créé un nouveau compte
  11. passwd nouveau_compte ← On créé le mot de passe de ce nouveau compte. Attention !!! Il faut un mot de passe robuste de 12 caractères minimum, comprenant une majuscule et un chiffre minimum.
  12. usermod -G sudo nouveau_compte ← On définit le compte comme administrateur
  13. exit ← On quitte la session root du compte pi.
  14. su nouveau_compte ← On teste en se connectant avec le nouveau compte
  15. sudo su ← On teste si le nouveau compte est bien admin
  16. reboot ← On redémarre le RPI
  17. ssh nouveau_compte@adresse_ip_du_rpi ← On se connecte au RPI en SSH avec le nouveau compte
  18. sudo su ← On se met root
  19. userdel -r pi ← On suprime le compte pi qui ne sert plus à rien
  20. Branchez le disque dur externe afin de le préparer :
  21. fdisk /dev/sda et tapez d puis w ← On supprime la partition existante (qui est en général du FAT32)
  22. fdisk /dev/sda et tapez n puis 3 fois enter puis y puis w ← On créé une nouvelle partition
  23. mke2fs -t ext4 -L rootfs /dev/sda1 ← On formate en ext4 la nouvelle partition
  24. mount /dev/sda1 /mnt ← On monte la nouvelle partition dans /mnt
  25. rsync -avx / /mnt ← On copie l'intégralité de root (/) de la carte MicroSD sur la nouvelle partition sda1 qui est montée dans /mnt
  26. nano /boot/cmdline.txt ← On modifie le fichier cmdline.txt pour qu'au prochain redémarrage on démarre bien sur le disque dur externe. Il faut modifier la partie qui ressemble a root=PARTUUID=f1a73901-02 en root=/dev/sda1 (notez quelque part ce bout de code que vous allez changer en cas de problème !)
  27. nano /boot/config.txt ← On modifie le fichier config.txt pour ajouter à la fin du fichier program_usb_timeout=1, cela permet au système quand il démarre d'attendre que le disque dur externe soit bien disponible.
  28. Redémarrez et voila, votre RPI est prêt à recevoir farmserv.

Il ne faut surtout pas retirer la carte MicroSD ! C'est elle qui contient la partition de boot. En cas de problème, il est possible de redémarrer sur la carte MicroSD en modifiant le fichier /boot/cmdline.txt et en remplaçant la valeur initiale (qui ressemble à root=PARTUUID=f1a73901-02) que vous avez dû noter !

Les performances du RPI vont dépendre de l'utilisation que vous allez en faire. Beaucoup de services sont installés et la capacité mémoire du PI est de seulement 1Go. Une fois démarré après installation de farmserv, il ne lui reste plus beaucoup de mémoire disponible. Il peut-être alors judicieux de désactiver des services que vous n'utiliserez pas (proxy, vpn…). NextCloud est très gourmand (surtout si l'on active beaucoup d’applications) et peut facilement faire figer le système !

farmserv/rpi.txt · Dernière modification: 2019/04/14 22:13 par gwen