251 lines
5.8 KiB
Markdown
251 lines
5.8 KiB
Markdown
# 🔧 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](#aperçu)
|
|
- [Fonctionnalités](#fonctionnalités)
|
|
- [Prérequis](#prérequis)
|
|
- [Installation](#installation)
|
|
- [Configuration](#configuration)
|
|
- [Utilisation](#utilisation)
|
|
- [Personnalisation](#personnalisation)
|
|
- [Dépannage](#dépannage)
|
|
- [Licence](#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
|
|
|
|
```bash
|
|
git clone https://git.tuxtech.fr/tuxgyver/mode_maintenance.git
|
|
cd mode_maintenance.
|
|
```
|
|
|
|
### 2. Copier la page de maintenance
|
|
|
|
```bash
|
|
# 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
|
|
|
|
```bash
|
|
# 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` :
|
|
|
|
```apache
|
|
<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 :
|
|
|
|
```bash
|
|
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
|
|
|
|
```bash
|
|
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
|
|
|
|
```bash
|
|
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` :
|
|
|
|
```html
|
|
<div class="time">19h00</div>
|
|
```
|
|
|
|
Changez `19h00` par l'heure souhaitée.
|
|
|
|
### Personnaliser le design
|
|
|
|
Modifiez les couleurs dans le fichier CSS :
|
|
|
|
```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 :
|
|
|
|
```html
|
|
<p>Notre site est actuellement en maintenance...</p>
|
|
```
|
|
|
|
## 🐛 Dépannage
|
|
|
|
### La page de maintenance ne s'affiche pas
|
|
|
|
```bash
|
|
# 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 :
|
|
|
|
```bash
|
|
ls -la /etc/apache2/sites-available/
|
|
```
|
|
|
|
### Erreur de permissions
|
|
|
|
```bash
|
|
# 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
|
|
|
|
```bash
|
|
# 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 à :
|
|
|
|
1. Fork le projet
|
|
2. Créer une branche (`git checkout -b feature/amelioration`)
|
|
3. Commit vos changements (`git commit -m 'Ajout d'une fonctionnalité'`)
|
|
4. Push vers la branche (`git push origin feature/amelioration`)
|
|
5. Ouvrir une Pull Request
|
|
|
|
## 📄 Licence
|
|
|
|
Ce projet est sous licence MIT. Voir le fichier `LICENSE` pour plus de détails.
|
|
|
|
## 👨💻 Auteur
|
|
|
|
tuxgyver -
|
|
|
|
Lien du projet : [https://git.tuxtech.fr/tuxgyver/mode_maintenance.git](https://git.tuxtech.fr/tuxgyver/mode_maintenance.git)
|
|
|
|
## 🙏 Remerciements
|
|
|
|
- Inspiration design : [Dribbble](https://dribbble.com)
|
|
- Icônes : Emojis Unicode
|
|
- Communauté Apache
|