Pular para o conteúdo principal

Guia de Instalação

Este é o guia de instalação completo e passo a passo para o FeedbackPulse SaaS. Siga cada etapa cuidadosamente.


Lista de Verificação Pré-Instalação

Antes de começar, certifique-se de que você tem:

  • Um servidor atendendo todos os requisitos
  • Um nome de domínio apontando para o endereço IP do seu servidor
  • Acesso SSH ao seu servidor (ou FTP para upload de arquivos)
  • Um banco de dados MySQL/MariaDB e credenciais
  • Uma conta de e-mail SMTP (Gmail, Mailgun, Amazon SES, etc.)
  • Seu código de compra Envato (do pedido no CodeCanyon)

Passo 1: Fazer Upload dos Arquivos para o Servidor

Opção A: Usando SSH (Recomendado)

# Conectar ao seu servidor
ssh user@your-server-ip

# Navegar para o diretório web
cd /var/www

# Fazer upload e extrair o arquivo ZIP
# (Faça upload do zip via SCP, SFTP ou wget de um link temporário)
unzip feedbackpulse-saas.zip -d feedbackpulse-saas
cd feedbackpulse-saas

Opção B: Usando FTP/SFTP

  1. Conecte-se ao seu servidor usando FileZilla, WinSCP ou similar
  2. Navegue para o seu diretório web (geralmente /var/www/ ou /home/user/public_html/)
  3. Faça upload de toda a pasta feedbackpulse-saas extraída
  4. Certifique-se de que o subdiretório public/ está acessível

Opção C: Usando o Gerenciador de Arquivos do cPanel

  1. Faça login no cPanel
  2. Abra o Gerenciador de Arquivos → navegue até public_html (ou um subdiretório)
  3. Faça upload do arquivo ZIP
  4. Extraia-o no local
  5. Importante: Você precisará definir o document root para a pasta public/ (consulte Configuração do Apache)

Passo 2: Definir Permissões de Arquivo

cd /var/www/feedbackpulse-saas

# Definir proprietário (substitua www-data pelo usuário do seu servidor web)
# Apache: www-data | Nginx: www-data ou nginx
sudo chown -R www-data:www-data .

# Definir permissões de diretório
sudo find . -type d -exec chmod 755 {} \;
sudo find . -type f -exec chmod 644 {} \;

# Tornar storage e cache graváveis
sudo chmod -R 775 storage bootstrap/cache

Passo 3: Configurar Seu Servidor Web

Seu servidor web deve apontar para o diretório public/ dentro do projeto — NÃO para a raiz do projeto. Este é um requisito crítico de segurança.

Escolha seu servidor web:

Versão rápida:

Apache:

DocumentRoot /var/www/feedbackpulse-saas/public

Nginx:

root /var/www/feedbackpulse-saas/public;

Após configurar, reinicie seu servidor web:

# Apache
sudo systemctl restart apache2

# Nginx
sudo systemctl restart nginx

O instalador web tenta criar automaticamente o link simbólico de armazenamento durante a etapa final. Você não precisa executar nenhum comando.

  • VPS/Dedicado: O link simbólico é criado automaticamente. Nenhuma ação necessária.
  • Hospedagem compartilhada: Se os links simbólicos estiverem desabilitados no seu host, o FeedbackPulse usa um fallback PHP integrado para servir arquivos enviados (logos, imagens). Tudo funciona — nenhuma ação necessária.

A página de conclusão do instalador informará se o link simbólico foi criado ou se o fallback está ativo.


Passo 5: Executar o Instalador Web

Abra seu navegador e acesse:

https://yourdomain.com/install

O instalador guiará você por 5 etapas. Consulte o Passo a Passo do Instalador Web para capturas de tela e explicações detalhadas.

Resumo rápido:

Etapa 1: Verificação de Licença

  • Insira seu código de compra Envato/CodeCanyon
  • Isso valida sua licença com a API da Envato
  • Se você não estiver usando a Envato, pode haver uma opção de pular

Etapa 2: Verificação de Requisitos

  • O instalador verifica automaticamente:
    • Dependências do Vendor (vendor/autoload.php existe)
    • Versão do PHP (8.2+)
    • Extensões PHP necessárias
    • Permissões de diretório (storage, bootstrap/cache)
    • Ambiente de hospedagem (detecta hospedagem compartilhada, mostra informações de compatibilidade)
  • Corrija quaisquer itens com falha antes de prosseguir

Etapa 3: Configuração do Banco de Dados

  • Insira suas credenciais do banco de dados:
    • Host: 127.0.0.1 (ou localhost)
    • Porta: 3306
    • Nome do banco de dados: feedbackpulse (crie primeiro!)
    • Usuário: seu nome de usuário do banco de dados
    • Senha: sua senha do banco de dados
  • O instalador executará todas as migrações e populará os dados padrão

Crie o banco de dados primeiro:

CREATE DATABASE feedbackpulse CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;

Etapa 4: Conta de Admin

  • Crie sua conta de superadmin:
    • Nome: Seu nome
    • E-mail: [email protected]
    • Senha: Uma senha forte (mínimo de 8 caracteres)
  • Esta é a conta que você usará para gerenciar toda a plataforma

Etapa 5: Configuração de E-mail

  • Insira seus detalhes SMTP:
    • Host: ex.: smtp.gmail.com
    • Porta: 587 (TLS) ou 465 (SSL)
    • Usuário: seu nome de usuário SMTP
    • Senha: sua senha SMTP ou senha de app
    • Criptografia: TLS (recomendado)
    • Endereço De: [email protected]
  • Você pode pular isso e configurar depois em Configurações do Admin

Conclusão

  • Alterna os drivers de sessão e cache para database para produção
  • Gera um CRON_TOKEN para o endpoint cron baseado na web
  • Cria um arquivo storage/installed.lock (impede nova execução)
  • Exibe uma página de sucesso com instruções de configuração do cron (opções CLI e URL) e próximos passos

Passo 6: Configurar o Cron Job

O FeedbackPulse precisa de um cron job para executar tarefas agendadas. Isso é essencial para:

  • Enviar resumos por e-mail (diário/semanal)
  • Processar expirações de período de teste
  • Impor políticas de retenção de dados
  • Enviar alertas de uso
  • Executar detecção de anomalias por IA
  • Enviar relatórios agendados

Opção 1 — Comando CLI (VPS / Dedicado):

crontab -e

Adicione esta linha:

* * * * * cd /var/www/feedbackpulse-saas && php artisan schedule:run >> /dev/null 2>&1

Opção 2 — URL/wget (Hospedagem Compartilhada):

Se seu painel de hospedagem suporta apenas cron baseado em URL, use o endpoint de cron web (o CRON_TOKEN é gerado automaticamente durante a instalação e exibido na página de conclusão):

wget -q -O /dev/null "https://yourdomain.com/cron/run?token=YOUR_CRON_TOKEN"

Dica: A página de conclusão do instalador mostra ambas as opções com o caminho real do servidor e o token já preenchidos. Copie-os de lá!

Para mais detalhes, consulte Cron Jobs & Workers de Fila.


Passo 7: Configurar SSL (HTTPS)

O HTTPS é fortemente recomendado por segurança, especialmente porque o FeedbackPulse lida com autenticação e dados de pagamento.

Usando Let's Encrypt (Gratuito)

# Instalar o Certbot
sudo apt install certbot python3-certbot-nginx # para Nginx
# OU
sudo apt install certbot python3-certbot-apache # para Apache

# Obter certificado
sudo certbot --nginx -d yourdomain.com # para Nginx
# OU
sudo certbot --apache -d yourdomain.com # para Apache

O Certbot configurará automaticamente seu servidor web para HTTPS e configurará a renovação automática.

Para mais detalhes, consulte Certificados SSL.


Passo 8: Verificar a Instalação

Execute esta lista de verificação:

VerificaçãoComoResultado Esperado
Landing page carregaAcesse https://yourdomain.comVer a landing page
Login funcionaAcesse https://yourdomain.com/loginFazer login com credenciais de superadmin
Painel adminAcesse https://yourdomain.com/admin/dashboardVer o painel de admin
Link de storageAcesse https://yourdomain.com/storage/Sem erro 404
Verificação de saúdeAcesse https://yourdomain.com/upVer texto "OK"
Cron rodandoVerifique Admin → ConfiguraçõesSem avisos de cron
E-mail funcionaAdmin → Configurações → E-mail → Enviar TesteReceber e-mail de teste

Passos Pós-Instalação

Após a conclusão da instalação:

  1. Revisar planos de assinaturaAdmin → Planos (editar preços, limites, recursos)
  2. Configurar gateways de pagamentoAdmin → Configurações → Pagamentos (chaves de API Stripe/PayPal)
  3. Personalizar a landing pageAdmin → Landing Page
  4. Testar entrega de e-mailAdmin → Configurações → E-mail → Enviar E-mail de Teste
  5. Configurar DNS wildcard (opcional) — para subdomínios de tenant. Consulte Configuração de DNS Wildcard.
  6. Criar seu primeiro tenant — Registre-se em /register em uma janela anônima

Solução de Problemas de Instalação

ProblemaSolução
Página branca em brancoVerifique storage/logs/laravel.log para erros. Geralmente um problema de permissões.
Erro 500 do ServidorAtive o modo debug temporariamente: defina APP_DEBUG=true no .env, depois verifique o erro.
"Classe não encontrada"Certifique-se de que o diretório vendor/ está presente e íntegro. Faça o upload novamente do pacote baixado se necessário.
Conexão com banco de dados recusadaVerifique as credenciais, certifique-se de que o MySQL está rodando, verifique se localhost vs 127.0.0.1 faz diferença.
Instalador não carregandoCertifique-se de que a raiz web aponta para o diretório public/.
CSS/JS não carregandoLimpe o cache do navegador. Se imagens estiverem faltando, o fallback de storage as serve automaticamente em hospedagem compartilhada. No VPS, acesse /update como superadmin para recriar o link simbólico.
Permissão negadaExecute os comandos chown e chmod do Passo 2 novamente.

Para mais informações, consulte Solução de Problemas.


Próximos Passos