Instalación de API REST Management en PHP (Fusio)

Saludos a todos, desde hace días había estado buscando algún API Management OpenSource que estuviese desarrollado en PHP, esto me permitiría poder subirlo en cualquier hosting con soporte PHP, en esta oportunidad vamos a instarlo Fusio, en su pagina oficial lo describen como un Manejador de API opensource que nos ayuda a construir  y manejar APIs REST. Fusio permite usar diferentes fuentes de datos y crear mensajes de respuestas personalizados.

Requisitos

  • Cliente GIT (opcional)
  • Apache (con modulo mod_rewrite), MySQL/Postgres database (en mi caso he usado MariaDB), es muy recomendable usar XAMPP, wampserver o cualquier herramienta parecida si no sabes configurar de forma independiente estos componentes.
  • PHP >=7: esto es recomendación de la pagina oficial, en mi caso lo he instalado en PHP 5.6.24 y me ha funcionado bien.
  • Acceso a la consola del sistema operativo (aunque lo puedes instalar en local y luego subir a tu servidor).
  • Composer PHP (Manejador de dependencia para proyectos PHP).

Instalación de Fusio API REST Management

La instalación se realizara en Windows 10, el código fuente se puede obtener desde la pagina web oficial, a través de github.

Descarga:

Rama master: https://github.com/apioo/fusio

Ultima versión estable 0.5.0: https://github.com/apioo/fusio/releases/download/v0.5.0/fusio_0.5.0.zip

Estructura de carpeta de código fuente:

C:\xampp\htdocs\projects\fusio

Es importante seguir la estructura de carpeta recomendada ya que como el proyecto todavía esta en fase beta se puede encontrar en el código referencias a esta estructura.

Paso 1: Instalación de Proyecto con Composer.

El proyecto Fusio esta desarrollado bajo el manejador de dependencias Composer (si desean un tutorial me lo pueden dejar en los comentarios), es por ello que nuestro primer paso consiste en instalar las dependencias de Fusio.

Abrimos una consola de Windows y ejecutamos el siguiente comando:

C:\xampp\htdocs\projects\fusio>php C:\xampp\htdocs\composer.phar install

php: es el ejecutable de php en mi caso lo tengo la variable de entorno PATH del sistema para mayor facilidad, ustedes pueden colocar la ruta donde tenga el ejecutable, ejemplo: C:\xampp\php\php.exe

C:\xampp\htdocs\composer.phar: este es el composer que lo he ubicado en la misma ruta donde tengo mi carpeta de exposición del servidor apache.

install: comando de composer que nos permite instalar un proyecto

Resultado:

instalando fusio con composer

Paso 2: Instalación de Fusio.

Se debe crear una Base de datos que para este ejemplo la crearemos en MariaDB con el nombre de fusio.

Se debe editar el archivo configuration.php quedando de la siguiente manera

configuración fusio

Para este ejemplo de instalación dejaremos los parámetros por defecto, pero es muy recomendado ver todas las opciones disponibles ya que si quieres colocar el proyecto en modo productivo es necesario incrementar la seguridad por ejemplo.

Una vez editada la configuración procedemos a la instalación de Fusio ejecutando el siguiente comando en la consola de Windows:

C:\xampp\htdocs\projects\fusio>php bin\fusio install

y si todo salio bien deberíamos ver algo así:

instalación fusio

 

[ARTICULO EN DESARROLLO]

 Paso 3: Agregar Usuario Administrador:

C:\xampp\htdocs\projects\fusio>php bin/fusio adduser

———————————————————————————————————————————-
Choose the status of the account [0=Consumer, 1=Administrator]: 1
Enter the username: oesoft
Enter the email: [email protected]
Enter the password:
Repeat the password:
Created user oesoft successful

la contraseña debe ser segura, debe contener letras mayúsculas y minúsculas, números y caracteres especiales. Para este ejemplo solo agregaremos un Administrador, los usuarios son administrados también por el dashboard

Paso 4: Verificar instalación y últimos Ajustes

Para verificar la instalación debemos entrar en la url del proyecto, que en mi caso es la siguiente: http://localhost:9090/projects/fusio/public/.

Si todo resulto bien deberian poder ver el siguiente mensaje:

{
    "message": "Congratulations the installation of Fusio was successful",
    "links": [
        {
            "rel": "about",
            "name": "http:\/\/fusio-project.org"
        }
    ]
}

Links:

Dashboard: http://localhost:9090/projects/fusio/public/fusio

Inicio de sessión

login backend

Pantalla principal de dashboard

dashboard fusio

Developer: http://localhost:9090/projects/fusio/public/developer/

login developer

Referencias:

Documentación oficial: http://fusio.readthedocs.io/en/latest/

Instalación oficial: http://www.fusio-project.org/bootstrap

Demo Oficial: http://www.fusio-project.org/demo

Cliente en Angular: https://github.com/apioo/fusio-sample-angularjs

Cliente en Java: https://github.com/apioo/fusio-sample-javacli

 

Espero les guste el articulo, si quieren ver ejemplos de como realizar servicios Rest utilizando fusio o cualquier duda la pueden dejar en los comentarios.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Press ESC to close