Delete deploy/setup-server.sh
This commit is contained in:
parent
94bec4cfd6
commit
782b156e99
@ -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}"
|
||||
Loading…
Reference in New Issue
Block a user