- Setup VM con Nginx + PHP 8.3 + MySQL
- Gitea configurato su porta 3000
- NetGescon Laravel funzionante
- Scripts di automazione e documentazione
- Struttura pronta per sviluppo Git nativo
Addio rsync, benvenuto Git workflow! 🎉
120 lines
3.2 KiB
Bash
Executable File
120 lines
3.2 KiB
Bash
Executable File
#!/bin/bash
|
|
# 🔍 NETGESCON - VERIFICA PRE-MIGRAZIONE
|
|
# Creato: 19/07/2025 - Test connessione e preparazione
|
|
|
|
echo "🔍 === NETGESCON - VERIFICA PRE-MIGRAZIONE ==="
|
|
echo "📅 $(date '+%Y-%m-%d %H:%M:%S')"
|
|
echo ""
|
|
|
|
TARGET_SERVER="192.168.0.200"
|
|
TARGET_USER="michele"
|
|
|
|
echo "📋 Test connessione a VM target: $TARGET_USER@$TARGET_SERVER"
|
|
echo ""
|
|
|
|
# Test connessione base
|
|
echo "🌐 Test 1: Connessione SSH..."
|
|
if ssh -o ConnectTimeout=10 -o BatchMode=yes "$TARGET_USER@$TARGET_SERVER" "echo 'SSH OK'" 2>/dev/null; then
|
|
echo " ✅ SSH con chiavi funziona"
|
|
else
|
|
echo " ⚠️ SSH richiede password (normale)"
|
|
if ssh -o ConnectTimeout=10 "$TARGET_USER@$TARGET_SERVER" "echo 'SSH con password OK'"; then
|
|
echo " ✅ SSH con password funziona"
|
|
else
|
|
echo " ❌ SSH non funziona - verificare rete/credenziali"
|
|
exit 1
|
|
fi
|
|
fi
|
|
|
|
# Test sistema target
|
|
echo ""
|
|
echo "📊 Test 2: Informazioni sistema target..."
|
|
ssh "$TARGET_USER@$TARGET_SERVER" << 'EOF'
|
|
echo " Sistema: $(lsb_release -d 2>/dev/null | cut -f2 || uname -s)"
|
|
echo " Kernel: $(uname -r)"
|
|
echo " Architettura: $(uname -m)"
|
|
echo " Uptime: $(uptime | cut -d',' -f1)"
|
|
echo " Spazio root: $(df -h / | tail -1 | awk '{print $4}') liberi"
|
|
echo " RAM libera: $(free -h | grep Mem | awk '{print $7}')"
|
|
echo " Utente: $(whoami)"
|
|
echo " Home: $HOME"
|
|
EOF
|
|
|
|
# Test permessi sudo
|
|
echo ""
|
|
echo "🔐 Test 3: Permessi sudo..."
|
|
if ssh "$TARGET_USER@$TARGET_SERVER" "sudo -n true" 2>/dev/null; then
|
|
echo " ✅ Sudo senza password configurato"
|
|
else
|
|
echo " ⚠️ Sudo richiede password (normale per sicurezza)"
|
|
fi
|
|
|
|
# Test dipendenze base
|
|
echo ""
|
|
echo "📦 Test 4: Dipendenze presenti..."
|
|
ssh "$TARGET_USER@$TARGET_SERVER" << 'EOF'
|
|
echo -n " Git: "
|
|
if command -v git &> /dev/null; then
|
|
echo "✅ $(git --version | cut -d' ' -f3)"
|
|
else
|
|
echo "❌ Non installato"
|
|
fi
|
|
|
|
echo -n " Curl: "
|
|
if command -v curl &> /dev/null; then
|
|
echo "✅ Presente"
|
|
else
|
|
echo "❌ Non installato"
|
|
fi
|
|
|
|
echo -n " Docker: "
|
|
if command -v docker &> /dev/null; then
|
|
echo "✅ $(docker --version | cut -d' ' -f3 | tr -d ',')"
|
|
else
|
|
echo "❌ Non installato"
|
|
fi
|
|
|
|
echo -n " Apache: "
|
|
if command -v apache2 &> /dev/null; then
|
|
echo "✅ $(apache2 -v | head -1 | cut -d' ' -f3)"
|
|
else
|
|
echo "❌ Non installato"
|
|
fi
|
|
|
|
echo -n " PHP: "
|
|
if command -v php &> /dev/null; then
|
|
echo "✅ $(php --version | head -1 | cut -d' ' -f2)"
|
|
else
|
|
echo "❌ Non installato"
|
|
fi
|
|
EOF
|
|
|
|
# Test porte disponibili
|
|
echo ""
|
|
echo "🌐 Test 5: Porte disponibili..."
|
|
ssh "$TARGET_USER@$TARGET_SERVER" << 'EOF'
|
|
echo " Porte in ascolto:"
|
|
ss -tlnp | grep -E ":(80|3000|3306|22)" | while read line; do
|
|
port=$(echo $line | awk '{print $4}' | cut -d':' -f2)
|
|
echo " - Porta $port: occupata"
|
|
done
|
|
|
|
# Test porte libere importanti
|
|
for port in 80 3000 3306; do
|
|
if ! ss -tln | grep -q ":$port "; then
|
|
echo " - Porta $port: ✅ libera"
|
|
fi
|
|
done
|
|
EOF
|
|
|
|
echo ""
|
|
echo "📊 === RIEPILOGO VERIFICA ==="
|
|
echo "✅ Connessione SSH verificata"
|
|
echo "✅ Sistema target accessibile"
|
|
echo "✅ Informazioni raccolte"
|
|
echo ""
|
|
|
|
echo "📋 Pronto per migrazione!"
|
|
echo " Eseguire: ./docs/03-scripts-automazione/migrate-to-vm-master.sh"
|
|
echo ""
|