wgnann / copaco

COntrole de PArque COmputacional

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Build Status

GitHub pull requests GitHub closed pull requests

GitHub issues GitHub closed issues

Sistema de COntrole de PArque COmputacional

Sistema desenvolvido em Laravel para promover a integração e paz entre os devs da USP! 🐧 Tem por objetivo tornar a gerência dos equipamentos que navegam em sua rede mais eficiente e prática.

Funcionalidades:

  • Cadastro de equipamentos com MAC Address
  • Cadastro de redes
  • Atribuição automática de IPs livres
  • Geração de dhcpd.conf com suporte a multi redes/subredes
  • Geração de configuração para servidores freeradius, basicamente para entregarem a vlan correspondente ao MACaddress

Instalação de bibliotecas e dependências

node
php7+
php-bcmath
php-ldap
php-curl

Procedimentos de deploy

Em seu terminal:

composer install
cp .env.example .env

Editar o arquivo .env

  • Dados da conexão
  • Dados do OAuth e números USP dos admins do sistema
    SENHAUNICA_KEY=
    SENHAUNICA_SECRET=
    SENHAUNICA_CALLBACK_ID=

Rode as migrations

php artisan key:generate
php artisan migrate

Caso falte alguma dependência, siga as instruções do composer.

Configurar os SUPERADMINS que terão permissão total no sistema:

SUPERADMINS_USERNAMES=14234,zezinho,9876663

Compile os assests com npm

npm install
npm run dev

Publicando Assets do AdminLTE

Para ter a font disponível usando o AdminLTE, utilize o comando:

php artisan deploy:assets

FreeRadius

Se for usar o Freeradius, criar um segundo banco de dados com o esquema e setar as variáveis no .env:

FREERADIUS_HABILITAR=True
FREERADIUS_HOST=localhost
FREERADIUS_USER=freeradius
FREERADIUS_DB=freeradius
FREERADIUS_PASSWD=freeradius

Setup para usuário local de desenvolvimento

Caso você não possua o token de utilização da senha única, proceda da seguinte forma:

No seu arquivo .env, verifique se o seu APP_ENV está configurado para local.

Rode o comando de setup::

php artisan copaco:setup_dev

Caso já tenha rodado o comando anteriormente, dê um refresh:

php artisan migrate:refresh

Você deve ver a seguinte saída:

Gerando usuário para dev...
Seeding: DevUserSeeder
Seu developer id é: 11223344
Configure-o em seu arquivo .env

No seu arquivo .env, configure as entradas:

SENHAUNICA_OVERRIDE=true
DEVELOPER_ID=<numero gerado pelo seeder>

Assim é possível logar no sistema sem necessidade do token configurado no seu ambiente de desenvolvimento

Seeders que podem ajudar na produção de dados aleatórios:

php artisan migrate --seed

Testes TDD

./vendor/bin/phpunit

Criar uma chave no .env para requisições no servidores dhcp e freeradius, exemplo:

CONSUMER_DEPLOY_KEY=d34dhd892nfAzt1OMC0x

Exemplo de como consumir um dhcpd.conf:

curl -s -d "consumer_deploy_key=d34dhd892nfAzt1OMC0x" -X POST http://localhost:8000/dhcpd.conf

Exemplo de como consumir um mods-config/files/authorize para freeradius:

curl -s -d "consumer_deploy_key=d34dhd892nfAzt1OMC0x" -X POST http://localhost:8000//freeradius/authorize-file

Contribuindo com o projeto

Passos iniciais

Siga o guia no site do uspdev

Padrões de Projeto

Utilizamos a PSR-2 para padrões de projeto. Ajuste seu editor favorito para a especificação.

About

COntrole de PArque COmputacional


Languages

Language:PHP 83.6%Language:HTML 16.1%Language:Vue 0.3%