CAIPIRA FESTIVAL — INSTALAÇÃO CPANEL SEM TERMINAL

1. Requisitos
   Selecione PHP 8.5 no MultiPHP Manager. Pacote validado localmente com PHP 8.5.7 e MySQL 8.0.46.
   Habilite: ctype, curl, dom, fileinfo, filter, hash, mbstring, openssl, pcre, PDO, pdo_mysql, session, tokenizer, xml e zlib.
   Apache/LiteSpeed deve aceitar .htaccess e reescrita de URLs. Não é necessário Node.js, SSH, GD, Composer ou Artisan na hospedagem.

2. Estrutura, mesmo quando o document root não puder ser alterado
   Extraia o ZIP no diretório da conta, FORA de public_html:
     /home/USUARIO/caipira/       aplicação privada, vendor, .env e banco
     /home/USUARIO/public_html/  apenas arquivos públicos, assets e uploads
   O index.php público já aponta para ../caipira e configura o caminho público dos uploads.
   Se já houver outro site na conta, faça backup e use a pasta pública do domínio pretendido. Não sobrescreva outro site.
   Para domínio adicional com outra pasta pública, copie só o conteúdo de public_html para ela e ajuste $base no index.php para o caminho absoluto /home/USUARIO/caipira. Mantenha caipira fora de qualquer pasta web.
   NÃO coloque o ZIP inteiro, .env, SQL ou vendor dentro da pasta pública. Nenhum instalador web é necessário.

3. Banco
   Crie banco e usuário no cPanel, associe o usuário ao banco com as permissões necessárias.
   Abra o banco vazio no phpMyAdmin e importe caipira/database/install.sql (UTF-8).
   O SQL contém estrutura, configurações mínimas e um administrador; não contém eventos, parceiros ou contatos fictícios.
   Importe uma única vez em banco vazio. Uma nova importação pode substituir tabelas existentes.

4. Configuração privada
   Ative “Mostrar arquivos ocultos” no Gerenciador de Arquivos.
   Edite caipira/.env: APP_URL=https://DOMINIO-REAL, DB_HOST, DB_DATABASE, DB_USERNAME e DB_PASSWORD.
   Preserve APP_KEY já gerada e APP_DEBUG=false. Não coloque uma barra no final de APP_URL.
   Configure MAIL_HOST, MAIL_PORT, MAIL_SCHEME, MAIL_USERNAME, MAIL_PASSWORD e MAIL_FROM_ADDRESS conforme o provedor.
   Porta 465: MAIL_SCHEME=smtps. Porta 587 com STARTTLS: MAIL_SCHEME=smtp.
   Remetente deve ser uma conta autorizada pelo provedor. Coloque senhas entre aspas duplas; escape aspas e barras se existirem.
   Ative certificado SSL e “Force HTTPS Redirect” no cPanel antes de acessar o Admin. SESSION_SECURE_COOKIE=true exige HTTPS.
   Configuração não é cacheada; editar .env basta, sem comandos.

5. Permissões
   A conta PHP deve poder gravar em caipira/storage, caipira/bootstrap/cache e public_html/uploads.
   Normalmente pastas 755 e arquivos 644 bastam com PHP executado pelo usuário da conta; .env 600 quando compatível.
   Não use permissões 777. O diretório uploads inclui bloqueio de execução via .htaccess.

6. Primeiro acesso
   Abra https://DOMINIO/admin. As credenciais únicas estão no arquivo local ACESSO-ADMIN-PRIVADO.txt, ao lado do ZIP; ele não faz parte do pacote.
   Altere sua senha em Configurações. Configure destinatário do formulário, canais oficiais e redes sociais.
   Cadastre o conteúdo institucional, eventos e parceiros. O site vazio é intencional.
   Publique um evento para visualizar e baixar o QR Code. Ele reflete imediatamente mudanças de slug e APP_URL.
   O QR só fica disponível com domínio HTTPS definitivo; URLs locais/de exemplo são recusadas.

7. Conferência após instalar
   Abra as cinco páginas, entre/saia do Admin, cadastre um evento, teste upload e leia seu QR com a câmera.
   Envie o formulário e confirme recebimento na caixa real (verifique também spam).
   Verifique que /../caipira/.env, /.env, /vendor e /storage não expõem arquivos. A proteção principal é manter a aplicação fora do document root.
   Se ocorrer erro 500, consulte privadamente caipira/storage/logs/laravel.log; não ative debug no site público.

PENDÊNCIAS PARA PRODUÇÃO
   Domínio definitivo e credenciais reais MySQL/SMTP não foram fornecidos. A entrega real de e-mail e o ambiente cPanel precisam da conferência acima.
   A marca foi reconstruída a partir do mockup anexado. Substitua assets/emblem.webp e assets/brand.webp pelos arquivos oficiais separados quando disponíveis para fidelidade exata.
   Não houve deploy, alteração de DNS ou acesso à hospedagem de produção.
