[[oktatas:web:back-end_framework:laravel:laravel_rest_api|< Laravel API]] ====== Laravel REST API - Deployment ====== * **Szerző:** Sallai András * Copyright (c) Sallai András, 2023 * Licenc: [[https://creativecommons.org/licenses/by-sa/4.0/|CC Attribution-Share Alike 4.0 International]] * Web: https://szit.hu ===== A .env ===== Az élesítéshez állítsuk be a még kimaradt változókat. Például **APP_ENV**, **APP_DEBUG**. APP_NAME=Projekt01 APP_ENV=production APP_DEBUG=false APP_KEY=base64:SyvMmCx6w8w8rcnsm6sWvq6X2HGm9HQVo7412tPNOic= APP_URL=http://zold.lan ... DB_CONNECTION=mysql DB_HOST=127.0.0.1 DB_PORT=3306 DB_DATABASE=projekt01 DB_USERNAME=projekt01 DB_PASSWORD=titok ===== Optimalizálás ===== Éles szerveren ajánlott az optimalizálás: composer install --optimize-autoloader --no-dev php artisan config:cache php artisan route:cache * https://laravel.com/docs/8.x/deployment#optimization (2021) ===== Szolgáltatóhoz ===== Tegyük fel, hogy a szolgáltató szerverén egy html könyvtárba kell feltölteni a weboldalakat. html/ Másoljuk a Laravel programunk projekt01 könyvtárat a html könyvtár mellé. projekt01/ html/ Ha letöltöttük például a git clone paranccsal a projektet a szerverre, akkor telepítenünk kell a composer függőségeket. Ehhez adjuk ki a következő parancsot: composer update ===== A telepítés helye ===== A projekt01/public könyvtár tartalmát a szolgáltató szerverén a html könyvtárba másoljuk. Csak a tartalmat! A public könyvtár nem kell. Viszont ügyeljünk arra, hogy a rejtett .htaccess állomány is másolásra kerüljön. Szerkesszük az index.php fájlt. Írjuk a vendor elé a projekt01 könyvtárat: require __DIR__.'/../projekt01/vendor/autoload.php'; $app = require_once __DIR__.'/../projekt01/bootstrap/app.php'; valahol/ |-projekt01/ |-html/ A webszerver, ha nem képes írni a projekt storage könyvtárát, akkor adjunk rá jogot. Ha a webszerver a www-data nevében fut, akkor: chown -R www-data: projekt01/storage ===== Adatbázis ===== A helyi szerveren készítsünk egy SQL mentést az adatbázisról, majd ezt töltsük fel a távoli szerverre. ===== Link ===== * https://laravel.com/docs/10.x/deployment (2023)