KERHOST

Solution d'auto-hébergement simple est libre !

Outils pour utilisateurs

Outils du site


kerhost:rpi

UTILISER UN RASPBERRY PI 4


Il est possible d'installer KerHost sur un serveur lowtech de type Raspberry Pi 4 2Go (en dessous ce n'est pas la peine et un 4Go est fortement recommandé). Dans le cas d'un auto-hébergement familial (petite structure), 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é !)
  • vous avez un total contrôle de ce dernier

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 rapidement cette option pour une utilisation de type production, 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 de 16Go minimum (oui oui, juste pour l'installation !) sur laquelle il faudra dans un premier temps installer Raspi OS 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 KerHost 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 KerHost (niveau avancé, savoir manier la ligne de commande !) :

Préparation du Raspberry pi :

  1. Télécharger Raspi OS Lite 32bit à cette adresse ou Raspi OS Lite 64bit à cette adresse. Si vous souhaitez tirer le meilleur de la puissance de votre Raspberry Pi, il est alors fortement conseillé de choisir la version 64bit (qui est hélas, pour ne moment, très peut mise en avant par la fondation raspbian mais qui existe belle est bien !).
  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 bail 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 du PI avec l'outil raspi-config (nom du serveur, type de clavier, support français, et surtout très important le nom de votre raspberry !)
  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 KerHost.

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 dépend de votre version (2/4/8Go). Une fois démarré après installation de KerHost, il ne lui restera plus beaucoup de mémoire disponible pour une version 2Go. 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 ralentir le serveur !

kerhost/rpi.txt · Dernière modification: 2022/03/18 10:18 (modification externe)