diff --git a/deploy/setup-server.sh b/deploy/setup-server.sh deleted file mode 100644 index 97ac9bc..0000000 --- a/deploy/setup-server.sh +++ /dev/null @@ -1,120 +0,0 @@ -#!/bin/bash -set -e - -echo "================================================" -echo "Setup VigilanzaTurni su AlmaLinux 9" -echo "================================================" - -# Colori per output -RED='\033[0;31m' -GREEN='\033[0;32m' -YELLOW='\033[1;33m' -NC='\033[0m' # No Color - -# Funzione di log -log_info() { - echo -e "${GREEN}[INFO]${NC} $1" -} - -log_warn() { - echo -e "${YELLOW}[WARN]${NC} $1" -} - -log_error() { - echo -e "${RED}[ERROR]${NC} $1" -} - -# Verifica root -if [ "$EUID" -ne 0 ]; then - log_error "Esegui questo script come root: sudo bash setup-server.sh" - exit 1 -fi - -log_info "Aggiornamento sistema..." -dnf update -y - -# =================== NODE.JS 20 =================== -log_info "Installazione Node.js 20 LTS..." -dnf module reset nodejs -y -dnf module enable nodejs:20 -y -dnf install nodejs -y -node --version -npm --version - -# =================== POSTGRESQL 15 =================== -log_info "Installazione PostgreSQL 15..." -dnf install -y postgresql15-server postgresql15-contrib -postgresql-15-setup --initdb -systemctl enable postgresql-15 -systemctl start postgresql-15 - -# Generazione password sicura PostgreSQL -DB_PASSWORD=$(openssl rand -base64 32 | tr -d "=+/" | cut -c1-25) - -# Creazione database e utente -log_info "Configurazione database..." -sudo -u postgres psql << EOF -CREATE DATABASE vigilanza_turni; -CREATE USER vigilanza_user WITH ENCRYPTED PASSWORD '${DB_PASSWORD}'; -GRANT ALL PRIVILEGES ON DATABASE vigilanza_turni TO vigilanza_user; -\c vigilanza_turni -GRANT ALL ON SCHEMA public TO vigilanza_user; -EOF - -# Salva password in file sicuro -echo "PGPASSWORD=${DB_PASSWORD}" > /root/.vigilanza_db_password -chmod 600 /root/.vigilanza_db_password -log_info "Password PostgreSQL salvata in: /root/.vigilanza_db_password" - -# Configurazione PostgreSQL per connessioni locali -log_info "Configurazione autenticazione PostgreSQL..." -PG_HBA="/var/lib/pgsql/data/pg_hba.conf" -sed -i 's/ident$/md5/' $PG_HBA -systemctl restart postgresql - -# =================== PM2 (Process Manager) =================== -log_info "Installazione PM2..." -npm install -g pm2 -pm2 startup systemd -u root --hp /root - -# =================== NGINX =================== -log_info "Installazione Nginx..." -dnf install -y nginx -systemctl enable nginx - -# =================== GIT =================== -log_info "Installazione Git..." -dnf install -y git - -# =================== DIRECTORY APPLICAZIONE =================== -log_info "Creazione directory applicazione..." -mkdir -p /var/www/vigilanza-turni -chown -R root:root /var/www/vigilanza-turni - -# =================== FIREWALL =================== -log_info "Configurazione Firewall..." -firewall-cmd --permanent --add-service=http -firewall-cmd --permanent --add-service=https -firewall-cmd --reload - -# =================== SSL CERTIFICATE (Let's Encrypt) =================== -log_info "Installazione Certbot per SSL..." -dnf install -y certbot python3-certbot-nginx - -log_info "" -log_info "================================================" -log_info "Setup completato con successo!" -log_info "================================================" -log_info "" -log_warn "PROSSIMI PASSI:" -echo "1. Configura il DNS per puntare questo server" -echo "2. Copia DATABASE_URL qui sotto nel file /var/www/vigilanza-turni/.env" -echo "3. Ottieni certificato SSL: sudo certbot --nginx -d tuodominio.it" -echo "4. Esegui il primo deployment con GitLab CI/CD" -echo "" -log_warn "⚠️ IMPORTANTE - Salva questa password (disponibile in /root/.vigilanza_db_password):" -echo "" -log_info "DATABASE_URL per .env:" -echo "postgresql://vigilanza_user:${DB_PASSWORD}@localhost:5432/vigilanza_turni" -echo "" -log_warn "Password PostgreSQL generata automaticamente: ${DB_PASSWORD}"