Ako nainštalovať Laravel PHP Framework na Ubuntu 24.04


Tento návod existuje pre tieto verzie OS

  • Ubuntu 24.04 (Noble Numbat)
  • Ubuntu 22.04 (Jammy Jellyfish)
  • Ubuntu 20.04 (Focal Fossa)
  • Ubuntu 18.04 (Bionic Beaver)
  • Ubuntu 16.04 (Xenial Xerus)

Na tejto stránke

  1. Predpoklady
  2. Inštalácia LAMP Stack a Composer
  3. Voliteľné: Inštalácia Node.js a NPM (Node.js Package Manager)
  4. Konfigurácia PHP
  5. Konfigurácia servera MariaDB
  6. Inštalácia Laravel cez Composer
  7. Nastavenie virtuálneho hostiteľa pre Laravel
  8. Prístup k projektu Laravel
  9. Záver

Laravel je rámec webových aplikácií založený na PHP, ktorý sa používa na vytváranie podnikových webových aplikácií. Je to bezplatný a otvorený webový rámec, ktorý sa riadi architektúrou model-view-controller (MVC) a je založený na Symfony. Poskytuje elegantnú syntax, ktorá vám umožňuje vytvárať aplikácie s čistým kódom a je ľahko čitateľná a zrozumiteľná.

Laravel je podnikový webový rámec na budovanie podnikových a robustných full-stack webových aplikácií. Laravel aplikácie môžu byť dodávané rýchlo bez bolesti hlavy, od procesu vývoja až po výrobu.

Táto príručka vás naučí, ako nainštalovať webový rámec Laravel na server Ubuntu 24.04. Laravel nainštalujete pomocou LAMP Stack (Linux, Apache, MySQL/MariaDB a PHP) a správcu balíkov Composer PHP.

Predpoklady

Pred spustením tejto príručky sa uistite, že máte nasledujúce:

  • Server Ubuntu 24.04.
  • Používateľ bez oprávnenia root s oprávneniami správcu

Inštalácia LAMP Stack a Composer

Laravel je populárny webový rámec PHP pre moderný vývoj webových aplikácií. Musíte sa teda uistiť, že PHP a ďalšie závislosti sú nainštalované na vašom serveri Ubuntu. V tejto časti si nainštalujete Laravel s LAMP Stack (Linux, Apache, MySQL/MariaDB a PHP) a Composer.

Pred inštaláciou balíka spustite nasledujúci príkaz na aktualizáciu vášho úložiska Ubuntu.

sudo apt update

Teraz spustite nasledujúci príkaz na inštaláciu závislostí Laravelu vrátane LAMP Stack (Linux, Apache, MySQL/MariaDB a PHP), Composer a Git.

sudo apt install apache2 mariadb-server php php-curl php-bcmath php-json php-mysql php-mbstring php-xml php-tokenizer php-zip composer git

Ak chcete pokračovať v inštalácii, zadajte Y.

Po dokončení inštalácie skontrolujte stav služby Apache aj MariaDB. Potom skontrolujte verzie PHP aj Composer.

Skontrolujte stav služby Apache pomocou nasledujúceho príkazu. Predvolená služba Apache na Ubuntu by mala byť povolená a spustená automaticky.

sudo systemctl is-enabled apache2
sudo systemctl status apache2

výstup:

Teraz skontrolujte službu MariaDB pomocou príkazu nižšie. Server MariaDB by mal byť povolený a spustený na vašom systéme Ubuntu.

sudo systemctl is-enabled mariadb
sudo systemctl status mariadb

výstup:

Nakoniec skontrolujte verzie PHP a Composer pomocou príkazu nižšie. Vo vašom systéme uvidíte nainštalované PHP 8.3 a Composer 2.7.1.

php -v
sudo -u www-data composer -v

Voliteľné: Inštalácia Node.js a NPM (Node.js Package Manager)

Node.js a NPM sú povinné, ak používate Laravel s nástrojom na vytváranie šablón, ako je Blade a JavaScript. V tejto časti nainštalujete Node.js aj NPM (Node.js Package Manager) cez úložisko Ubuntu.

Ak chcete nainštalovať Node.js a NPM na váš systém Ubuntu, spustite nasledovné:

sudo apt install nodejs npm

Zadajte Y na potvrdenie inštalácie.

Po dokončení inštalácie zadajte nižšie uvedený príkaz a skontrolujte verziu Node.js a NPM.

node --version
npm --version

Nasledujúci výstup ukazuje, že sú nainštalované Node.js 18 a NPM 9.5.

Konfigurácia PHP

Ak chcete spustiť Laravel, musíte sa uistiť, že sú povolené niektoré rozšírenia PHP, ako napríklad fileinfo, mbstring, a openssl. Takže teraz načítate tieto rozšírenia PHP úpravou súboru 'php.ini'.

Pomocou nano editora upravte predvolený konfiguračný súbor PHP '/etc/php/8.3/apache2/php.ini'.

sudo nano /etc/php/8.3/apache2/php.ini

Odkomentujte nasledujúce riadky, aby ste povolili rozšírenia PHP fileinfo, mbstring a openssl.

extension=fileinfo
extension=mbstring
extension=openssl

Uložte súbor a ukončite editor.

Teraz spustite príkaz uvedený nižšie, aby ste reštartovali službu Apache a aplikovali zmeny na PHP.

sudo systemctl restart apache2

Ďalej overte rozšírenia PHP fileinfo, mbstring a openssl pomocou nasledujúceho príkazu. Ak sú tieto rozšírenia povolené, zobrazí sa názov každého rozšírenia.

sudo php -m | grep 'fileinfo\|mbstring\|openssl'

Okrem toho si môžete overiť zoznam povolených PHP rozšírení cez PHPINFO. Vytvorte nový súbor PHPINFO pomocou nasledujúceho príkazu.

echo "<?php phpinfo(); ?>" > /var/www/html/info.php

Potom navštívte stránku http://192.168.5.30/info.php. Skontrolujte rozšírenia fileinfo, mbstring a openssl, aby ste sa uistili, že tieto rozšírenia sú povolené.

Konfigurácia servera MariaDB

Po nakonfigurovaní PHP musíte zabezpečiť svoj server MariaDB a vytvoriť novú databázu a používateľa pre Laravel.

Spustite príkaz „mariadb-secure-installation“ nižšie, aby ste zabezpečili svoj server MariaDB. Teraz sa zobrazí výzva s konfiguráciami servera MariaDB.

sudo mariadb-secure-installation

Po zobrazení výzvy zadajte Y, aby ste použili novú konfiguráciu, alebo napíšte N, aby ste ju odmietli.

  • Predvolená inštalácia MariaDB prichádza bez hesla. Po výzve na zadanie hesla stlačte ENTER.
  • Teraz zadajte Y a nastavte koreňové heslo MariaDB. Potom zadajte nové heslo pre MariaDB a zopakujte heslo.
  • Ak chcete odstrániť anonymného používateľa z vašej inštalácie MariaDB, zadajte Y.
  • Keď sa zobrazí výzva na zakázanie vzdialeného prihlásenia pre používateľa root v službe MariaDB, znova zadajte Y.
  • Ak chcete odstrániť predvolený test databázy z vašej MariaDB, zadajte Y.
  • Nakoniec zadajte Y, aby ste znova načítali privilégiá tabuľky a použili nové zmeny.

Po zabezpečení servera MariaDB musíte vytvoriť novú databázu a používateľa pre svoj projekt Laravel.

Prihláste sa na server MariaDB pomocou príkazu nižšie. Po zobrazení výzvy zadajte svoje root heslo MariaDB.

sudo mariadb -u root -p

Teraz spustite nasledujúce dotazy na vytvorenie novej databázy a používateľa 'laravelapp' s heslom 'password'.

CREATE DATABASE laravelapp;
CREATE USER laravelapp@localhost IDENTIFIED BY 'password';
GRANT ALL PRIVILEGES ON laravelapp.* TO laravelapp@localhost;
FLUSH PRIVILEGES;

Potom spustite nasledujúci dotaz na overenie oprávnení používateľa 'laravelapp'. Váš používateľ tak bude mať prístup k databáze Laravel 'laravelapp'.

SHOW GRANTS FOR laravelapp@localhost;

Nakoniec napíšte quit, čím ukončíte server MariaDB.

Inštalácia Laravel cez Composer

Teraz, keď ste nakonfigurovali PHP a vytvorili databázu MySQL/MariaDB a používateľa, môžete nainštalovať Laravel. V tejto časti nastavíte adresár projektu, nainštalujete Laravel cez Composer a integrujete Laravel s databázou MySQL/MariaDB.

Najprv spustite príkaz uvedený nižšie a vytvorte adresáre /var/www/.cache (pre vyrovnávaciu pamäť aplikácie Composer), /var/www/.config (pre ďalšiu konfiguráciu aplikácie Composer), a /var/www/laravelapp (pre váš projekt Laravel).

sudo mkdir -p /var/www/{.cache,.config,laravelapp}

Teraz zmeňte vlastníctvo adresárov /var/www/.cache, /var/www/.config a /var/www/laravelapp používateľovi 'www-data'.

sudo chown -R www-data:www-data /var/www/{.cache,.config,laravelapp}

Ďalej prejdite do adresára /var/www/laravelapp a nainštalujte Laravel pomocou príkazu Composer nižšie.

cd /var/www/laravelapp/
sudo -u www-data composer create-project laravel/laravel .

Inštalácia Laravel by mala začať takto:

Teraz otvorte súbor '.env' pomocou príkazu editora nano nižšie.

nano .env

Zmeňte predvolenú adresu „APP_URL“ na názov svojej miestnej domény. V tomto príklade bude Laravel bežať na doméne 'laravelapp.local'.

APP_URL=http://laravelapp.local

Zmeňte predvolené 'DB_CONNECTION' na 'mysql', zrušte komentár a zmeňte údaje databázy s vašimi informáciami.

DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=laravelapp
DB_USERNAME=laravelapp
DB_PASSWORD=password

Uložte a ukončite súbor.

Nakoniec spustite príkaz uvedený nižšie na migráciu databázy pre váš projekt Laravel.

sudo -u www-data php artisan migrate

Výstup migrácie databázy Laravel:

Nastavenie virtuálneho hostiteľa pre Laravel

V tejto časti nastavíte súbor virtuálneho hostiteľa pre Laravel. Uistite sa, že máte pripravenú lokálnu doménu pre svoj vývoj Laravel.

Pred vytvorením virtuálneho hostiteľa povoľte modul Apache 'rewrite' pomocou príkazu nižšie.

sudo a2enmod rewrite

Vytvorte novú konfiguráciu virtuálneho hostiteľa '/etc/apache2/sites-available/laravelapp.conf' pomocou nano editora.

sudo nano /etc/apache2/sites-available/laravelapp.conf

Pridajte nasledujúcu konfiguráciu a zmeňte možnosť ServerName na názov vašej domény Laravel, napríklad „laravelapp.local“.

<VirtualHost *:80>
 ServerAdmin [email 
 ServerName laravelapp.local
 DocumentRoot /var/www/laravelapp/public
 <Directory />
 Options FollowSymLinks
 AllowOverride None
 </Directory>
 <Directory /var/www/laravelapp>
 AllowOverride All
 </Directory>
 ErrorLog ${APACHE_LOG_DIR}/error.log
 CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>

Uložte súbor a ukončite editor.

Teraz spustite príkaz nižšie na aktiváciu virtuálneho hostiteľa 'laravelapp.conf' a overte svoju syntax Apache. Ak žiadna chyba, mali by ste vidieť výstup 'Syntax OK'.

sudo a2ensite laravelapp.conf
sudo apachectl configtest

Reštartujte službu Apache, aby ste použili nový súbor virtuálneho hostiteľa Laravel. Po reštartovaní Apache je vaša inštalácia Laravel pripravená.

sudo systemctl restart apache2

Prístup k projektu Laravel

V tomto bode ste pripravení na prístup k inštalácii Laravel prostredníctvom súboru „hosts“.

Pre používateľov Linuxu alebo MacOS upravte súbor '/etc/hosts' ako oprávnenia root. Pre používateľov systému Windows otvorte súbor 'C:\Windows\System32\drivers\etc\hosts' ako správca.

Pridajte svoju IP adresu servera Ubuntu, za ktorou nasleduje názov domény Laravel, ako je uvedené nižšie:

192.168.5.30 laravelapp.local

Uložte a ukončite súbor.

Teraz pomocou webového prehliadača navštívte http://laravelapp.local/. Ak je vaša inštalácia Laravel úspešná, mali by ste získať nasledujúcu stránku:

Záver

Gratulujem! Dokončili ste inštaláciu Laravel na Ubuntu 24.04. Spustili ste Laravel s LAMP Stack (Linux, Apache, MySQL/MariaDB a PHP) a naučili ste sa základný príkaz Composer na vytvorenie projektu.