GERBELOTBARILLON.COM

Parce qu'il faut toujours un commencement...

Recyclage d'un laptop

Recyclage d'un laptop


Nous avons tous du vieux matériel qui traîne quelque part sur nos étagères et celui-ci mérite mieux que de finir au fond d'une poubelle ou broyé à la déchetterie. Je vous propose de vous en servir comme support pour la version serveur d'Ubuntu et d'explorer rapidement le monde de Docker et de MariaDB avec...

Téléchargez le kit d'installation serveur au format ISO depuis le site officiel (oui toujours utiliser les liens officiels messieurs/dames geeks et geekettes) : https://ubuntu.com/download/server et choisissez l'option 2 pour récupérer la version LTS du serveur. Utilisez ensuite un outil du genre Rufus pour générer une clé USB bootable et ainsi pouvoir passer à la deuxième étape à savoir la mise en place sur votre vieil ordinateur. Le principe de ralisation d'une clé est relativement simple à savoir que Rufus va déjà sélectionner pour vous un support amovible (si vous n'avez pas oublié d'en insérer un dans votre port USB), et ensuite choisissez (avec le bouton SELECTION) l'ISO que vous venez de télécharger. Par défaut le système de fichiers doit être FAT32 et laissez le format de sortie DD pour que votre clé soit exclusivement dédiée au support d'installation de Ubuntu (sinon ISO peut fonctionner mais coince parfois selon les BIOS). La capture est celle correspondant à ma configuration qui ne devrait pas être trop différente de la vôtre au final. Pour le choix du format final, cela se passe APRES avoir cliqué sur le bouton DEMARRER. . Le format est à considérer selon ce que vous souhaitez faire de votre support USB : le partager avec d'autres applications ou totalement le dédier comme support d'installation de Ubuntu. Personnellement je suis parti sur une installation au format DD sur ma clé USB.

Maintenant que c'est prêt, démarrez votre laptop avec la clé USB insérée dans un des ports de votre machine et faites en sorte que le lecteur de démarrage soit votre clé USB. Affichez le menu de démarrage du BIOS (si l'option s'affiche) sinon jetez-vous sur les touches ECHAP, SUPPR, F1, F2, F8, F10, F12 jusqu'à ce que vous puissiez accéder au BIOS de votre ordinateur. Attendez-vous à recommencer un certain nombre de fois avant d'y parvenir... Cela fait, sélectionnez l'option relative au menu de Boot et passez votre lecteur USB en tant que lecteur prioritaire. Enregistrez, redémarrez et vous pouvez commencer la mise en place de Ubuntu version serveur sur votre (vieux) matériel.

L'installation est relativement simple et vous demandera :

Quand l'installation est terminée et que le serveur a redémarré, connectez-vous avec les identifiants définis dans les étapes précédentes et commencez par mettre à jour l'environnement par

$ sudo apt update
$ sudo apt upgrade
Récupérez ensuite l'adresse IP qui vous a été attribuée par le DHCP de votre réseau (box, routeur, autre serveur, ...) par la commande
$ ip addr
. Maintenant utilisez n'importe lequel des outils disponibles permettant la connexion SSH pour accéder à votre ordinateur à distance : soit putty, soit la commande ssh native de Linux ou de Windows (maintenant depuis W10), ou autre. Renseignez votre nom d'utilisateur et votre mot de passe et voilà ! Une connexion à distance sur votre ancien vieux ordinateur qui va devenir votre support de technologies modernes...

Soyons honnêtes, un serveur qui n'a pas d'IP fixe ne sert pas à grand chose donc réglez ce problème en éditant le fichier de configuration au format YAML qui se situe dans le dossier /etc/netplan. Il devrait y avoir autant de fichiers *.yml que de types de cartes réseau disponibles. Si vous utilisez votre machine avec une connexion WiFi, le fichier sera 00-installer-config-wifi.yml. Editez-le avec vim ou nano pour que cela ressemble à :

network:
    version: 2
    wifis:
        wlp2s0:
            access-points:
                VOTRE-SSID-WIFI:
                    password: VOTRE-MOT-DE-PASSE-WIFI
            dhcp4: false
            addresses: [ADRESSE-IP-FIXE-SOUHAITEE/24]
            nameservers:
                addresses: [ADRESSE-IP-ROUTEUR-BOX]
                addresses: [8.8.8.8, 9.9.9.9]
            routes:
                - to: default
                  via: ADRESSE-IP-ROUTEUR-BOX
            
Dans ce fichier, remplacez les mots en majuscule par vos éléments de configuration et redémarrez le service réseau par
$ sudo netplan apply
ou bien par
$ sudo netplan --debug apply
pour entrer en debug mode si jamais la configuration réseau ne fonctionne pas correctement chez vous.

Vous pouvez vérifier votre configuration par

$ sudo ip addr
$ sudo ip route

Maintenant, si votre vielle machine est un portable, vous souhaitez certainement que la fermeture du capot ne mette pas l'odinateur en veille ou à l'arrêt. Pour configurer ce comportement, éditez le fichier /etc/systemd/logind.conf et changez les deux lignes suivantes :

$ sudo nano /etc/systemd/logind.conf

HandleLidSwitch=lock
LidSwitchIgnoreInhibited=no
En faisant un petit
$ man logind.conf
vous obtenez l'affichage du manuel du service logind, géré par systemd. Dans ce manuel, il est indiqué que les options commençant par Handle*= sont en charge de la gestion d'énergie de l'équipement. Ainsi, basculer HandleLidSwitch à la valeur "lock" fait en sorte que les applications soient verrouillées sur l'écran. Et pour LidSwitchIgnoreInhibited, cela reprend la main sur la gestion de systemd de l'énergie.

Pour simplifier les accès, et comme l'être humain est plus à l'aise avec les lettres qu'avec les chiffres, il est recommandé d'ajouter une entrée dans le fichier /etc/hosts de votre machine.

ADRESSE-IP-DE-VOTRE-SERVEUR   mon-serveur.local
Spécifiez l'adresse IP du serveur que vous venez de paramétrer et spécifiez un nom. Il est recommandé d'ajouter le suffixe .local au nom de la machine pour bien spécifier que la machine est locale au réseau (mais vous faites comme vous voulez hein ?)

Installation de Docker


L'objectif étant de mettre en place Docker, nous y allons... Pour rappel, Docker est un système permettant d'exécuter des environnements applicatifs isolés qui, à la différence des machines virtuelles, reposent sur l'infrastructure sous-jacente. Un container Docker Linux exécutera des environnements Linux. Idem pour Windows qui n'exécutera que des environnements containers de type Windows. L'avantage de Docker est l'efficacité et la rapidité des exécutions, alors que les machines virtuelles sont moins rapides mais peuvent s'exécuter sur n'importe lequel des hyperviseurs. Vous avez la souplesse des machines virtuelles avec la rapidité d'exécution du système sous-jacent.

Pour installer docker, faites

$ sudo apt install docker.io
Une fois l'installation réalisée, confirmez par
$ sudo systemctl status docker
Vous devriez avoir l'information comme quoi le service est actif.

Installation de Maria DB


Pour faire simple, nous allons installer MariaDB, version communautaire :

$ sudo docker run --detach --name mariadb --restart unless-stopped --env MARIADB_ROOT_PASSWORD='password' --publish '3306:3306/tcp' --expose '3306' mariadb:latest
Cela exécute le container Docker MariaDB avec le nom mariadb, exposant le port 3306 interne sur le port 3306/tcp externe. Nous avons paramétré le container pour qu'il redémarre automatiquement en cas de problème ou de reboot serveur, à moins que nous ne stoppions volontairement le container par
$ sudo docker sontainer stop mariadb
. Pour savoir si le container est actif :
$ sudo docker container ls
Copiez l'adresse IPv4 du container obtenu de la sortie de la commande
$ sudo docker network inspect bridge
Connectez-vous au serveur MariaDB par
$ mariadb -h 172.17.0.2 -u root -p
Vous pouve maintenant clore la session ssh par
$ exit
Depuis la machine de développement, connectez-vous à votre serveur MariaDB par
$ mariadb -h IP-DU-SERVEUR -u root -p