# NB LEX — instalação por FTP

Endereço: https://nblex.roughdesign.com.br

Este pacote é para a PRIMEIRA instalação. Não contém o banco do preview, contas ativadas,
senhas de teste, comentários de demonstração ou conclusões simuladas.

## 1. Criar o subdomínio e preparar a hospedagem

No painel da hospedagem, crie `nblex.roughdesign.com.br` e aponte o DNS para seu servidor.
Ative o certificado SSL para esse subdomínio e selecione PHP 8.2 ou superior,
com as extensões PDO e pdo_sqlite habilitadas.

Configure a raiz de documentos do subdomínio para uma pasta terminada em `nblex/public`,
fora da pasta pública do site principal. Exemplo:

```
/home/SUA_CONTA/nblex/               ← pasta do projeto no servidor
  private/                         ← NÃO deve ser acessível pela web
    .htaccess
    config.php                     ← já configurado para o subdomínio
    bootstrap.php
    stages.php
    schedule.php
    migrations.php
    data/
      .htaccess
  public/                          ← raiz de documentos do subdomínio
    .htaccess
    index.php
    assets/
```

O caminho `/home/SUA_CONTA` é um exemplo: use a pasta privada da sua conta de hospedagem.
Se o painel não permitir escolher essa raiz, NÃO coloque a pasta private dentro de
public_html ou da raiz pública do subdomínio. Será necessário ajustar o caminho de
carregamento da primeira linha do index.php à localização privada disponível.

## 2. Enviar os arquivos

Extraia o ZIP no computador. Pelo cliente FTP, envie somente as pastas `public` e
`private`, preservando os nomes e a estrutura, para a pasta `nblex` do servidor.
Ative a exibição de arquivos ocultos no cliente FTP e confira o envio dos `.htaccess`.
Use a conexão segura oferecida pela hospedagem (FTPS ou SFTP).

NÃO envie o ZIP, este manual, o manifesto nem o arquivo PRIMEIRO-ACESSO ao servidor.
Não é necessário instalar dependências, executar comandos ou importar um banco.

Permissões usuais: arquivos 644 e pastas 755. Para `private/config.php`, prefira 600
quando o PHP executa sob o mesmo usuário; em hospedagens com outro grupo, ajuste conforme
o provedor. O PHP precisa ler os arquivos privados e gravar em `private/data/`;
normalmente 700 ou 750 atendem quando o proprietário/grupo estão corretos. Não use 777.

## 3. Ativar o primeiro administrador

1. Abra https://nblex.roughdesign.com.br/index.php?page=setup após o HTTPS funcionar.
2. Abra o arquivo local `PRIMEIRO-ACESSO-NAO-ENVIAR-AO-SERVIDOR.txt`.
3. Copie a chave de instalação para a tela e crie sua senha pessoal.
4. Seu usuário será **giuliano**. Não existe senha padrão de produção.
5. Em **Pessoas e acessos**, gere e envie em particular os convites de Gisleine, Juliae,
   Nina e Beatrice. Cada pessoa cria sua senha; cada convite vale por 48 horas e uma utilização.
6. Depois da ativação, edite `private/config.php` no servidor e deixe `'setup_key' => ''`.

Administradores: giuliano, gisleine e juliae.
Visualização e comentários: nina e beatrice.

## 4. Estado inicial e conferência

Estrutura e Conteúdo começam Em andamento. As outras cinco etapas começam Não iniciadas.
Progresso inicial: 0% — nenhuma etapa está marcada como entregue.

| Etapa | Início | Previsão | Dias úteis |
|---|---|---|---:|
| Estrutura | 15/10/2026 | 16/12/2026 | 45 |
| Conteúdo | 01/10/2026 | 28/10/2026 | 20 |
| Layout da home page | 30/10/2026 | 09/11/2026 | 7 |
| Layout das demais páginas | 10/11/2026 | 16/11/2026 | 5 |
| Protótipo / Programação | 17/11/2026 | 24/11/2026 | 6 |
| Possíveis correções | 25/11/2026 | 02/12/2026 | 6 |
| Implantação | 03/12/2026 | 16/12/2026 | 10 |

As linhas usam verde (adiantada), azul (dentro do prazo) e vermelho (atrasada), com
Previstos e Realizados em destaque. Contagem de segunda a sexta, sem excluir feriados.
O impacto é uma projeção: não desloca automaticamente as datas combinadas.

Confira no navegador: logo, sete etapas, períodos, login, logout e primeiro convite.
Confira que `https://nblex.roughdesign.com.br/private/config.php` retorna 404 (ou 403),
nunca conteúdo de configuração. O banco deve existir somente em private/data.

## Se algo não abrir

- “Configuração pendente”: confira o envio de private/config.php e a posição das duas pastas.
- “could not find driver” no log PHP: habilite pdo_sqlite no painel de extensões PHP.
- Banco não é criado: ajuste o proprietário/permissões de private/data para o usuário PHP.
- Erro 500: consulte o log da hospedagem. Se `Options -Indexes` não for permitido,
  remova somente essa linha do public/.htaccess e desative listagem de diretórios no painel.
- Redirecionamento repetido atrás de proxy: ative HTTPS obrigatório pelo painel do provedor
  e remova o bloco mod_rewrite de public/.htaccess. Mantenha secure_cookies como true.

As regras .htaccess são para Apache/LiteSpeed. Em Nginx, configure HTTPS e a raiz de
documentos pelo painel/provedor; os arquivos privados continuam fora da raiz pública.

## Atualizações depois de publicado

NÃO reenvie este pacote inteiro sobre uma instalação em uso. Preserve o config.php
do servidor e todo o diretório private/data, que contém usuários, senhas e comentários.
Atualizações futuras devem enviar somente arquivos de código e assets.
Faça backup do banco usando ferramenta SQLite de backup ou com o aplicativo temporariamente
indisponível. Guarde banco e configuração em local privado, fora da área pública.
