#!/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 (alerte non bloquante)
if ! check_dns "$DOMAIN"; then
    echo "⚠️  Attention : Résolution DNS impossible pour $DOMAIN. Vérifie si c'est bien ce que tu veux."
fi

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"

# Préparer le dossier du VirtualHost
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" <<EOF
<VirtualHost *:80>
    ServerName $DOMAIN
    DocumentRoot /var/www/$REVERSED_DOMAIN
    ErrorLog \${APACHE_LOG_DIR}/$REVERSED_DOMAIN-error.log
    CustomLog \${APACHE_LOG_DIR}/$REVERSED_DOMAIN-access.log combined

    <Directory /var/www/$REVERSED_DOMAIN>
        Options +Indexes
        AllowOverride All
        Require all granted
    </Directory>

</VirtualHost>
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
