#!/bin/bash # Basé sur un travail de Cédric Abonnel / Cédrix sous licence CC BY-NC 4.0 DOMAIN="$1" # Importer les fonctions communes source "$(dirname "$0")/../common/common_utils.sh" # Vérifier si le script est exécuté en root check_root # Vérification DNS check_dns "$DOMAIN" REVERSED_DOMAIN=$(echo "$DOMAIN" | awk -F. '{for(i=NF; i>0; i--) printf "%s%s", $i, (i>1 ? "." : "")}') VHOST_CONF="/etc/apache2/sites-available/$REVERSED_DOMAIN.conf" # Créer les dossiers nécessaires mkdir -p "$BACKUP_DIR" "$TEMPLATE_DIR" "$CHALLENGE_DIR" chown -R www-data:www-data "$CHALLENGE_DIR" mkdir -p "/var/www/$REVERSED_DOMAIN" chown -R www-data:www-data "/var/www/$REVERSED_DOMAIN" chmod -R 755 "/var/www/$REVERSED_DOMAIN" # Vérifier si le VirtualHost HTTP existe déjà if [[ ! -f "$VHOST_CONF" ]]; then echo "=== Création du fichier VirtualHost HTTP pour $DOMAIN ===" cat > "$VHOST_CONF" < ServerName $DOMAIN DocumentRoot /var/www/$REVERSED_DOMAIN ErrorLog \${APACHE_LOG_DIR}/$REVERSED_DOMAIN-error.log CustomLog \${APACHE_LOG_DIR}/$REVERSED_DOMAIN-access.log combined Options +Indexes AllowOverride All Require all granted EOF # Activer le VirtualHost et recharger Apache a2ensite "$REVERSED_DOMAIN" systemctl reload apache2 else echo "✅ VirtualHost HTTP déjà configuré pour $DOMAIN." fi echo "✅ Virtual Host configuré pour $DOMAIN avec succès !" exit 0