#!/bin/bash
# ============================================================
# PERUVIAN TRAVEL SERVICE — Script de instalación en VPS Linux
# Ejecutar como root: bash setup.sh
# ============================================================

set -e
echo "========================================"
echo "  PTS Motor de Cotización — Setup VPS  "
echo "========================================"

# 1. Detectar OS y actualizar
if command -v apt &>/dev/null; then
    apt update -y && apt upgrade -y
    apt install -y apache2 php8.2 php8.2-mysql php8.2-json php8.2-mbstring \
                   mysql-server curl unzip git
elif command -v yum &>/dev/null; then
    yum update -y
    yum install -y httpd php php-mysqlnd php-json php-mbstring mysql-server curl unzip git
fi

# 2. Iniciar servicios
systemctl enable apache2 mysql || systemctl enable httpd mariadb
systemctl start apache2 mysql  || systemctl start httpd mariadb

# 3. Habilitar mod_rewrite (Apache)
if command -v a2enmod &>/dev/null; then
    a2enmod rewrite
    sed -i 's/AllowOverride None/AllowOverride All/g' /etc/apache2/apache2.conf
    systemctl restart apache2
fi

# 4. Crear base de datos y usuario MySQL
echo ""
echo "Creando base de datos MySQL..."
read -sp "Ingresa una contraseña para el usuario 'pts_user': " DB_PASS
echo ""

mysql -u root <<EOF
CREATE DATABASE IF NOT EXISTS pts_db CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
CREATE USER IF NOT EXISTS 'pts_user'@'localhost' IDENTIFIED BY '${DB_PASS}';
GRANT ALL PRIVILEGES ON pts_db.* TO 'pts_user'@'localhost';
FLUSH PRIVILEGES;
EOF

echo "Base de datos creada."

# 5. Ejecutar schema SQL
mysql -u pts_user -p"${DB_PASS}" pts_db < /var/www/html/pts-backend/sql/schema.sql
echo "Schema importado correctamente."

# 6. Actualizar config con la contraseña real
sed -i "s/TU_PASSWORD_AQUI/${DB_PASS}/" /var/www/html/pts-backend/config/database.php
sed -i "s/'pts_user'/'pts_user'/" /var/www/html/pts-backend/config/database.php

# 7. Permisos
chown -R www-data:www-data /var/www/html/ 2>/dev/null || \
chown -R apache:apache /var/www/html/
chmod -R 755 /var/www/html/
chmod 640 /var/www/html/pts-backend/config/database.php

echo ""
echo "========================================"
echo "  Instalación completada"
echo ""
echo "  Próximos pasos:"
echo "  1. Sube los archivos a /var/www/html/"
echo "  2. Actualiza el JWT_SECRET en config/database.php"
echo "  3. Apunta tu dominio al VPS"
echo "  4. Instala SSL: certbot --apache -d peruviantravel.com.pe -d www.peruviantravel.com.pe"
echo "  5. Cambia la contraseña del admin en el panel"
echo "========================================"
