# 🔧 Script de Diagnóstico e Correção Completo

## Execute AGORA:

```bash
cd /var/www/gestorstream/backend
chmod +x diagnostico-e-correcao-completo.sh
sudo bash diagnostico-e-correcao-completo.sh
```

## O que o script faz:

### ✅ Verificações Automáticas:

1. **Estrutura de Diretórios**
   - Verifica se frontend/ e backend/ existem

2. **Frontend**
   - Verifica package.json
   - Verifica node_modules
   - Verifica permissões de node_modules/.bin
   - Verifica permissões de esbuild
   - Verifica owner de node_modules

3. **Diretório dist/**
   - Verifica se dist/ existe
   - Verifica se index.html existe
   - Verifica permissões do index.html
   - Verifica owner do index.html
   - Verifica se www-data pode ler
   - Verifica conteúdo de dist/

4. **Nginx**
   - Verifica se nginx está instalado
   - Verifica se nginx está rodando
   - Verifica configuração do nginx
   - Verifica se está usando root ou proxy_pass
   - Testa configuração do nginx
   - Recarrega nginx

5. **Backend**
   - Verifica se Laravel está rodando
   - Verifica diretório storage/logs

6. **Logs**
   - Verifica logs de erro do nginx
   - Identifica erros 403

### 🔧 Correções Automáticas:

- Instala dependências se necessário
- Ajusta permissões de node_modules/.bin
- Ajusta permissões de esbuild
- Ajusta owner de node_modules
- Cria dist/ se não existir
- Limpa e reconstrói frontend se index.html não existir
- Ajusta permissões de dist/
- Ajusta permissões do index.html
- Ajusta owner do index.html
- Inicia nginx se não estiver rodando
- Habilita configuração do nginx se necessário
- Recarrega nginx

## Saída do Script:

O script mostra:
- ✅ **[OK]** - Tudo está correto
- ⚠️ **[AVISO]** - Problema identificado, mas não crítico
- ❌ **[ERRO]** - Problema crítico encontrado
- 🔧 **[CORRIGINDO]** - Aplicando correção automática

## Log Completo:

Todos os detalhes são salvos em:
```
/var/www/gestorstream/backend/storage/logs/diagnostico-completo.log
```

## Relatório Final:

No final, o script mostra:
- Número de erros encontrados
- Número de avisos
- Número de correções aplicadas
- Status final (SUCESSO ou AINDA HÁ PROBLEMAS)

## Se ainda não funcionar:

O script identifica exatamente qual é o problema. Verifique:
1. O relatório final
2. O log completo em `storage/logs/diagnostico-completo.log`
3. Os erros específicos mostrados durante a execução

Execute o script e me envie o relatório final!

