HEX
Server: Apache
System: Linux vps-4103104.goatdigital.com.br 3.10.0-1160.76.1.el7.x86_64 #1 SMP Wed Aug 10 16:21:17 UTC 2022 x86_64
User: wwgoat (1001)
PHP: 8.0.30
Disabled: NONE
Upload Files
File: /home/wwgoat/public_html/www/Webmail-Seguro/INSTRUCOES_SQLITE.md
# Instruções de Migração para SQLite

## O que foi alterado

O projeto foi migrado de MySQL/MariaDB para SQLite. Todas as conexões de banco de dados foram atualizadas para usar PDO com SQLite.

## Arquivos Criados

1. **config.php** - Arquivo de configuração centralizado para conexão com SQLite
2. **webmail.sqlite.sql** - Script SQL para criar as tabelas no SQLite
3. **init_db.php** - Script de inicialização do banco de dados

## Como Inicializar o Banco de Dados

1. Execute o script de inicialização através do navegador ou linha de comando:

   **Via navegador:**
   - Acesse: `http://localhost/seu-projeto/init_db.php`
   
   **Via linha de comando:**
   ```bash
   php init_db.php
   ```

2. O script irá criar o arquivo `webmail.db` na raiz do projeto com todas as tabelas necessárias.

## Estrutura do Banco de Dados

O banco SQLite contém as seguintes tabelas:

- **acessos** - Registro de acessos ao sistema
- **administradores** - Credenciais dos administradores
- **usuarios** - Dados dos usuários registrados
- **sessoes_ativas** - Rastreamento de sessões ativas

## Credenciais Padrão do Administrador

- **Username:** adm
- **Password:** 123456

⚠️ **IMPORTANTE:** Altere a senha padrão após a primeira inicialização!

## Arquivos Modificados

Todos os arquivos PHP foram atualizados para usar SQLite:

### Raiz do projeto:
- `receber.php`

### Pasta admin:
- `autenticar.php`
- `usuarios.php`
- `registrar_acesso.php`
- `contador_acessos.php`
- `limpar_clicks.php`
- `excluir_todas_informacoes.php`
- `excluir_usuario.php`
- `salvar_todas_informacoes.php`
- `registro_sessao.php`
- `incrementar_click.php`
- `trocar_senha.php`
- `atualizar_informacoes.php`

## Diferenças entre MySQL e SQLite

Algumas adaptações foram feitas:

1. **CURRENT_TIMESTAMP** → **datetime('now')** para SQLite
2. **mysqli** → **PDO** para melhor portabilidade
3. **fetch_assoc()** → **fetch()** com PDO
4. **num_rows** → **count()** ou verificação de resultado
5. **bind_param()** → **execute()** com array de parâmetros

## Permissões do Arquivo

Certifique-se de que o diretório tem permissões de escrita para criar o arquivo `webmail.db`:

```bash
chmod 755 .
chmod 644 webmail.db (após criação)
```

## Backup

O arquivo SQL original (`webmail.sql`) foi mantido para referência. O novo arquivo SQLite está em `webmail.sqlite.sql`.

## Suporte

Se encontrar algum problema, verifique:
1. Se o PHP tem extensão SQLite habilitada (`php -m | grep sqlite`)
2. Se as permissões do diretório estão corretas
3. Se o arquivo `webmail.db` foi criado corretamente