Generador de usuario hotspot con API Mikrotik PHP
Aplicación de gestión de usuarios hotspot que utiliza la API Mikrotik PHP. Tiene las siguientes capacidades:
- Puede crear y generar usuarios hotspot a través de la interfaz de la aplicación
- Puede administrar el ancho de banda del usuario a través de la interfaz de la aplicación
- Puede configurar el tiempo de acceso a la red de hotspot a través de la interfaz de la aplicación
- Realizado bajo MVC, POO
- Se requiere PHP en su version 7 en adelante. Recomendable tener tu entorno de prueba XAMPP en Windows o MAMP en Mac.
- Poner en htdocs la carpeta del proyecto, (un nombre sin espacios).
- En la estrucutura de directorios se cuenta con 3 archivos .htaccess de estos se tiene que cambiarle algo a uno de estos.
- En la carpeta public se modifica en el .htaccess la linea /base/public/ por el nombre que le hayas puesto a tu directorio en htdocs. Como ejemplo, base es la carpeta que contiene el proyecto, su .htaccess:
<IfModule mod_rewrite.c>
Options -Multiviews
RewriteEngine On
RewriteBase /base/public/
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.+)$ index.php?url=$1 [QSA,L]
</IfModule>
- Sí en htdocs le pones de nombre mikrovouchers a la carpeta del proyecto, RewriteBase queda como RewriteBase /mikrovouchers/public/
<IfModule mod_rewrite.c>
Options -Multiviews
RewriteEngine On
RewriteBase /mikrovouchers/public/
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.+)$ index.php?url=$1 [QSA,L]
</IfModule>
- Dentro del directorio app/config hay un archivo llamado config.php con un contenido que tiene unas contantes:
<?php
// Raíz de la aplicación
define('APPROOT', dirname(dirname (__FILE__)));
// Url raíz
define('URLROOT', 'http://localhost:8888/base');
//nombre del sitio
define('SITENAME', 'MikrotikPHP');
define('ROOTFOLDER','/base/');
- De esas constantes modificas su valor la constante URLROOT, y ROOTFOLDER por el nombre que tu le hayas puesto a la carpeta en htdocs. Donde URLROOT quedaría como http://localhost/mikrovouchers o http://localhost:3030/mikrovouchers si tu entorno de prueba de servidor requiere un puerto en especifico. La constante ROOTFOLDER solo tendría el nombre de la carpeta del proyecto /mikrovouchers/. Quedando así como se muestra:
<?php
// Raíz de la aplicación
define('APPROOT', dirname(dirname (__FILE__)));
// Url raíz
define('URLROOT', 'http://localhost/mikrovouchers');
//nombre del sitio
define('SITENAME', 'MikrotikPHP');
define('ROOTFOLDER','/mikrovouchers/');
- Por último y no menos importante, se requiere un router Mikrotik con el sistema RouterOS, porque se ocupará la API oficial para PHP para hacer cosas interesantes con este. Para este desarrollo se probó con un equipo similar al de la imagen.
Es requerido un router mikrotik, en teoria debe funcionar para todos los modelos, dado que todos son gobernados por RouterOS. Sí no se cuenta con un equipo real, es posible (creo yo) con GNS3 emular un router mikrotik.