Installation d’un serveur maison

Puisque la chaleur de l’été ne se décide pas à descendre, j’ai profité du weekend pour installer mon premier serveur maison ! J’en profite par la même occasion pour nourrir ma passion de la documentation en écrivant ce journal pour raconter les détails de cette nouvelle installation.

Contexte

Il y a quelques mois, j’avais tenté l’expérience de faire tourner un serveur chez moi à l’aide d’une Raspberry Pi 5. Malheuresement, celle-ci plantait toutes les nuits, cause de problèmes de lecture/écriture sur la carte SD. J’ai alors supposé qu’une carte de ce type ne parvenait pas à faire tourner les services que je souhaitais (un WordPress, un Overleaf ainsi qu’un Flarum) et elle a fini débrancher avec une note “À refaire avec du meilleur matériel”.

En parlant de matériel, à cause de mon statut (reconnu) d’informaticien, je récupère régulièrement des vielles machines devenues obsolètes pour leurs propriétaires. Ces vielles machines trainent ensuite dans un coin de la maison avec l’idée qu’un jour, j’en ferais quelque chose.

Avec ces informations, vous qui lisez ces lignes pourriez avoir une idée évidente :

Pourquoi ne pas utiliser ces vielles machines pour soulager ta Raspberry Pi et faire tourner les services que tu souhaites ?

Je vous répondrai alors :

Excellente réflexion! J’aurais pu avoir l’idée, mais il aura fallu qu’un ami me souffle cette proposition à l’oreille pour que je m’en rende compte.

Préparation du matériel

La Raspberry Pi

Malgré son débranchement prématuré, je voulais quand même utiliser ma Rapberry Pi 5 comme proxy inversé (reverse-proxy) pour me permettre dans un futur (lointain) de configurer plusieurs machines derrière une seule porte d’accès.

La préparation de cette machine a été très classique en remettant un RaspbianOS (distribution dérivée de Debian, spécialisée pour les Raspberry Pi) sur une nouvelle carte SD.

Le serveur

J’ai porté mon choix, par hasard, sur un vieux Acer Aspire A315-54k abandonné (non sans mal) par une amie proche. Cette machine possède les caractéristiques suivantes :

  • Un CPU Intel i3-7020U
  • 8Go de RAM
  • Un SSD de 128Go (dont nous allons reparler)
  • Un HDD de 1To
  • Un Windows 10

Pour préparer la transition de cette machine depuis sa fonction d’ordinateur de bureau vers sa fonction de serveur, j’ai :

  1. Retirer la batterie pour éviter qu’elle ne chauffe inutilement. Pour cette étape, j’ai refait appel à la personne qui m’a permis de lancer ce projet pour qu’elle me file un coup de main, car je ne suis pas très doué avec le matériel (hardware). Sur ses conseils, la batterie est maintenant posée sur une étagère, chargée entre 50 et 60 % (pour la préserver sur le long terme).

  2. Changer le système d’exploitation pour Debian. La configuration de ce nouveau système ne sort pas de l’ordinaire (hormis une attention particulière pour chiffrer les données des disques). En revanche, j’ai buté sur un problème relativement sympathique : lors de l’installation, impossible de trouver le SSD de la machine pour installer Debian. Après un peu de recherche, je me suis rendu compte qu’il fallait changer le mode du SSD de RAID vers AHCI dans le BIOS afin de le rendre visible pour l’installeur de Debian. Mais comme un problème ne vient jamais seul, impossible de trouver l’option dans le BIOS de la machine. Après une nouvelle recherche, la réponse est apparue : le raccourci <CTRL + S> permet de révéler certaines options cachées dans le BIOS des machines ACER, dont celle pour changer le mode du SSD. Une fois le changement effectué (et ma patience légèrement entachée) l’installation s’est finie sans accroc.

Configuration du matériel

J’ai commencé mes configurations sur ma box internet en attribuant une adresse IP privée fixe pour la Raspberry Pi et le serveur. J’ai également ouvert le port 80 (HTTP), 443 (HTTPS) et 22 (SSH) pour laisser les requêtes arriver jusqu’à ma Raspberry Pi.

Ensuite, concernant la Raspberry Pi, j’ai installé Nginx (serveur web) et Certbot (gestionnaire de certificats SSL) afin de faire tourner un serveur Web sécurisé à l’aide de certificats Let’s Encrypt.

Pour le serveur, j’ai commencé par ajouter une ligne au fichier /etc/fstab pour monter automatiquement le HDD de la machine en ext4. J’ai ensuite installé Nginx et Docker (en prévision de mon installation Overleaf).

Enfin, j’ai acheté le nom de domaine standouda.fr et j’ai lié des enregistrements DNS AAA (IPv4) et AAAA (IPv6), vers l’adresse IP de ma Raspberry Pi. Cette configuration possède néanmoins deux problèmes à la fin :

  1. Je ne possède pas vraiment d’adresse IP publique fixe pour ma Raspeberry Pi, ainsi, je suis condamné à changer d’adresse au gré des Fournisseurs d’Accès Internet (FAI).

  2. Bien que j’ai une idée de la raison, mon serveur n’est pas accessible en IPv6. Dès que j’ai la force de reprendre ma pelle, je retournerais creuser pour résoudre ce problème.

Et voilà ! Avec ces étapes rudimentaires, j’ai un serveur qui tourne à la maison !

Mes services

Maintenant que mon serveur est prêt, quels sont les projets qui tournent dessus en ce moment ?

  • blog.standouda.fr : Une instance de Hugo, un générateur de blog statique, sur lequel vous êtes en ce moment (coucou) !
  • tex.standouda.fr : Une instance d’Overleaf, un éditeur LatEx en ligne collaboratif que j’utilise (quasi) tous les jours. Pour l’instant, il est un peu cassé, mais je décrirais mon installation dans un prochain post !
  • standouda.fr : le site (statique) de ma micro-entreprise actuellement en construction en attendant une inspiration graphique !

Et pour le futur ?

  • doc.standouda.fr : J’aime la documentation, alors je lui réserve une place spéciale ;) Ce projet sera probablement là pour décrire le fonctionnement en détails de mon infrastructure maison.

  • mail.standouda.fr : un serveur de mail, en premier lieu pour que mon serveur puisse m’envoyer un mail, puisque je puisse l’utiliser pour ma micro-entreprise !

Ces différentes installations feront peut-être l’objet d’une description un jour venu !

Et pour finir

Vous arrivez doucement à la fin de cette première entrevue textuelle. Maintenant que ce blog tourne, j’espère que nous nous reverrons. De mon côté, je continuerai mes projets et j’espère pouvoir les décrire dans ce petit coin d’internet !

Au plaisir,

Romb38 - Standouda