#!/bin/bash # Script pour ajouter le certificat SSL pour watermark.certificator.4nkweb.com # Usage: sudo ./add-watermark-certificate.sh set -e DOMAIN="watermark.certificator.4nkweb.com" NGINX_SITES_AVAILABLE="/etc/nginx/sites-available" NGINX_SITES_ENABLED="/etc/nginx/sites-enabled" echo "=== Ajout du certificat SSL pour ${DOMAIN} ===" echo "" # Vérifier les permissions if [ "$EUID" -ne 0 ]; then echo "⚠️ Ce script nécessite les permissions root" echo " Utilisez: sudo $0" exit 1 fi # Vérifier que Nginx est installé if ! command -v nginx &> /dev/null && [ ! -f /usr/sbin/nginx ] && [ ! -f /usr/bin/nginx ]; then echo "❌ Nginx n'est pas installé" exit 1 fi # Vérifier que Certbot est installé if ! command -v certbot &> /dev/null && [ ! -f /usr/bin/certbot ]; then echo "⚠️ Certbot n'est pas installé. Installation..." apt-get update apt-get install -y certbot python3-certbot-nginx fi # Vérifier que la configuration HTTP existe if [ ! -f "${NGINX_SITES_AVAILABLE}/${DOMAIN}" ]; then echo "❌ La configuration HTTP pour ${DOMAIN} n'existe pas" echo " Exécutez d'abord: sudo ./configure-nginx-proxy.sh" exit 1 fi # Vérifier que le site est activé if [ ! -L "${NGINX_SITES_ENABLED}/${DOMAIN}" ]; then echo "⚠️ Le site n'est pas activé. Activation..." ln -sf "${NGINX_SITES_AVAILABLE}/${DOMAIN}" "${NGINX_SITES_ENABLED}/${DOMAIN}" fi # Tester la configuration Nginx echo "🔍 Test de la configuration Nginx..." if nginx -t; then echo "✅ Configuration Nginx valide" else echo "❌ Erreur dans la configuration Nginx" exit 1 fi # Recharger Nginx pour s'assurer que la config HTTP est active echo "🔄 Rechargement de Nginx..." systemctl reload nginx || service nginx reload # Générer le certificat SSL echo "" echo "🔐 Génération du certificat SSL pour ${DOMAIN}..." echo " Certbot va automatiquement modifier la configuration pour ajouter HTTPS" echo "" if certbot --nginx -d "${DOMAIN}" --non-interactive --agree-tos --email admin@4nkweb.com --redirect; then echo "✅ Certificat SSL généré et configuration HTTPS créée pour ${DOMAIN}" else echo "❌ Erreur lors de la génération du certificat" echo "" echo "Vous pouvez essayer manuellement avec:" echo " sudo certbot --nginx -d ${DOMAIN}" exit 1 fi # Recharger Nginx final echo "" echo "🔄 Rechargement final de Nginx..." systemctl reload nginx || service nginx reload echo "" echo "✅ Certificat SSL ajouté avec succès !" echo "" echo "📋 Vérification:" echo " - Test HTTPS: curl -I https://${DOMAIN}/health" echo " - Vérifier le certificat: openssl s_client -connect ${DOMAIN}:443 -servername ${DOMAIN} < /dev/null 2>/dev/null | openssl x509 -noout -dates" echo "" echo "🔍 Logs:" echo " - Nginx: tail -f /var/log/nginx/${DOMAIN}.error.log" echo " - Certbot: tail -f /var/log/letsencrypt/letsencrypt.log" echo ""