
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
¿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.