Laravel

Laravel

Clonación, configuración de entorno, optimización para producción y gestión de CORS en Laravel.


Clonar proyecto

Clone your project

Go to the folder application using cd command on your cmd or terminal

Run composer install on your cmd or terminal

Copy .env.example file to .env on the root folder. You can type copy .env.example .env if using command prompt Windows or cp .env.example .env if using terminal, Ubuntu

Open your .env file and change the database name (DB_DATABASE) to whatever you have, username (DB_USERNAME) and password (DB_PASSWORD) field correspond to your configuration.

Run php artisan key:generate

Run php artisan migrate

Run php artisan serve

Go to http://localhost:8000/

Producción

Agregar las siguientes líneas de terminal al script:

php artisan config:cache

php artisan event:cache

php artisan route:cache

php artisan view:cache

Importantepara la correcta implementación de las variables del .env

php artisan config:clear

CORS

Para administrar los permisos de realización de consultas desde otras apps, webs o plataformas debemos cumplir los siguientes requisitos:

No deben existir las cabeceras CORS en public/index.php (porque hayan sido creadas manualmente);

No debe existir archivo Http/middleware/Cors.php (porque haya sido creado manualmente);

En Route::group se debe quitar el “‘middleware’ => ‘cors’”;

No debe existir referencia a dicho archivo en Kernel.php (porque haya sido editado manualmente);

Debe existir la entrada Fruitcake/Cors en en bloque “protected $middleware = [” en Kernel.php. De lo contrario, el componente no ha sido instalado por defecto y debemos instalarlo mediante

composer require fruitcake/laravel-cors

Dicha entrada debe estar colocada la primera posición de entre el resto de entradas del bloque;

Debe haberse generado el archivo config/cors.php. De no existir, correremos

php artisan vendor:publish –tag=“cors”

Este archivo debe estar preconfigurado para admitir todas las peticiones.

Para Laravel 9.x (PHP 8.0):

Eliminar la referencia a “fruitcake/laravel-cors” del composer.json

Sustituir la referencia \Fruitcake\Cors\HandleCors::class por \Illuminate\Http\Middleware\HandleCors::class en http/kernel.php

Para restringir consultas de la API solo a determinadas plataformas:

Editamos el archivo config/cors.php:

Paths: son las rutas a las que tendrá acceso;

allowed_mehods, los métodos;

allowed_origins, las webs que pueden realizar dichas consultas;

allowed_headers los tipos de métodos (POST, GET, etc.)

support_credentials habilita o deshabilita la “transferencia” de cookies de sesión de la plataforma a la API. Si se están usando tokens rotativos es innecesario.

Para aplicar nuestros cambios hay que realizar forzosamente

php artisan config:cache

Soporte e Implantación

¿Necesitas ayuda implementando esta solución?

El equipo de ingenieros de Kuretes puede encargarse de la configuración, migración y mantenimiento seguro de estos entornos en tu infraestructura empresarial.