133 lines
3.4 KiB
Markdown
Executable File
133 lines
3.4 KiB
Markdown
Executable File
# 🌐 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
|