═══════════════════════════════════════════════════════════ ⚠️ CONFIGURAÇÃO OBRIGATÓRIA ANTES DE INICIAR ═══════════════════════════════════════════════════════════ O servidor NÃO vai iniciar corretamente sem estas configurações! ═══════════════════════════════════════════════════════════ 1️⃣ CRIAR ARQUIVO .env (OBRIGATÓRIO) ═══════════════════════════════════════════════════════════ Copie o arquivo ENV-CONFIG.txt para .env: cp ENV-CONFIG.txt .env OU crie manualmente: nano .env E cole este conteúdo (AJUSTE OS VALORES): PORT=3000 JWT_SECRET=SUA_CHAVE_SECRETA_AQUI SESSION_SECRET=OUTRA_CHAVE_SECRETA DB_HOST=localhost DB_PORT=3306 DB_USER=root DB_PASSWORD=SUA_SENHA_MYSQL ← MUDAR AQUI! DB_NAME=dental_images UPLOAD_DIR=/www/wwwroot/dental-server/uploads PROCESSED_DIR=/www/wwwroot/dental-server/processed ALLOWED_ORIGINS=https://seu-dominio.com ← MUDAR AQUI! TRUST_PROXY=true ═══════════════════════════════════════════════════════════ 2️⃣ VERIFICAR MYSQL (OBRIGATÓRIO) ═══════════════════════════════════════════════════════════ O servidor PRECISA de MySQL funcionando! Verificar se MySQL está rodando: sudo systemctl status mysql OU sudo systemctl status mariadb Se não estiver rodando, iniciar: sudo systemctl start mysql OU sudo systemctl start mariadb ═══════════════════════════════════════════════════════════ 3️⃣ TESTAR CONEXÃO MYSQL ═══════════════════════════════════════════════════════════ Testar conexão manualmente: mysql -u root -p Se funcionar, você verá o prompt do MySQL. Digite: exit Se NÃO funcionar, você precisa corrigir o usuário/senha. ═══════════════════════════════════════════════════════════ 4️⃣ PERMISSÕES MYSQL ═══════════════════════════════════════════════════════════ O usuário configurado no .env precisa de permissão para: - CREATE DATABASE - CREATE TABLE Se usar root, normalmente já tem estas permissões. Se usar outro usuário, dar permissões: mysql -u root -p GRANT ALL PRIVILEGES ON dental_images.* TO 'seu_usuario'@'localhost'; FLUSH PRIVILEGES; exit ═══════════════════════════════════════════════════════════ 5️⃣ INICIAR SERVIDOR ═══════════════════════════════════════════════════════════ DEPOIS de fazer todos os passos acima: pm2 start server.js --name dental-server Ver logs: pm2 logs dental-server ═══════════════════════════════════════════════════════════ ❌ PROBLEMAS COMUNS ═══════════════════════════════════════════════════════════ 1. "Erro ao conectar ao MySQL" → MySQL não está rodando → Verificar credenciais no .env 2. "Access denied" → Senha incorreta no .env → Testar: mysql -u root -p 3. "Cannot create database" → Usuário sem permissão → Usar root ou dar permissões 4. Servidor inicia mas cai logo → Ver logs: pm2 logs dental-server → Verificar todos os passos acima ═══════════════════════════════════════════════════════════ ✅ CHECKLIST ANTES DE INICIAR ═══════════════════════════════════════════════════════════ □ Arquivo .env criado □ DB_PASSWORD configurada corretamente □ MySQL rodando □ Conexão MySQL testada manualmente □ PERMISSÕES OK □ npm install feito Só DEPOIS disso tudo: pm2 start server.js ═══════════════════════════════════════════════════════════ Versão: 2.0.0 Data: 2025-01-26