Files
notes-techniques/scripts/server-httpd/add_domain.sh
2025-03-23 21:29:09 +01:00

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