[[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)