File: /home/florin/ssl_all_sites.sh
#!/bin/bash
# Script sigur pentru a adăuga www și a genera SSL Let's Encrypt
APACHE_DIR="/etc/apache2/sites-available"
BACKUP_DIR="/etc/apache2/sites-available/backup_$(date +%Y%m%d_%H%M%S)"
mkdir -p "$BACKUP_DIR"
echo "📦 Fac backup la toate fișierele VirtualHost în $BACKUP_DIR..."
for site in "$APACHE_DIR"/*.conf; do
cp "$site" "$BACKUP_DIR/"
done
echo "🔄 Încep procesul pentru fiecare domeniu..."
for site in "$APACHE_DIR"/*.conf; do
domain=$(grep -E "^\s*ServerName\s+" "$site" | awk '{print $2}')
if [[ -n "$domain" ]]; then
# Adaugă ServerAlias www dacă lipsește
if ! grep -q "ServerAlias www.$domain" "$site"; then
echo "Adaug ServerAlias www.$domain in $site"
sed -i "/ServerName $domain/a \ ServerAlias www.$domain" "$site"
else
echo "ServerAlias deja prezent pentru $domain"
fi
# Reload Apache
sudo systemctl reload apache2
# Generez SSL
echo "🔐 Generez certificat SSL pentru $domain și www.$domain"
sudo certbot --apache -d "$domain" -d "www.$domain" --non-interactive --agree-tos -m florin.simsoft@gmail.com
fi
done
echo "✅ Toate SSL-urile au fost procesate!"