Instalação API CPF

Configure sua API de consulta CPF em apenas alguns passos simples

1

Verificar Requisitos

Antes de começar, certifique-se de que seu servidor atende aos seguintes requisitos:

PHP 7.4+
Versão recomendada: 8.0 ou superior
SQLite 3
Extensão PDO SQLite habilitada
Nginx / Apache
Servidor web compatível
SSL Certificate
Recomendado para produção
Verificar requisitos no servidor:
php -v
php -m | grep -i pdo
php -m | grep -i sqlite
2

Baixar Arquivos

Faça o download dos arquivos da API e extraia-os no diretório desejado:

Via Git (recomendado):
git clone https://github.com/seu-repositorio/cpf-api.git
cd cpf-api
Via ZIP:
# Baixe o arquivo ZIP e extraia
unzip cpf-api.zip -d /var/www/html/

Estrutura de diretórios esperada:

cpf-api/
├── api/
│   └── index.php
├── config/
│   └── config.php
├── includes/
│   ├── auth.php
│   ├── database.php
│   ├── cpf-consulta.php
│   └── functions.php
├── admin/
│   ├── index.html
│   └── setup.php
├── database/
├── index.html
├── login.html
├── install.html
└── .htaccess
3

Configurar Ambiente

Configure os arquivos de ambiente e permissões:

1. Definir permissões corretas:
# Permissões para diretórios
find . -type d -exec chmod 755 {} \;

# Permissões para arquivos
find . -type f -exec chmod 644 {} \;

# Permissões especiais para pasta database
chmod 775 database/
2. Configurar arquivo config.php:
// Edite o arquivo config/config.php
// Altere as configurações conforme necessário

define('ENVIRONMENT', 'production');
define('DEBUG', false);
define('ADMIN_PASSWORD', 'sua_senha_secreta_aqui');
3. Criar banco de dados inicial:
# O banco de dados será criado automaticamente
# Verifique se a pasta database tem permissão de escrita
ls -la database/
4

Configurar Servidor Web

Configure seu servidor web para servir a aplicação:

Nginx (recomendado):
server {
    listen 80;
    server_name seu-dominio.com;
    root /var/www/html/cpf-api;
    index index.php index.html;

    location / {
        try_files $uri $uri/ /index.html;
    }

    location /api {
        try_files $uri $uri/ /api/index.php?$query_string;
    }

    location ~ \.php$ {
        include snippets/fastcgi-php.conf;
        fastcgi_pass unix:/var/run/php/php8.0-fpm.sock;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        include fastcgi_params;
    }

    location ~ /\.ht {
        deny all;
    }
}
Apache (.htaccess):
# O arquivo .htaccess já está configurado
# Certifique-se de que o mod_rewrite está habilitado

RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.html [QSA,L]

Após configurar, reinicie o servidor:

Reiniciar serviços:
# Nginx
sudo systemctl restart nginx
sudo systemctl restart php8.0-fpm

# Apache
sudo systemctl restart apache2
5

Configurar SSL

Configure SSL para produção (recomendado):

Let's Encrypt (gratuito):
# Instalar Certbot
sudo apt update
sudo apt install certbot python3-certbot-nginx

# Gerar certificado
sudo certbot --nginx -d seu-dominio.com -d www.seu-dominio.com

# Testar renovação automática
sudo certbot renew --dry-run

O Certbot configurará automaticamente o SSL no seu Nginx.

6

Primeiro Acesso

Após a instalação, acesse sua aplicação:

Página Inicial
https://seu-dominio.com
Painel Admin
https://seu-dominio.com/admin
Documentação API
https://seu-dominio.com/api
Login
https://seu-dominio.com/login.html
Credenciais padrão (altere imediatamente):
Admin URL: https://seu-dominio.com/admin/setup.php
Senha Admin: admin123 (altere no arquivo config/config.php)
Ir para Página Inicial Acessar Painel Admin
7

Solução de Problemas

Problemas comuns e suas soluções:

Erro 404 - Página não encontrada

Verifique a configuração do servidor web e as regras de rewrite.

# Verificar configuração Nginx
sudo nginx -t
sudo systemctl restart nginx

Erro de banco de dados

Verifique as permissões da pasta database e a extensão PDO SQLite.

# Verificar permissões
ls -la database/
chmod 775 database/

# Verificar extensão SQLite
php -m | grep pdo_sqlite

Erro de autenticação

Verifique se a API key está sendo enviada corretamente no header.

curl -H "Authorization: Bearer sua_api_key" \
     https://seu-dominio.com/api/consulta?cpf=12345678901

Precisa de ajuda? Consulte a documentação completa em docs/README.md ou acesse o painel admin para mais opções.