Späť na blog

Inštalácia a konfigurácia Laravelu s Nginx na Ubuntu 20.04

Inštalácia a konfigurácia Laravelu s Nginx na Ubuntu 20.04

Úvod

Laravel je framework pre webové aplikácie, ktorý prichádza s sadou vstavaných nástrojov a prostriedkov na vývoj moderných PHP aplikácií. Je známy svojou spoľahlivosťou, výkonom, efektívnosťou, modularitou a bezpečnosťou. Vďaka rôznym vstavaným funkciám zaznamenal Laravel neuveriteľný nárast popularity. Mnohí vývojári prechádzajú na Laravel, aby zefektívnili proces vývoja webu.

Tento návod ukáže, ako nainštalovať a nakonfigurovať novú aplikáciu Laravel na Ubuntu 20.04.

Laravel na Ubuntu

Použijeme Composer, správcu závislostí pre PHP, na stiahnutie a správu Laravelu. Ak chcete nainštalovať Composer, postupujte podľa pokynov v tomto návode. The Server Nginx bude obsluhovať aplikáciu. Vytvorí demo aplikáciu Laravel s použitím databázy MySQL.

Tento návod vyžaduje splnenie určitých predpokladov. Predpokladáme, že už máte správne nakonfigurovaný a spustený server Ubuntu 20.04. Pre referenciu je tu rýchly návod na nastavenie servera Ubuntu. Vyžaduje sa tiež mať nainštalovaný a nakonfigurovaný stack LEMP (Linux, Nginx, MySQL a PHP). Máme podrobný návod na inštaláciu a konfiguráciu stacku LEMP.

Keďže budeme inštalovať rôzne balíky, vyžaduje si to oprávnenia root. V prípade Ubuntu je používateľ root predvolene zakázaný. Preto potrebujeme prístup k používateľovi bez oprávnení root s sudo oprávneniami. Tu je návod, ako udeliť oprávnenie sudo ostatným používateľom.

Krok 1 – Inštalácia modulov PHP

Pred inštaláciou Laravelu potrebujeme pre tento framework niekoľko dôležitých modulov PHP. Tieto moduly sú priamo dostupné z predvolených repozitárov balíkov Ubuntu. Tieto moduly podporujú funkcie ako kódovanie znakov, XML a presnú matematiku.

Najprv aktualizujte vyrovnávaciu pamäť APT a nainštalujte balíky:

Krok 2 – Vytvorenie databázy pre aplikáciu

Na demonštráciu funkčnosti Laravelu vytvoríme aplikáciu so zoznamom ciest, ktorá zobrazuje zoznam miest, ktoré by používateľ chcel navštíviť, a zoznam miest, ktoré už sú navštívené. Tieto údaje môžeme uložiť do tabuľky miest s poľami name (názov miesta) a visited (označenie ako visited alebo nonvisited). Ďalšie pole bude obsahovať jedinečný identifikátor pre každý záznam. Na prepojenie údajov s našou aplikáciou Laravel vytvoríme vyhradeného používateľa MySQL a udelíme mu plné oprávnenia k databáze travellist.

Natívna knižnica MySQL PHP mysqlnd už nepodporuje caching_sha2_authentication. Preto musíme nastaviť našu databázu s metódou autentifikácie mysql_native_password. Pristúpte do MySQL shellu ako root:

Ďalej vytvorte novú databázu s názvom travellist:

Potom vytvorte vyhradeného používateľa travellist_user s vhodným heslom:

Udeľte používateľovi travellist_user plné oprávnenia k databáze travellist. To tiež zabráni používateľovi vytvárať a upravovať akékoľvek iné databázy na serveri:

Ukončite MySQL shell:

exit

Poďme nového používateľa otestovať. Nasledujúci príkaz vás prihlási do MySQL shellu ako používateľa travellist_user. Prepínač -p si vyžiada heslo používateľa:

Vypíšte všetky dostupné databázy. Podľa predchádzajúcej konfigurácie by sa mali zobraziť iba travellist a information_schema:

Ďalej musíme vytvoriť dátovú tabuľku places. Spustite nasledujúci príkaz MySQL:

Naplňme tabuľku niekoľkými vzorovými údajmi:

Pozrime sa, či boli údaje úspešne uložené v databáze:

Ako vidíme, testovacia tabuľka je naplnená platnými údajmi. Teraz môžeme ukončiť MySQL shell:

MySQL shell

Step 3 – Vytvorenie novej aplikácie Laravel

Teraz sme pripravení vytvoriť novú aplikáciu Laravel pomocou nástroja Composer. Použijeme travellist ako ukážkovú aplikáciu. Táto aplikácia zobrazí zoznam miest z databázy MySQL, čo demonštruje základnú konfiguráciu Laravelu. Prejdite do domovského adresára používateľa:

Ďalším krokom je vytvorenie novej aplikácie Laravel pomocou nástroja Composer. Tým sa vytvorí vyhradený adresár travellist so základnou aplikáciou Laravel s predvolenými nastaveniami. Spustite nasledujúci príkaz:

composer create-project

Po vytvorení aplikácie môžeme overiť, či boli všetky komponenty úspešne nainštalované:

php artisan

Výstup overuje, že všetky súbory aplikácie sú na svojom mieste. Taktiež uisťuje, že všetky nástroje príkazového riadka Laravel sú funkčné. Stále je však potrebná konfigurácia aplikácie na nastavenie databázy a niekoľko ďalších úprav.

Step 4 – Konfigurácia Laravelu

Všetky konfiguračné súbory Laravelu sú uložené v adresári s názvom config v koreňovom adresári aplikácie. Okrem toho sa pri inštalácii Laravelu pomocou nástroja Composer vytvorí aj súbor prostredia. Obsahuje rôzne nastavenia špecifické pre aktuálne prostredie. Hodnoty v ňom deklarované budú mať prednosť pred hodnotami nastavenými v bežných konfiguračných súboroch v config.

Každá jedinečná inštalácia bude vyžadovať vlastný súbor prostredia na definovanie hodnôt, ako sú nastavenia pripojenia k databáze, URL adresa aplikácie, možnosti ladenia atď. Upozorňujeme, že súbor prostredia obsahuje citlivé informácie, ako sú prihlasovacie údaje k databáze, bezpečnostné kľúče atď. Preto sa dôrazne odporúča tento súbor nikdy verejne nezdieľať.

Otvorte súbor prostredia pomocou textového editora:

Tu je ukážkový kód prostredia:

DB_PASSWORD=password123

Poďme si analyzovať jednotlivé hodnoty:

  • APP_NAME: Toto pole popisuje názov aplikácie. Tento názov sa bude používať na upozornenia a správy.
  • APP_ENV: Aktuálne prostredie aplikácie.
  • APP_KEY: Tento kľúč sa generuje automaticky pri inštalácii Laravelu cez Composer. Používa sa na generovanie solí a hashov. Nie je potrebné ho meniť.
  • APP_DEBUG: Prepínač režimu ladenia. Keď je zapnutý, zobrazí informácie o ladení na strane klienta.
  • APP_URL: Základná URL adresa aplikácie. Používa sa aj na generovanie odkazov v aplikácii.
  • DB_DATABASE: Názov databázy. V tomto prípade to bude vyhradená databáza, ktorú sme vytvorili.
  • DB_USERNAME: Používateľské meno na pripojenie k databáze.
  • DB_PASSWORD: Heslo na pripojenie k databáze.

Po vykonaní zmien súbor uložte a zatvorte editor.

Step 5 – Nastavenie Nginx

Úspešne sme nainštalovali Laravel do lokálneho priečinka domovského adresára používateľa. Táto konfigurácia funguje dobre pre lokálne vývojové prostredie. Neodporúča sa však implementovať ju pre webové servery, ktoré sú otvorené pre verejný internet.

Naším ďalším krokom je presunúť aplikáciu do /var/www , keďže je to obvyklé umiestnenie pre webové aplikácie bežiace na Nginx. Použite príkaz mv na presun travellist do /var/www/travellist:

Ďalej priraďte používateľovi prístup na zápis do priečinkov storage a cache. Toto sú umiestnenia súborov generovaných aplikáciou Laravel:

Súbory aplikácie sú teraz na svojom mieste. Musíme však povedať Nginxu, aby poskytoval tento obsah. Vytvorte nový konfiguračný súbor virtuálneho hostiteľa:

Tu je ukážka odporúčaných nastavení pre aplikáciu Laravel bežiacu na Nginxe:

Je čas aktivovať nový konfiguračný súbor virtuálneho hostiteľa. Vytvorte symbolický odkaz na adresár sites-enabled:

Nasledujúci príkaz Nginx otestuje konfiguračné súbory na syntaktické chyby:

Potom znova načítajte Nginx:

Aplikácia by teraz mala byť dostupná pomocou doménového mena alebo IP adresy (ako je definované direktívou server_name):

Installing Laravel image 3

Step 6 – Prispôsobenie hlavnej stránky

S nakonfigurovanou aplikáciou Laravel môžeme teraz začať pracovať. Na ukážku je čas vytvoriť vzorovú stránku zobrazujúcu vzorové dáta z databázovej tabuľky places. Najprv otvorte hlavný súbor smerovania v textovom editore:

Súbor bude predvolene obsahovať nejaký obsah. Tu sú trasy definované pomocou statickej metódy (Route::get). Prijíma path a callback funkciu ako argumenty.

Nahraďte kód nasledujúcim:

Installing Laravel image 2

Uložte súbor a zatvorte editor. Ďalej vytvoríme rozloženie na vykreslenie výsledkov databázového dopytu používateľovi. Vytvorte nový súbor v rámci resource/views:

V nasledujúcom kóde sme vytvorili dva zoznamy miest v závislosti od hodnoty visited a togo:

Installing Laravel image 1

Uložte súbor a zatvorte editor. Teraz znova prejdite na stránku webovej aplikácie:

Travel list

Voila! Teraz máme funkčnú aplikáciu Laravel, ktorá pre obsah využíva databázu MySQL.

Záver

V tomto návode sme si ukázali, ako nastaviť aplikáciu Laravel na LEMP stacku bežiacom na serveri Ubuntu 20.04. Ukázali sme si tiež, ako prispôsobiť predvolenú trasu (route) na dopytovanie obsahu databázy a zobrazenie výsledkov vo vlastnom zobrazení (view). Ďalšie informácie o systéme Laravel nájdete v oficiálnej dokumentácii pre views, routes, a podporu databáz.

Inštalácia v tomto návode sa vykonáva na samostatnom virtuálnom stroji. Môžete však tiež nasadiť Laravel na LEMP stacky v Dockeri.

Príjemnú prácu!

author

Hark Labs

Autor · CloudSigma

Preslav Dobrev je kreatívny dizajnér v spoločnosti CloudSigma, ktorý sa zameriava na konzistentnú firemnú identitu prostredníctvom tradičných a inovatívnych marketingových kanálov. Dokáže brilantne spájať umeleckú víziu so strategickým marketingom, čím vytvára pôsobivé príbehy značky.

Komentáre

Zatiaľ žiadne komentáre. Buďte prvý.