Sistema web de gerenciamento de racks de datacenter (DCIM) desenvolvido com PHP 8+ e MySQL.
- Dashboard com estatísticas em tempo real: total de racks, ativos, ocupação (%), slots livres
- Visualização de racks com diagrama visual de 42U usando CSS Grid, cores por tipo de equipamento
- CRUD completo de ativos: servidores, switches, PDUs, patch panels, firewalls, storage, KVM
- Gerenciamento de cabos: registro de conexões entre equipamentos com tipo, cor e comprimento
- API REST em PHP para integração com outros sistemas
- Filtros e busca em tempo real nas tabelas
- Dark theme responsivo (#020c1b / #00d4ff)
- Apache 2.4+ com mod_rewrite
- PHP 8.0 ou superior (extensões: pdo, pdo_mysql)
- MySQL 5.7+ ou MariaDB 10.3+
-
Clone/copie os arquivos para o diretório web (ex:
/var/www/html/rack-manager/ouC:\xampp\htdocs\rack-manager\). -
Crie o banco e importe o schema:
mysql -u root -p < schema.sql -
Configure as credenciais em
db.php:define('DB_HOST', 'localhost'); define('DB_NAME', 'rack_manager'); define('DB_USER', 'seu_usuario'); define('DB_PASS', 'sua_senha');
-
Acesse
http://localhost/rack-manager/no navegador.
rack-manager/
├── index.php — Dashboard principal
├── racks.php — Listagem de racks em cards
├── rack-view.php — Diagrama visual de rack por ID
├── assets.php — CRUD de ativos (servidores, switches…)
├── cables.php — Registro de cabos e conexões
├── api.php — REST API (GET/POST JSON)
├── db.php — Conexão PDO MySQL
├── schema.sql — Estrutura do banco + dados de exemplo
└── style.css — Dark theme completo
| Método | Endpoint | Descrição |
|---|---|---|
| GET | api.php?action=racks |
Lista racks com estatísticas |
| GET | api.php?action=assets |
Lista todos os ativos |
| GET | api.php?action=assets&rack_id=1 |
Ativos de um rack específico |
| GET | api.php?action=stats |
Estatísticas gerais |
| POST | api.php?action=add_asset |
Adiciona novo ativo (JSON body) |
| POST | api.php?action=update_asset |
Atualiza ativo existente |
| POST | api.php?action=delete_asset |
Remove ativo (by id) |
| GET | api.php?action=cables |
Lista cabos |
| POST | api.php?action=add_cable |
Registra novo cabo |
curl -s "http://localhost/rack-manager/api.php?action=stats" | jq .curl -X POST "http://localhost/rack-manager/api.php?action=add_asset" \
-H "Content-Type: application/json" \
-d '{"hostname":"SRV-NOVO-01","tipo":"servidor","rack_id":1,"posicao_u":10,"altura_u":2,"ip_gerencia":"10.10.1.50","status":"ativo"}'| Tipo | Cor no diagrama |
|---|---|
| Servidor | Azul |
| Switch | Verde |
| PDU | Amarelo |
| Patch Panel | Roxo |
| Firewall | Vermelho |
| Storage | Ciano |
| KVM | Lilás |
- Todas as queries usam PDO com prepared statements (proteção contra SQL Injection)
- Input HTML escapado com
htmlspecialchars() - Em produção: configure usuário MySQL com permissões mínimas (SELECT, INSERT, UPDATE, DELETE apenas no banco
rack_manager) - Adicione autenticação (ex: HTTP Basic Auth no Apache ou session PHP) antes de expor em rede pública