# 🌐 FIX COMPLETO - ACCESSO NETWORK NETGESCON **Data:** 26/07/2025 **Problema:** Laravel + Vite non accessibile dalla rete locale (192.168.0.48 → 192.168.0.200) **Causa:** Combinazione di Vite localhost + Firewall Linux ## 🚨 **SINTOMI IDENTIFICATI** ### Comportamento Pre-Fix: - ✅ **Locale (192.168.0.200):** Funziona perfettamente - ❌ **Network (192.168.0.48):** - Connessione lenta - Pagina HTML carica ma CSS/JS non funzionano - Vite assets puntano a 127.0.0.1 (non accessibile da rete) - Firewall blocca porte Vite (5173) ## 🔧 **SOLUZIONE IMPLEMENTATA** ### 1. **Configurazione Vite per Network** ```javascript // File: /var/www/netgescon/vite.config.js import { defineConfig } from 'vite'; import laravel from 'laravel-vite-plugin'; export default defineConfig({ plugins: [ laravel({ input: ['resources/css/app.css', 'resources/js/app.js'], refresh: true, }), ], server: { host: '0.0.0.0', // ← CHIAVE: Ascolta su tutte le interfacce port: 5173, hmr: { host: '192.168.0.200' // ← Hot Module Replacement per IP specifico } }, build: { rollupOptions: { output: { manualChunks: undefined, } } } }); ``` ### 2. **Configurazione Firewall Linux** ```bash # Apertura porte necessarie sudo ufw allow 8000/tcp # Laravel Server sudo ufw allow 5173/tcp # Vite Dev Server sudo ufw allow 3000/tcp # GITEA (già configurato) # Verifica regole attive sudo ufw status numbered # Test connessioni netstat -tuln | grep -E ':8000|:5173|:3000' ``` ### 3. **Configurazione Laravel Assets** ```php // File: .env - Aggiunto ASSET_URL=http://192.168.0.200:8000 APP_URL=http://192.168.0.200:8000 ``` ## ✅ **RISULTATO POST-FIX** ### Comportamento Attuale: - ✅ **Locale (192.168.0.200):** Funziona perfettamente - ✅ **Network (192.168.0.48):** Funziona completamente - ✅ **CSS/JS:** Caricamento corretto da network - ✅ **Vite HMR:** Hot reload funziona anche remotamente ## 🔄 **WORKFLOW DI AVVIO** ### Per Sviluppo con Accesso Network: ```bash # Terminal 1: Laravel Server cd /var/www/netgescon php artisan serve --host=0.0.0.0 --port=8000 # Terminal 2: Vite Dev Server npm run dev ``` ### Per Produzione: ```bash # Build statico (no Vite server necessario) npm run build ``` ## 🎯 **LEZIONI APPRESE** 1. **Vite di default ascolta solo su localhost** - Necessario configurare `host: '0.0.0.0'` 2. **Firewall Linux blocca porte non standard** - Aprire esplicitamente 5173, 8000 3. **Laravel assets seguono APP_URL** - Configurare correttamente per network access 4. **Hot Module Replacement necessita IP specifico** - Configurare `hmr.host` ## 🔧 **TROUBLESHOOTING RAPIDO** ### Se non funziona dalla rete: ```bash # 1. Verifica porte aperte sudo netstat -tuln | grep -E ':8000|:5173' # 2. Test connessione telnet 192.168.0.200 8000 telnet 192.168.0.200 5173 # 3. Verifica firewall sudo ufw status # 4. Clear cache Laravel php artisan config:clear && php artisan view:clear ``` ## 📋 **CHECKLIST FINALE** - [x] Vite configurato per network (`host: '0.0.0.0'`) - [x] Firewall porte aperte (8000, 5173, 3000) - [x] Laravel APP_URL configurato correttamente - [x] Assets URL configurato per network - [x] Test accesso da multiple macchine - [x] Documentazione completa creata --- **STATO:** ✅ RISOLTO COMPLETAMENTE **ACCESSO NETWORK:** Funzionante da tutte le macchine della rete locale