Objectifs
Mettre en place et administrer son propre serveur
Étape 1 : Hello serveur
À la fin de cette première journée, nous voulons une bonne base de serveur :
À jour et avec quelques utilitaires (mtr, nano, htop, tmux)
Avec un compte autre que root
Avec des accès SSH sécurisés
Accessible depuis internet avec un nom de domaine
Pour vérifier que tout va bien, nous allons faire deux pages HTML simples.
Récupérer les informations suivantes sur son serveur :
Le nom de votre utilisateur
La distribution utilisée
La version de noyau Linux utilisée
La taille de la mémoire RAM
La taille du disque dur
Mettre en page ces informations dans un fichier HTML infos.html accessible depuis internet.
Écrire une seconde page projet.html qui décrit succinctement les objectifs de Run selon vous
Étape 2 : Hello web
Reprendre le fichier projet.html d'hier et faire en sorte de récupérer dynamiquement
les informations du serveur à l'aide de PHP dans un fichier infos.php :
Le nom de l'utilisateur actuel
La distribution utilisée
La version de noyau Linux utilisée
La taille de la mémoire RAM disponible et totale
La taille de stockage disponible et totale
Créer dans deux autres sous-site :
Une liste des 10 commandes Linux les plus importantes
Vos 10 conseils à ceux qui souhaitent s'auto-héberger
Les données des deux sous-sites seront stockées dans une base de donnée PostgreSQL.
Étape 3 : Hello Docker
Ajouter un ou plusieurs service conteneurisé sur son serveur : Ngnix, DokuWiki, (Nextcloud, mais c'est un peu lourd)...
Étape 4 : Docker ++
Déployer les sites web de l'étape 2 sous forme de containers :
Proxy
Site projet : web et php
Site commandes : web, php et postgres
Site conseils : web, php et postgres
Le tout sera lancé avec un seul docker compose et utilisera si besoin des images custom.
On prendra soin d'écrire une courte documentation (README.md) sur le fonctionnement de votre solution (comment build, comment lancer, comment éditer une conf, etc) avec un lien vers votre site de « démo ».
Finalement, on mettra tout cela en forme dans un repository Git sur le Gitlab UTC et on publiera l'URL sur l'équipe Mattermost pour que tout le monde puisse jouer avec.