← Retour
#!/bin/bash
# ===========================================
# Active une configuration Nginx
# Usage: ./enable.sh <config.conf>
# ===========================================
set -e
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
source "$SCRIPT_DIR/../lib/config.sh"
source "$SCRIPT_DIR/../lib/colors.sh"
source "$SCRIPT_DIR/../lib/utils.sh"
if [ -z "$1" ]; then
echo "Usage: $0 <config.conf>"
echo ""
echo "Configurations disponibles:"
nginx_exec "ls /etc/nginx/sites-available/*.conf 2>/dev/null | xargs -n1 basename" | while read -r f; do
echo " - $f"
done
exit 1
fi
CONFIG="$1"
print_header "Activation: $CONFIG"
# Vérifier la connexion SSH
if ! check_nginx_ssh; then
exit 1
fi
# Vérifier que la config existe
if ! nginx_exec "[ -f /etc/nginx/sites-available/$CONFIG ]" 2>/dev/null; then
log_error "Configuration non trouvée: /etc/nginx/sites-available/$CONFIG"
exit 1
fi
# Vérifier si déjà activée
if nginx_exec "[ -L /etc/nginx/sites-enabled/$CONFIG ]" 2>/dev/null; then
log_warn "Configuration déjà activée"
exit 0
fi
# Créer le symlink
log_step "Création du symlink..."
nginx_exec "ln -sf /etc/nginx/sites-available/$CONFIG /etc/nginx/sites-enabled/$CONFIG"
# Tester la configuration
log_step "Test de la configuration..."
if nginx_sudo "/usr/sbin/nginx -t" 2>&1; then
log_step "Rechargement de Nginx..."
nginx_sudo "/usr/bin/systemctl reload nginx"
log_success "Configuration $CONFIG activée"
else
log_error "Configuration invalide, rollback..."
nginx_exec "rm /etc/nginx/sites-enabled/$CONFIG"
exit 1
fi