Instalação

Guia de Instalação do Sistema

Instalação do Sistema CBAV

Guia completo para instalar o sistema CRM Ministerial

"Instrui o menino no caminho em que deve andar, e até quando envelhecer não se desviará dele"

Provérbios 22:6

Requisitos do Sistema

Requisitos Mínimos

Servidor Web

  • • Apache 2.4+ ou Nginx
  • • PHP 8.1 ou superior
  • • MySQL 8.0 ou MariaDB 10.5+
  • • SSL/HTTPS (recomendado)

PHP Extensions

  • • BCMath PHP Extension
  • • Ctype PHP Extension
  • • JSON PHP Extension
  • • Mbstring PHP Extension
  • • OpenSSL PHP Extension
  • • PDO PHP Extension
  • • Tokenizer PHP Extension
  • • XML PHP Extension

Composer

  • • Composer 2.0+
  • • Node.js 16+ (opcional)
  • • NPM ou Yarn (opcional)

Permissões

  • • storage/ (755)
  • • bootstrap/cache/ (755)
  • • public/ (755)
  • • .env (644)

Passos da Instalação

1. Preparação do Ambiente

Verificar Requisitos

# Verificar versão do PHP
php -v

# Verificar extensões PHP
php -m

# Verificar Composer
composer --version

# Verificar MySQL
mysql --version

Configurar Permissões

# Definir permissões corretas
chmod -R 755 storage/
chmod -R 755 bootstrap/cache/
chmod 644 .env

# Definir proprietário (se necessário)
chown -R www-data:www-data storage/
chown -R www-data:www-data bootstrap/cache/

2. Instalação das Dependências

Instalar Dependências PHP

# Instalar dependências via Composer
composer install --no-dev --optimize-autoloader

# Se estiver em desenvolvimento
composer install

Instalar Dependências Node.js (Opcional)

# Instalar dependências JavaScript
npm install

# Compilar assets
npm run build

# Para desenvolvimento
npm run dev

3. Configuração do Banco de Dados

Criar Banco de Dados

# Acessar MySQL
mysql -u root -p

# Criar banco de dados
CREATE DATABASE cbav_db CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;

# Criar usuário (opcional)
CREATE USER 'cbav_user'@'localhost' IDENTIFIED BY 'sua_senha_segura';
GRANT ALL PRIVILEGES ON cbav_db.* TO 'cbav_user'@'localhost';
FLUSH PRIVILEGES;

Configurar .env

# Copiar arquivo de exemplo
cp .env.example .env

# Editar configurações do banco
DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=cbav_db
DB_USERNAME=cbav_user
DB_PASSWORD=sua_senha_segura

# Configurar URL da aplicação
APP_URL=https://seudominio.com
APP_ENV=production

4. Configuração da Aplicação

Gerar Chave da Aplicação

# Gerar chave da aplicação
php artisan key:generate

# Limpar cache
php artisan config:clear
php artisan cache:clear
php artisan view:clear

Executar Migrações

# Executar migrações
php artisan migrate

# Executar seeders (opcional)
php artisan db:seed

# Verificar status
php artisan migrate:status

5. Configuração Final

Configurar Storage

# Criar link simbólico para storage
php artisan storage:link

# Otimizar aplicação
php artisan optimize

# Configurar filas (se necessário)
php artisan queue:work

Configurar Cron Jobs

# Adicionar ao crontab
crontab -e

# Adicionar linha
* * * * * cd /path/to/cbav && php artisan schedule:run >> /dev/null 2>&1

Configurações Importantes

Configurações do .env

Configurações Básicas

APP_NAME="Sistema CBAV"
APP_ENV=production
APP_KEY=base64:sua_chave_aqui
APP_DEBUG=false
APP_URL=https://seudominio.com

LOG_CHANNEL=stack
LOG_DEPRECATIONS_CHANNEL=null
LOG_LEVEL=error

Configurações de Email

MAIL_MAILER=smtp
MAIL_HOST=seudominio.com
MAIL_PORT=587
MAIL_USERNAME=noreply@seudominio.com
MAIL_PASSWORD=sua_senha_email
MAIL_ENCRYPTION=tls
MAIL_FROM_ADDRESS=noreply@seudominio.com
MAIL_FROM_NAME="${APP_NAME}"

Configurações de Pagamento

# Stripe
STRIPE_KEY=pk_test_sua_chave_publica
STRIPE_SECRET=sk_test_sua_chave_secreta
STRIPE_WEBHOOK_SECRET=whsec_seu_webhook_secret

# Mercado Pago
MERCADOPAGO_PUBLIC_KEY=TEST_sua_chave_publica
MERCADOPAGO_ACCESS_TOKEN=TEST_sua_access_token
MERCADOPAGO_WEBHOOK_SECRET=seu_webhook_secret

# PIX
PIX_CHAVE=sua_chave_pix
PIX_BENEFICIARIO_NOME="Nome do Beneficiário"
PIX_BENEFICIARIO_CPF_CNPJ=seu_cpf_cnpj
PIX_BANCO=codigo_do_banco

Solução de Problemas

Problemas Comuns

Erro de Permissões

Se houver erro de permissões:

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

Erro de Composer

Se houver erro no Composer:

# Limpar cache do Composer
composer clear-cache
composer install --no-dev --optimize-autoloader

# Se persistir, deletar vendor e reinstalar
rm -rf vendor/
composer install

Erro de Banco de Dados

Se houver erro de conexão:

# Verificar conexão
php artisan tinker
DB::connection()->getPdo();

# Recriar tabelas (cuidado!)
php artisan migrate:fresh --seed

# Verificar status
php artisan migrate:status

Erro de Cache

Se houver problemas de cache:

# Limpar todos os caches
php artisan config:clear
php artisan cache:clear
php artisan view:clear
php artisan route:clear

# Otimizar aplicação
php artisan optimize

Verificação da Instalação

Comandos de Verificação

Verificar Status Geral

# Verificar status da aplicação
php artisan about

# Verificar configurações
php artisan config:show

# Verificar rotas
php artisan route:list

# Verificar migrações
php artisan migrate:status

Verificar Permissões

# Verificar permissões
ls -la storage/
ls -la bootstrap/cache/
ls -la public/storage

# Verificar proprietário
ls -la .env

Testar Funcionalidades

# Testar conexão com banco
php artisan tinker
DB::connection()->getPdo();

# Testar envio de email
php artisan tinker
Mail::raw('Teste', function($message) { $message->to('teste@email.com'); });

# Verificar logs
tail -f storage/logs/laravel.log