🔧 Mode Maintenance Apache
Système simple et élégant pour gérer le mode maintenance sur un serveur Apache2.
📋 Table des matières
- Aperçu
- Fonctionnalités
- Prérequis
- Installation
- Configuration
- Utilisation
- Personnalisation
- Dépannage
- Licence
🎯 Aperçu
Ce projet fournit une solution complète pour activer/désactiver un mode maintenance sur votre site web avec :
- Une page HTML moderne et responsive
- Deux scripts bash pour automatiser le basculement
- Un design attractif avec animations
✨ Fonctionnalités
- 🎨 Design moderne : Interface élégante avec gradient et effet glassmorphisme
- 📱 Responsive : S'adapte à tous les écrans (mobile, tablette, desktop)
- ⚡ Animations fluides : Effets visuels agréables
- 🔄 Scripts automatisés : Activation/désactivation en une commande
- ✅ Gestion d'erreurs : Vérification à chaque étape
- 🕐 Affichage horaire : Information claire sur la fin de maintenance
📦 Prérequis
- Serveur Linux (Ubuntu/Debian recommandé)
- Apache2 installé et configuré
- Droits sudo/root
- Site web configuré dans Apache
🚀 Installation
1. Cloner le repository
git clone https://git.tuxtech.fr/tuxgyver/mode_maintenance/mode_maintenance.git
cd mode_maintenance.
2. Copier la page de maintenance
# Créer le répertoire pour la page de maintenance
mkdir -p /var/www/maintenance
# Copier la page HTML
cp maintenance.html /var/www/maintenance/index.html
3. Installer les scripts
# Copier les scripts dans /usr/local/bin
cp enable_maintenance.sh /usr/local/bin/
cp disable_maintenance.sh /usr/local/bin/
# Rendre les scripts exécutables
chmod +x /usr/local/bin/enable_maintenance.sh
chmod +x /usr/local/bin/disable_maintenance.sh
⚙️ Configuration
Configuration Apache
Créez ou modifiez le fichier /etc/apache2/sites-available/000-default.conf :
<VirtualHost *:80>
ServerAdmin webmaster@localhost
DocumentRoot /var/www/maintenance
<Directory /var/www/maintenance>
Options -Indexes +FollowSymLinks
AllowOverride None
Require all granted
</Directory>
ErrorLog ${APACHE_LOG_DIR}/maintenance_error.log
CustomLog ${APACHE_LOG_DIR}/maintenance_access.log combined
</VirtualHost>
Modifier les scripts (optionnel)
Si votre site principal a un nom différent de nerosys.h3hitema.fr.conf, éditez les scripts :
nano /usr/local/bin/enable_maintenance.sh
nano /usr/local/bin/disable_maintenance.sh
Remplacez nerosys.h3hitema.fr.conf par le nom de votre fichier de configuration.
🎮 Utilisation
Activer le mode maintenance
sudo enable_maintenance.sh
Sortie attendue :
🔧 Activation du mode maintenance...
✓ Site nerosys.h3hitema.fr.conf désactivé
✓ Page de maintenance activée (000-default.conf)
✓ Apache rechargé avec succès
==========================================
Mode maintenance activé !
Fin prévue: 19h00
==========================================
Désactiver le mode maintenance
sudo disable_maintenance.sh
Sortie attendue :
🚀 Désactivation du mode maintenance...
✓ Site nerosys.h3hitema.fr.conf activé
✓ Page de maintenance désactivée (000-default.conf)
✓ Apache rechargé avec succès
==========================================
Site remis en ligne !
==========================================
🎨 Personnalisation
Modifier l'heure de fin
Éditez /var/www/maintenance/index.html :
<div class="time">19h00</div>
Changez 19h00 par l'heure souhaitée.
Personnaliser le design
Modifiez les couleurs dans le fichier CSS :
/* Gradient de fond */
background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
/* Changez les couleurs selon vos préférences */
background: linear-gradient(135deg, #FF6B6B 0%, #4ECDC4 100%);
Changer le message
Modifiez le texte dans la section HTML :
<p>Notre site est actuellement en maintenance...</p>
🐛 Dépannage
La page de maintenance ne s'affiche pas
# Vérifier que les sites sont correctement configurés
apache2ctl -S
# Vérifier les logs Apache
tail -f /var/log/apache2/error.log
Erreur "Site does not exist"
Vérifiez que vos fichiers de configuration existent :
ls -la /etc/apache2/sites-available/
Erreur de permissions
# Vérifier les permissions du répertoire
chown -R www-data:www-data /var/www/maintenance
chmod -R 755 /var/www/maintenance
Apache ne recharge pas
# Tester la configuration Apache
apache2ctl configtest
# Redémarrer Apache au lieu de recharger
systemctl restart apache2
📝 Structure du projet
apache-maintenance-mode/
├── README.md
├── maintenance.html # Page de maintenance
├── enable_maintenance.sh # Script d'activation
├── disable_maintenance.sh # Script de désactivation
└── screenshots/
└── preview.png
🤝 Contribution
Les contributions sont les bienvenues ! N'hésitez pas à :
- Fork le projet
- Créer une branche (
git checkout -b feature/amelioration) - Commit vos changements (
git commit -m 'Ajout d'une fonctionnalité') - Push vers la branche (
git push origin feature/amelioration) - Ouvrir une Pull Request
📄 Licence
Ce projet est sous licence MIT. Voir le fichier LICENSE pour plus de détails.
👨💻 Auteur
Votre Nom - @votre_handle
Lien du projet : [https://git.tuxtech.fr/tuxgyver/mode_maintenance/mode .git](https://git.tuxtech.fr/tuxgyver/mode_maintenance/mode .git)
🙏 Remerciements
- Inspiration design : Dribbble
- Icônes : Emojis Unicode
- Communauté Apache