#!/bin/bash
# Script de Autoconfiguração - GYN Pesquisas (BattleHost Ubuntu)

echo "🚀 Iniciando instalação do ambiente GYN Pesquisas..."

# 1. Atualizando pacotes
apt update && apt upgrade -y

# 2. Instalando Apache, PHP e extensões
apt install -y apache2 php libapache2-mod-php php-mysql php-curl php-gd php-mbstring php-xml php-bcmath php-zip unzip

# 3. Habilitando mod_rewrite do Apache
a2enmod rewrite
systemctl restart apache2

# 4. Instalando MySQL Server
apt install -y mysql-server

# Configurando Banco de Dados
echo "⚙️ Configurando Banco de Dados..."
mysql -e "CREATE DATABASE IF NOT EXISTS gynpesquisas CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;"
mysql -e "CREATE USER IF NOT EXISTS 'crm_eleitoral'@'localhost' IDENTIFIED BY 'gynpesquisas';"
mysql -e "GRANT ALL PRIVILEGES ON gynpesquisas.* TO 'crm_eleitoral'@'localhost';"
mysql -e "FLUSH PRIVILEGES;"

# 5. Instalando Node.js (v18+) e PM2
curl -fsSL https://deb.nodesource.com/setup_18.x | bash -
apt-get install -y nodejs
npm install -g pm2

# 6. Configurando VirtualHost para o domínio
cat > /etc/apache2/sites-available/gynpesquisas.conf << 'EOF'
<VirtualHost *:80>
    ServerName gyndatapesquisas.com.br
    ServerAlias www.gyndatapesquisas.com.br
    DocumentRoot /var/www/html/gynpesquisas

    <Directory /var/www/html/gynpesquisas>
        AllowOverride All
        Require all granted
    </Directory>

    ErrorLog ${APACHE_LOG_DIR}/gynpesquisas_error.log
    CustomLog ${APACHE_LOG_DIR}/gynpesquisas_access.log combined
</VirtualHost>
EOF

a2ensite gynpesquisas.conf
systemctl reload apache2

echo "✅ Instalação do Servidor Concluída com Sucesso!"
echo "Próximos passos: Enviar arquivos via SCP e rodar certbot para HTTPS."
