/home/suroeste/public_html/payments.transportessuroeste.com
Edit: /home/suroeste/public_html/payments.transportessuroeste.com/install.sh (3591B)
#!/bin/bash
# ============================================================================
# TRANSPORTES SUROESTE - SCRIPT DE INSTALACIÓN
# ============================================================================
set -e
echo "=============================================="
echo " TRANSPORTES SUROESTE - Payment Gateway API"
echo " Instalación y Configuración"
echo "=============================================="
echo ""
# Colores
RED='\033[0;31m'
GREEN='\033[0;32m'
YELLOW='\033[1;33m'
NC='\033[0m'
# Verificar PHP
echo -e "${YELLOW}[1/7] Verificando PHP...${NC}"
if ! command -v php &> /dev/null; then
echo -e "${RED}PHP no está instalado. Por favor instale PHP 8.1 o superior.${NC}"
exit 1
fi
PHP_VERSION=$(php -v | head -n 1 | cut -d " " -f 2 | cut -d "." -f 1,2)
echo -e "${GREEN}PHP $PHP_VERSION encontrado${NC}"
# Verificar extensiones
echo -e "${YELLOW}[2/7] Verificando extensiones de PHP...${NC}"
EXTENSIONS=("json" "pdo" "pdo_mysql" "openssl" "mbstring" "curl")
MISSING=()
for ext in "${EXTENSIONS[@]}"; do
if ! php -m | grep -qi "^$ext$"; then
MISSING+=("$ext")
fi
done
if [ ${#MISSING[@]} -ne 0 ]; then
echo -e "${RED}Extensiones faltantes: ${MISSING[*]}${NC}"
echo "Instale con: sudo apt install php-${MISSING[*]// / php-}"
exit 1
fi
echo -e "${GREEN}Todas las extensiones requeridas están instaladas${NC}"
# Verificar Composer
echo -e "${YELLOW}[3/7] Verificando Composer...${NC}"
if ! command -v composer &> /dev/null; then
echo -e "${RED}Composer no está instalado.${NC}"
echo "Instale con: curl -sS https://getcomposer.org/installer | php -- --install-dir=/usr/local/bin --filename=composer"
exit 1
fi
echo -e "${GREEN}Composer encontrado${NC}"
# Instalar dependencias
echo -e "${YELLOW}[4/7] Instalando dependencias...${NC}"
composer install --no-dev --optimize-autoloader
# Configurar archivo .env
echo -e "${YELLOW}[5/7] Configurando entorno...${NC}"
if [ ! -f "config/.env" ]; then
cp config/.env.example config/.env
# Generar claves seguras
ENCRYPTION_KEY=$(php -r "echo bin2hex(random_bytes(32));")
JWT_SECRET=$(php -r "echo bin2hex(random_bytes(32));")
sed -i "s/GENERA_CLAVE_32_BYTES_AQUI/$ENCRYPTION_KEY/" config/.env
sed -i "s/GENERA_JWT_SECRET_AQUI/$JWT_SECRET/" config/.env
echo -e "${GREEN}Archivo .env creado. ¡CONFIGURE LAS CREDENCIALES DE EPAYCO!${NC}"
else
echo -e "${GREEN}Archivo .env ya existe${NC}"
fi
# Crear directorio de logs
echo -e "${YELLOW}[6/7] Creando directorios...${NC}"
mkdir -p logs
chmod 755 logs
echo -e "${GREEN}Directorio de logs creado${NC}"
# Verificar base de datos
echo -e "${YELLOW}[7/7] Verificando MySQL...${NC}"
if command -v mysql &> /dev/null; then
echo -e "${GREEN}MySQL encontrado${NC}"
echo ""
echo -e "${YELLOW}Para crear la base de datos, ejecute:${NC}"
echo "mysql -u root -p < sql/database.sql"
else
echo -e "${YELLOW}MySQL CLI no encontrado. Importe sql/database.sql manualmente.${NC}"
fi
echo ""
echo "=============================================="
echo -e "${GREEN} ¡INSTALACIÓN COMPLETADA!${NC}"
echo "=============================================="
echo ""
echo "Próximos pasos:"
echo "1. Configure config/.env con sus credenciales de ePayco"
echo "2. Importe la base de datos: mysql -u root -p < sql/database.sql"
echo "3. Configure su servidor web (Apache/Nginx)"
echo "4. Inicie el servidor de desarrollo: composer start"
echo ""
echo "Para desarrollo local:"
echo " php -S localhost:8000 -t public"
echo ""
echo "Documentación: docs/DOCUMENTACION.html"
echo ""