Mise en place d’un serveur web Apache sécurisé avec gestion avancée des sous-domaines

Dans ce projet, j’ai conçu et configuré manuellement un environnement de serveur web complet basé sur Apache, MySQL et phpMyAdmin, sans utiliser de scripts automatisés ni de panneaux de contrôle comme cPanel. L’objectif principal était de démontrer ma capacité à déployer un stack web sécurisé et optimisé, tout en assurant la maintenabilité et la clarté de la structure système.

Architecture et hiérarchie personnalisée

Chaque sous-domaine est isolé dans un dossier dédié situé dans /var/www, avec une structure bien définie :

  • /public pour les fichiers accessibles depuis le web
  • /log pour les journaux Apache propres à chaque sous-domaine

Cette hiérarchie permet une organisation claire, facilite la maintenance et l’analyse des erreurs, et rend le serveur évolutif à mesure que de nouveaux sous-domaines sont ajoutés.

Gestion des sous-domaines

J’ai mis en place une convention stricte de configuration basée sur des fichiers Apache distincts pour chaque sous-domaine, nommés avec des incréments de 100 (ex. 100-phpmyadmin.conf, 200-app.conf, etc.). Cette approche permet de garder un ordre logique dans les fichiers sites-available, tout en facilitant l’activation et la désactivation rapide des sites grâce à a2ensite/a2dissite.

Installation manuelle des services

Chaque composant du serveur (Apache, MySQL, phpMyAdmin) a été installé et configuré manuellement, en tenant compte des bonnes pratiques de sécurité et d’optimisation. Notamment, j’ai :

  • Renforcé l’installation MySQL avec mysql_secure_installation
  • Défini un mode d’authentification root adapté pour éviter les erreurs courantes
  • Configuré phpMyAdmin sur un sous-domaine spécifique, isolé et protégé

Sécurisation du serveur

La sécurité du serveur est assurée grâce à plusieurs couches :

  • Utilisation d’UFW (Uncomplicated Firewall) pour limiter le trafic aux ports essentiels (HTTP, SSH)
  • Mise en place de Fail2Ban pour bloquer les tentatives de connexions malveillantes
  • Ajout de fichiers .htaccess et .htpasswd pour protéger l’accès à certains sous-domaines sensibles comme phpMyAdmin

Résultat

Le serveur est désormais entièrement fonctionnel, sécurisé, structuré et prêt à accueillir divers projets web. Chaque sous-domaine bénéficie de sa propre configuration et d’un suivi de logs indépendant. Ce projet met en valeur ma capacité à :

  • Configurer un environnement de production Linux de A à Z
  • Gérer les aspects réseau et sécurité d’un serveur
  • Documenter et structurer un projet système de manière professionnelle

Pourquoi ce projet est important

Il démontre ma maîtrise des outils essentiels à l’hébergement web professionnel, sans dépendance à des outils tiers. Il reflète aussi mon attention aux détails, ma rigueur dans la sécurité, et ma capacité à construire des bases solides pour des projets web évolutifs et maintenables.

Leave a Reply

Your email address will not be published. Required fields are marked *