Pular para o conteúdo principal

Passo a Passo do Instalador Web

O FeedbackPulse SaaS inclui um instalador elegante baseado no navegador. Nenhuma linha de comando necessária (após o upload inicial dos arquivos e o composer install).


Acessando o Instalador

Acesse:

https://yourdomain.com/install

Não consegue ver o instalador? Certifique-se de que:

  • Seu servidor web aponta para o diretório public/
  • O Apache mod_rewrite está habilitado (ou o Nginx tem o try_files correto)
  • Não há arquivo storage/installed.lock (isso bloqueia o instalador após a primeira instalação)

Etapa 1: Boas-Vindas & Licença

A primeira tela dá as boas-vindas e solicita seu código de compra Envato/CodeCanyon.

Onde encontrar seu código de compra:

  1. Faça login no CodeCanyon
  2. Vá em Downloads → encontre o FeedbackPulse SaaS
  3. Clique em DownloadCertificado de licença e código de compra
  4. O código de compra tem este formato: a1b2c3d4-e5f6-7890-abcd-ef1234567890

O que faz:

  • Valida sua licença com a API da Envato
  • Garante que você tem uma cópia legítima
  • Desbloqueia o restante do instalador

Etapa 2: Verificação de Requisitos

O instalador verifica automaticamente seu servidor e confere:

Versão do PHP

  • PHP 8.4 ou superior é necessário
  • Exibe sua versão atual do PHP

Dependências do Vendor

  • Verifica se vendor/autoload.php existe (as dependências do Composer devem estar instaladas ou enviadas)

Extensões PHP

As seguintes são verificadas:

  • pdo_mysql — Conectividade com banco de dados
  • mbstring — Manipulação de strings
  • openssl — Criptografia
  • tokenizer — Análise de código
  • xml — Processamento XML
  • ctype — Validação de caracteres
  • json — Manipulação JSON
  • bcmath — Operações matemáticas
  • fileinfo — Detecção de tipo de arquivo
  • curl — Chamadas de API

Permissões de Diretório

  • storage/ — Deve ser gravável
  • bootstrap/cache/ — Deve ser gravável

Exibição de Resultados

  • Marcas de verificação verdes = requisito atendido
  • Cruzes vermelhas = requisito NÃO atendido (deve corrigir antes de prosseguir)

Corrigindo verificações com falha:

# Instalar extensões PHP faltando (Ubuntu)
sudo apt install php8.4-mysql php8.4-mbstring php8.4-xml php8.4-bcmath php8.4-curl php8.4-gd php8.4-zip

# Corrigir permissões
sudo chmod -R 775 storage bootstrap/cache
sudo chown -R www-data:www-data storage bootstrap/cache

# Reiniciar PHP
sudo systemctl restart php8.4-fpm

Etapa 3: Configuração do Banco de Dados

Insira os detalhes de conexão do seu MySQL/MariaDB:

CampoExemploObservações
Host do Banco de Dados127.0.0.1Use 127.0.0.1 em vez de localhost para maior confiabilidade
Porta do Banco de Dados3306Porta padrão do MySQL
Nome do Banco de DadosfeedbackpulseDeve existir previamente!
Usuário do Banco de Dadosfeedbackpulse_userCom privilégios completos no banco de dados
Senha do Banco de Dadosyour_secure_passwordA senha do usuário

Antes Desta Etapa

Você deve criar o banco de dados primeiro:

-- Fazer login no MySQL
mysql -u root -p

-- Criar o banco de dados
CREATE DATABASE feedbackpulse CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;

-- Criar um usuário dedicado (recomendado)
CREATE USER 'feedbackpulse_user'@'localhost' IDENTIFIED BY 'your_secure_password';
GRANT ALL PRIVILEGES ON feedbackpulse.* TO 'feedbackpulse_user'@'localhost';
FLUSH PRIVILEGES;
EXIT;

O que Acontece ao Clicar em "Configurar Banco de Dados"

  1. O instalador testa a conexão
  2. Salva suas credenciais do banco de dados no arquivo .env
  3. Executa todas as migrações do banco de dados (cria ~30 tabelas)
  4. Popula dados padrão:
    • 3 planos de assinatura padrão (Starter, Growth, Pro)
    • Configurações padrão da plataforma
  5. Exibe uma mensagem de sucesso

Nota: Os drivers de sessão e cache permanecem como file durante a instalação para estabilidade. Eles são alterados automaticamente para database na etapa de conclusão.

Esta etapa pode levar de 10 a 30 segundos dependendo do seu servidor.


Etapa 4: Conta de Admin

Crie sua conta de superadmin:

CampoExemploObservações
Nome CompletoJoão SilvaSeu nome de exibição
Endereço de E-mail[email protected]Usado para login e notificações
Senha(senha forte)Mínimo de 8 caracteres. Use uma senha forte!
Confirmar Senha(deve coincidir)Deve coincidir

O que Acontece

  • Cria sua conta de usuário com role = superadmin
  • Esta é a única conta de superadmin criada automaticamente
  • Você usará isso para fazer login em /login e acessar /admin/dashboard

Dica de segurança: Use uma senha única e forte. Você pode habilitar o 2FA mais tarde nas Configurações.


Etapa 5: Configuração de E-mail

Configure o SMTP para envio de e-mails transacionais:

CampoExemploObservações
Host SMTPsmtp.gmail.comServidor SMTP do seu provedor de e-mail
Porta SMTP587587 para TLS, 465 para SSL
Usuário SMTP[email protected]Geralmente seu endereço de e-mail
Senha SMTPyour_app_passwordSenha específica de app recomendada
CriptografiatlsTLS (recomendado) ou SSL
Endereço De[email protected]O endereço "de" nos e-mails enviados
Nome DeFeedbackPulseO nome "de" nos e-mails enviados

Provedores SMTP Comuns

ProvedorHostPortaCriptografiaObservações
Gmailsmtp.gmail.com587TLSRequer Senha de App (não a senha regular)
Mailgunsmtp.mailgun.org587TLSÓtimo para e-mail transacional
Amazon SESemail-smtp.{region}.amazonaws.com587TLSEconômico em escala
SendGridsmtp.sendgrid.net587TLSUse apikey como usuário
Postmarksmtp.postmarkapp.com587TLSMelhor entregabilidade
Mailtrapsandbox.smtp.mailtrap.io587TLSApenas para testes!

Não consegue configurar o e-mail agora? Você pode pular esta etapa e configurar depois em Admin → Configurações → E-mail. A plataforma funcionará sem e-mail, mas recursos como convites, resumos e redefinições de senha não funcionarão.


Etapa 6: Instalação Concluída!

Você verá uma página de sucesso com:

  • Banco de dados configurado e migrado
  • Conta de admin criada
  • E-mail configurado
  • Arquivo installed.lock criado
  • Drivers de sessão e cache alterados para database
  • CRON_TOKEN gerado automaticamente para cron baseado na web
  • Aviso de hospedagem compartilhada (se o link simbólico não pôde ser criado)

Instruções do Cron Job (exibidas na página de conclusão)

A página de conclusão exibe duas opções de configuração de cron com comandos para copiar e colar:

  1. Comando CLI — para servidores VPS/dedicados:

    * * * * * cd /path/to/project && php artisan schedule:run >> /dev/null 2>&1
  2. URL/wget — para hospedagem compartilhada (usa o CRON_TOKEN gerado automaticamente):

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

Salve-os! Copie o comando cron da página de conclusão antes de sair. Você também pode encontrar seu CRON_TOKEN no arquivo .env.

O Arquivo installed.lock

O instalador cria storage/installed.lock para impedir que qualquer pessoa execute novamente o instalador. Esta é uma medida de segurança.

Para executar novamente o instalador (ex.: instalação limpa), exclua este arquivo:

rm storage/installed.lock

Então acesse /install novamente.


Lista de Verificação Pós-Instalação

Após a conclusão do instalador:

  • Configure o cron job usando as instruções exibidas na página de conclusão (consulte Cron Jobs & Workers de Fila)
  • Faça login em https://yourdomain.com/login com suas credenciais de superadmin
  • Acesse Admin → Planos — revise e personalize os planos de assinatura
  • Acesse Admin → Configurações → Pagamentos — conecte Stripe/PayPal
  • Acesse Admin → Configurações → E-mail — envie um e-mail de teste
  • Acesse Admin → Landing Page — personalize sua página inicial pública
  • Configure SSL (consulte Certificados SSL)
  • Opcionalmente configure DNS wildcard (consulte Configuração de DNS Wildcard)

Próximos Passos