Mettre en place un serveur d'établissement pour héberger des projets numériques innovants : guide pratique
L'objectif de cet article n'est pas de présenter une démarche pédagogique ou de commenter l'actualité numérique. Il vise plutôt à expliquer comment se procurer et administrer un serveur dédié ou un VPS (un VPS étant globalement un serveur dédié dont les ressources matérielles sont partagées entre plusieurs utilisateurs) pour un établissement scolaire.
Pourquoi un serveur dédié ?
De nombreux logiciels libres permettent de déployer des services utiles et pertinents pour l'enseignement. L'intelligence artificielle, une bibliothèque numérique en complément des ressources du CDI, ou une plateforme de podcasts ne sont que quelques exemples d'outils performants et gratuits qui peuvent soutenir des projets pédagogiques ambitieux.
Dans la plupart des cas, ces services nécessitent un serveur dédié, dont le coût est souvent inférieur à une dizaine d'euros par mois. De plus, cette solution garantit à l'établissement une totale autonomie dans la gestion de ses projets, sans dépendance vis-à-vis d'acteurs externes. Cet article s'intéresse à la mise en place d'un tel serveur, qui servira ensuite d'hébergement pour des logiciels libres, eux-mêmes détaillés dans des articles spécifiques.
Il est important de noter que la gestion d'un serveur requiert des compétences techniques minimales pour assurer sa maintenance et éviter les problèmes techniques. Ce guide offre simplement un aperçu rapide des éléments à considérer pour encourager et inspirer la mise en place de ce projet, sans aborder en détail la dimension technique.
Première étape : Choisir et gérer son nom de domaine
Le nom de domaine est essentiel : il s'agit de l'adresse que les élèves et les enseignants utiliseront pour accéder aux différents services hébergés sur le serveur, que ce soit en classe ou à distance. Il est donc crucial de choisir une adresse facile à retenir et à communiquer. Voici les étapes à suivre :
-
Choisir un registrar : Un registrar est une entreprise qui loue et gère les noms de domaine. Nous recommandons OVH Cloud, un acteur français fiable et reconnu. Par ailleurs, privilégiez un nom de domaine en
.frpour bénéficier du support et de la sécurité de l'AFNIC (Association Française pour le Nommage Internet en Coopération). -
Sélectionner un nom de domaine : Choisissez un nom facile à retenir et pertinent pour votre établissement (exemple :
lyceesimoneveil.fr). -
Coût estimé : Le prix d'un nom de domaine en
.frest d'environ 10 euros par an.
Configuration DNS : Diriger le nom de domaine vers votre serveur (nécessite d'avoir un serveur actif)
Une fois le nom de domaine en votre possession, vous devrez configurer les enregistrements DNS dans l'interface de gestion de votre registrar (par exemple, dans le manager d'OVH). Ces enregistrements indiquent où diriger les requêtes qui arrivent sur votre nom de domaine.
-
Nom de domaine racine (ex :
lyceesimoneveil.fr) :- Enregistrement A : Créez un enregistrement A qui pointe votre nom de domaine racine vers l'adresse IPv4 de votre serveur.
- Enregistrement AAAA : Créez un enregistrement AAAA qui pointe votre nom de domaine racine vers l'adresse IPv6 de votre serveur.
-
Sous-domaine (ex :
podcasts.lyceesimoneveil.fr) :- Enregistrement CNAME : Créez un enregistrement CNAME qui pointe votre sous-domaine vers votre nom de domaine racine (ex :
lyceesimoneveil.fr). Cela permet d'utiliser un sous-domaine spécifique pour un service en particulier sans avoir à gérer une adresse IP distincte (ex :podcasts.lyceesimoneveil.fr). - Vous pouvez configurer un grand nombre de sous-domaines, en fonction du nombre de services que vous hébergez (ex:
ia.lyceesimoneveil.fr,bibliotheque.lyceesimoneveil.fr,podcasts.lyceesimoneveil.fr, etc.)
- Enregistrement CNAME : Créez un enregistrement CNAME qui pointe votre sous-domaine vers votre nom de domaine racine (ex :
Exemple de configuration fonctionnelle :

Seconde étape : Préparer votre serveur dédié
1. Choisir la puissance du serveur et l'hébergeur
La puissance nécessaire de votre serveur dépendra du nombre d'utilisateurs et de projets que vous comptez y héberger. Pour démarrer simplement, un Virtual Private Server (VPS) est une excellente option.
OVHcloud propose des offres VPS intéressantes pour débuter : https://www.ovhcloud.com/fr/vps/
L'avantage de choisir OVHcloud comme hébergeur et registrar (pour votre nom de domaine) est de centraliser la gestion de vos services en un seul endroit.
Conseil : Privilégiez un emplacement de serveur en France pour une meilleure réactivité et conformité avec les réglementations européennes.
2. Installation du système d'exploitation
Une fois votre VPS choisi, lancez l'installation et sélectionnez Ubuntu Server comme système d'exploitation. Optez pour la version LTS (Long Term Support) la plus récente, qui bénéficie de mises à jour de sécurité et de stabilité sur une longue période. Au moment de la rédaction, la version 24.04 est la plus récente.

3. Sécurisation du serveur
Après l'installation, la sécurité doit être améliorée. Voici les étapes essentielles :
- Sécuriser SSH : Modifiez la configuration SSH pour renforcer la sécurité. Voici un exemple de configuration recommandée, qui atteint un score de 100% sur https://www.sshaudit.com/ :
PasswordAuthentication no
MACs hmac-sha2-256-etm@openssh.com,hmac-sha2-512-etm@openssh.com
KexAlgorithms curve25519-sha256@libssh.org
PubkeyAcceptedAlgorithms ssh-ed25519
HostKeyAlgorithms ssh-ed25519
ciphers aes256-ctr,aes256-gcm@openssh.com

Attention : Cette configuration désactive l'authentification par mot de passe. Pensez à générer des clés privées et publiques qui correspondent au bon protocole et à ajouter la clé publique dans le fichier /home/ubuntu/.ssh/authorized_keys
- Configurer le firewall (UFW) : Autorisez uniquement les connexions SSH à votre serveur et limitez les tentatives de connexion pour prévenir les attaques par force brute :
ufw enable && ufw limit 22/tcp comment 'SSH'
4. Installation des outils essentiels
-
Docker : Installez Docker, qui servira de base à la plupart des logiciels que vous installerez par la suite. Suivez les instructions détaillées sur la page officielle : https://docs.docker.com/engine/install/ubuntu/#install-using-the-repository
-
Caddy : Installez et configurez Caddy, un reverse proxy puissant et facile à utiliser. Caddy gère les requêtes web, redirige le trafic vers les bons conteneurs Docker et automatise la création et le renouvellement des certificats SSL.
Exemple de configuration Caddy :
ia.lyceevallot.net { reverse_proxy localhost:3028 }
5. Ouvrir le firewall pour le trafic web
Autorisez le trafic web (HTTP et HTTPS) dans votre firewall :
ufw allow 80,443/tcp comment 'Caddy_HTTP2' && ufw allow 443/udp comment 'Caddy_HTTP3'
Cette configuration prend en charge IPv4, IPv6 et active le protocole HTTP/3 pour une meilleure performance.
6. Mettre en place une politique de mises à jour régulières
Mettez à jour régulièrement le serveur grâce aux commandes suivantes :
- Système d'exploitation :
sudo apt update && sudo apt upgrade - Conteneurs Docker :
docker compose stop && docker compose pull && docker compose up -d(commandes à exécuter dans chaque répertoire contenant un fichierdocker-compose.yml).
7. Votre serveur est prêt !
Votre serveur est maintenant prêt à accueillir les services web de votre établissement.
8. Exemple d'intégration d'un service
Pour vous aider à démarrer, voici un exemple d'intégration d'un service avec Castopod (plateforme d'hébergement de podcasts) : https://docs.castopod.org/main/fr/getting-started/docker/