Administrer un serveur Linux impose souvent de jongler entre la ligne de commande, les fichiers de configuration, les services systemd et plusieurs outils spécialisés. Cette approche reste indispensable pour les opérations les plus avancées, mais elle peut devenir répétitive et fastidieuse pour la supervision quotidienne et les interventions courantes.
AegisAdmin est né de ce constat : proposer une interface d’administration légère, claire et spécialisée pour les serveurs Debian et Ubuntu, sans devenir une « grosse machine » difficile à installer ou à maintenir.
Une alternative moderne et légère
AegisAdmin permet de retrouver depuis une interface web les principales informations nécessaires à l’administration d’un serveur :
- état général de la machine ;
- utilisation du processeur, de la mémoire et du stockage ;
- durée de fonctionnement ;
- processus et services systemd ;
- interfaces réseau ;
- journaux système autorisés ;
- configuration Apache et sites hébergés ;
- versions de PHP-FPM ;
- supervision MySQL ou MariaDB ;
- certificats TLS avec Certbot ;
- règles du pare-feu UFW ;
- prisons et adresses bannies par Fail2ban ;
- configuration de Tor ;
- tâches Cron ;
- mises à jour système et firmwares ;
- dépendances Composer des sites hébergés.
L’objectif n’est pas de masquer Linux, mais de rendre ses fonctions d’administration les plus courantes plus rapides à consulter et plus simples à utiliser.
Une architecture autonome en Go
AegisAdmin s’appuie principalement sur Go.
L’application dispose de son propre serveur web HTTPS et ne dépend donc pas d’Apache ou de PHP pour fonctionner. Ce choix est particulièrement important pour un outil d’administration : AegisAdmin reste accessible même lorsqu’Apache ou PHP-FPM est arrêté, mal configuré ou doit justement être réparé.
L’architecture sépare deux composants :
- un serveur web exécuté avec des privilèges réduits ;
- un backend système privilégié chargé uniquement des opérations d’administration autorisées.
Ces deux composants communiquent par un socket Unix privé. L’interface web ne lance pas directement des commandes arbitraires avec les droits root.
AegisAdmin peut fonctionner directement sur un port HTTPS dédié, comme `8443`. Il peut également être publié derrière un nom de domaine ou un sous-domaine lorsque l’administrateur préfère utiliser un proxy inverse Apache.
Une installation par paquet Debian
AegisAdmin est distribué sous la forme d’un véritable paquet Debian. Il n’est pas nécessaire d’installer Go, Composer ou un environnement de développement sur le serveur cible.
L’installation prend notamment en charge :
- les binaires compilés ;
- les comptes et groupes système ;
- les services systemd ;
- les répertoires persistants ;
- les permissions ;
- la base de données SQLite ;
- le certificat HTTPS local ;
- la configuration initiale.
Une fois le dépôt APT configuré, les mises à jour d’AegisAdmin suivent le processus habituel de Debian et Ubuntu.
Cette approche permet également de tester précisément ce que vivra l’utilisateur final, aussi bien lors d’une première installation que lors d’une mise à niveau.
Des droits définis module par module
AegisAdmin propose plusieurs niveaux de droits pour chaque module actif :
- aucun droit : le module n’apparaît pas dans le menu ;
- consultation : les informations sont visibles sans action d’administration ;
- actions : les commandes d’exploitation courantes deviennent disponibles ;
- modification : les opérations modifiant durablement la configuration sont autorisées.
Ces droits sont cumulatifs. Le compte root d’AegisAdmin conserve toujours l’ensemble des permissions.
Les comptes peuvent également être protégés par une double authentification compatible avec Google Authenticator et les autres applications utilisant le standard TOTP. Son utilisation peut être facultative ou rendue obligatoire par l’administrateur.
Des mises à jour suivies en temps réel
Le module Mises à jour permet de consulter les paquets disponibles, les mises à jour de sécurité et certains firmwares.
L’installation est exécutée par un service indépendant. Sa progression apparaît dans une fenêtre inspirée d’un terminal et reste disponible même lorsqu’une mise à jour redémarre les composants d’AegisAdmin.
Lorsqu’un redémarrage complet du serveur est nécessaire, AegisAdmin peut afficher un écran d’attente, détecter la coupure puis tenter automatiquement de se reconnecter jusqu’au retour de la machine.
La surveillance Composer complète ce dispositif. AegisAdmin recherche les projets présents dans les racines web autorisées, regroupe les domaines partageant le même `DocumentRoot` et signale les dépendances obsolètes, vulnérables ou abandonnées.
Une empreinte de la configuration du serveur
Le module « Config. serveur » constitue progressivement une véritable empreinte technique de la machine.
Un snapshot peut réunir différentes informations concernant le système, les paquets, les services, le réseau, Apache, PHP, MySQL, le pare-feu, Fail2ban, Certbot, Cron ou encore Tor.
Les snapshots sont vérifiés par une empreinte SHA-256. Ils peuvent être nommés, exportés, importés puis comparés avec ceux d’un autre serveur.
Cette fonction prépare un objectif plus large : faciliter l’analyse des différences entre deux machines et, à terme, produire un plan de migration ou de remise en conformité.
Une interface personnalisable et bilingue
AegisAdmin est disponible en français et en anglais.
Une langue par défaut est choisie pour l’installation et l’écran de connexion. Chaque utilisateur peut ensuite enregistrer sa préférence dans son profil.
Plusieurs présentations sont proposées, dont des thèmes sombre, clair et plus coloré. Le choix est associé au compte afin d’être retrouvé lors des connexions suivantes.
L’interface reste volontairement compacte et adaptée aux écrans de bureau comme aux appareils mobiles.
Un projet ouvert encore en validation
AegisAdmin est un logiciel libre distribué sous licence GNU Affero General Public License version 3.
Le projet est actuellement proposé sous la forme d’une version candidate 0.2.x. Ses principales fonctions sont opérationnelles, mais les essais se poursuivent sur différentes configurations Debian et Ubuntu avant la publication d’une première version stable.
À ce stade, il est recommandé de l’évaluer sur une machine de test ou sur un serveur facilement restaurable, tout en conservant un accès SSH ou console indépendant.
AegisAdmin a été initié, orienté et testé par François Milhiet. Sa conception, sa programmation et sa documentation ont été réalisées au fil d’un travail collaboratif avec ChatGPT d’OpenAI, les choix fonctionnels et les validations restant conduits par l’initiateur du projet.
En savoir plus
Présentation du projet et documentation :
Code source et versions publiées :
https://github.com/crainios/AegisAdmin
Dépôt de paquets :
https://packages.aegisadmin.fr/
AegisAdmin s’adresse aux administrateurs, développeurs et responsables de sites qui souhaitent conserver la maîtrise de leur serveur Linux tout en gagnant du temps sur les opérations quotidiennes.