Felhasználói eszközök

Eszközök a webhelyen


oktatas:web:back-end_framework:laravel:laravel_deploy:debian_gnu_linux

< Laravel deploy

Laravel Deploy Debian GNU/Linuxon

Bevezetés

A Laravel projekt fejlesztési időben tartalmaz egy node_modules könyvtárat. Erre csak fejlesztési időben van szükség. Ne másoljuk fel a szerverre, már csak azért sem mert több ezer állomány is lehet a könyvtárban.

Szerveren szükséges

Laravel függőségeinek a következőt szokták megjelölni:

  • PHP >= 7.1.3
  • OpenSSL PHP Extension
  • PDO PHP Extension
  • Mbstring PHP Extension
  • Tokenizer PHP Extension
  • XML PHP Extension
  • Ctype PHP Extension
  • JSON PHP Extension

Ezek közül alapból megtalálható a php csomag telepítése után: Ctype, OpenSSL és a PDO.

Telepítsük a szükséges fájlokat:

apt install php-cli php-gd php-mbstring php-mcrypt \
 php-zip php-opcache php-xml \
 php-tokenizer php-json php-bcmath unzip curl php-curl

Engedélyezni kell a .htaccess fájl használatát.

Debian GNU/Linuxon, ehhez szerkesszük az apache2.conf fájlt:

sudo nano /etc/apache2/apache2.conf

Keressük meg az AllowOverride beállítást a /var/www könyvtáron. Az alapértelmezett None értéket állítsuk All-ra:

<Directory /var/www/>
        Options Indexes FollowSymLinks
        AllowOverride All
        Require all granted
</Directory>

Engedélyezzük az átírást:

sudo a2enmod rewrite

Indítsuk újra az apache-t:

sudo systemctl restart apache2

Projekt letöltése Git-ről

Tegyük fel, hogy /var/www könyvtárba szeretnénk letölteni, ekkor:

git clone https://github.com/valaki/projekt01.git

Az elérési utat javítsuk saját projektünkre.

PHP függőségek telepítése

Töltsük le a PHP függőségeket a composer segítségével. Itt szólni fog, hogy nem ajánlott rootként futtatni.

cd /var/www/projekt01
composer install

Ha van NodeJS függősége, akkor telepítsük:

npm install

Írható könyvtárak

Állítsuk be, hogy az apache tudjon írni a storage és a bootstrap/cache könyvtárakba:

Ha az apache a www-data nevében fut:

cd /var/www/projekt01
chown -R www-data: storage
chown -R www-data: bootstrap/cache

Adatbázis

Ha van adatbázis, vegyük fel az adatbázis felhasználót és végezzük el a migrálást.

php artisan migrate

Állítsuk be az adatbáziselérést a .env fájlban. Ha nincs .env fájl, másoljunk a .env.example fájlból:

cp .env.example .env

Ha vannak seed adataink, töltsük fel:

php artisan db:seed

public beállítása

A webszerver DocumentRoot könyvtárát állítsuk be a Laravel projekt public könyvtárára.

nano /etc/apache2/sites-available/000-default.conf
    DocumentRoot /var/www/projekt01/public

Indítsuk újra a szervert:

systemctl restart apache2

Kulcs generálás

Generáljunk kulcsot az alkalmazás számára. Ha még nincs .env állományunk készítsük el. Ha adatbázist használunk, az legyen beállítva az állományban.

cd /var/www/projekt01
cp .env.example .env
php artisan key:generate

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

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
oktatas/web/back-end_framework/laravel/laravel_deploy/debian_gnu_linux.txt · Utolsó módosítás: 2021/12/13 07:29 szerkesztette: admin