52 lines
1.6 KiB
Bash
52 lines
1.6 KiB
Bash
#!/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
|