Skip to content

Luca-css/rack-manager

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Rack Manager — DCIM Simplificado

Sistema web de gerenciamento de racks de datacenter (DCIM) desenvolvido com PHP 8+ e MySQL.

Funcionalidades

  • 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)

Pré-requisitos

  • Apache 2.4+ com mod_rewrite
  • PHP 8.0 ou superior (extensões: pdo, pdo_mysql)
  • MySQL 5.7+ ou MariaDB 10.3+

Instalação

  1. Clone/copie os arquivos para o diretório web (ex: /var/www/html/rack-manager/ ou C:\xampp\htdocs\rack-manager\).

  2. Crie o banco e importe o schema:

    mysql -u root -p < schema.sql
  3. 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');
  4. Acesse http://localhost/rack-manager/ no navegador.

Estrutura de Arquivos

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

API REST

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

Exemplo de requisição

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"}'

Tipos de Equipamentos

Tipo Cor no diagrama
Servidor Azul
Switch Verde
PDU Amarelo
Patch Panel Roxo
Firewall Vermelho
Storage Ciano
KVM Lilás

Segurança

  • 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

About

Web-based datacenter rack management system (DCIM). PHP + MySQL + JavaScript. Visual 42U rack diagram, asset CRUD, cable tracking, REST API.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors