Jak nasadit aplikaci Laravel s ISPConfig

Procédure

Nasazení aplikace Laravel na VPS s ISPConfig se provádí konfigurací vaší domény, webu v administračním panelu a následnou instalací projektu z příkazové řádky s vyhrazeným účtem. Laravel je open source webový framework v PHP určený k tvorbě robustních a moderních webových aplikací díky přehledné a elegantní architektuře. Tento kompletní postup vás krok za krokem provede až k zobrazení zabezpečené úvodní stránky přes HTTPS, aniž byste museli používat root oprávnění serveru.

Postup

  1. Vytvoření DNS záznamu pro vaši doménu nebo subdoménu

    Přejděte do sekce správy vaší domény, otevřete záložku DNS zóna a poté vytvořte novou položku. Zvolte typ A, vyplňte požadovanou subdoménu (například laravel pro laravel.learnlws.fr), zadejte IP adresu vašeho VPS serveru (např. 203.0.113.10) a klikněte na Přidat.

    Jak nasadit aplikaci Laravel s ISPConfig
  2. Přístup do rozhraní ISPConfig z klientské zóny

    Ve vašem zákaznickém účtu LWS pro VPS najděte blok Správa vašeho serveru a klikněte na tlačítko Administrátorský panel pro přihlášení do ISPConfig.

    Jak nasadit aplikaci Laravel s ISPConfig
  3. Přidání webu s PHP-FPM a Let's Encrypt

    V ISPConfig přejděte do menu Sites a klikněte na Add new website. Zadejte svou úplnou doménu (např. laravel.learnlws.fr), v případě potřeby vyberte alias Auto-Subdomain, povinně zaškrtněte políčka SSL a Let's Encrypt SSL, nastavte pole PHP na PHP-FPM, zvolte aktuální verzi PHP a poté klikněte na Save.

    Jak nasadit aplikaci Laravel s ISPConfig
  4. Vytvoření Shell uživatele pro projekt

    V levém menu přejděte do sekce Command Line a klikněte na SSH/SFTP-User, poté na Add new SSH-User. Vyberte svůj web, zadejte uživatelské jméno (před kterým bude automatická předpona, například defaultlaravelapp), nastavte bezpečné heslo, ponechte parametr Chroot Shell na None, aby bylo možné globální spouštění PHP nástrojů, a poté klikněte na Save.

    Jak nasadit aplikaci Laravel s ISPConfig
  5. Vytvoření databáze MySQL a jejího uživatele

    V levém menu v sekci Databases nejprve přidejte uživatele MySQL přes Database Users a přiřaďte mu silné heslo. Poté přejděte do Databases, klikněte na Add new Database, vyberte svůj web, pojmenujte databázi a připojte právě vytvořeného uživatele MySQL, než vše potvrdíte.

  6. Připojení přes SSH a nasazení projektu pomocí Composeru

    Otevřete terminál a připojte se pomocí svého shell uživatele: ssh defaultlaravelapp@203.0.113.10. Ověřte, že je Composer (standardní správce závislostí pro PHP) dostupný pomocí příkazu composer -V; pokud ještě není přítomen, stáhněte jeho spustitelný soubor přímo do svého účtu. Přejděte do adresáře hostingu a inicializujte projekt příkazem composer create-project laravel/laravel . (nebo naklonujte svůj Git repozitář před spuštěním composer install).

  7. Nastavení souboru .env, vygenerování klíče a migrace databáze

    Upravte soubor .env v kořenovém adresáři vašeho Laravel projektu pomocí editoru, jako je nano: nastavte APP_URL=https://laravel.learnlws.fr a doplňte parametry MySQL (DB_HOST=203.0.113.10, DB_DATABASE, DB_USERNAME, DB_PASSWORD). Poté spusťte generování šifrovacího klíče pomocí php artisan key:generate a následně proveďte migrace příkazem php artisan migrate pro vytvoření tabulek.

  8. Úprava veřejné složky webu a oprávnění

    Laravel zveřejňuje svůj vstupní bod ze své podsložky public/. V ISPConfig upravte direktivu document root Apache vašeho webu tak, aby směřovala do této složky public/ (nebo propojte složku web/ s public/), a poté aplikujte nezbytná oprávnění pro zápis na složky cache a logů spuštěním chmod -R 775 storage bootstrap/cache.

  9. Ověření funkčnosti v prohlížeči

    Otevřete webový prohlížeč a zadejte adresu svého webu (například https://laravel.learnlws.fr). Zobrazí se výchozí úvodní stránka Laravelu se aktivním bezpečnostním zámkem SSL, což potvrzuje úspěšné dokončení instalace.

Nezbytné příkazy Artisan po nasazení

Po instalaci vaší aplikace Laravel usnadňuje několik příkazů konzole Artisan provoz a údržbu projektu.

  • php artisan key:generate — vygeneruje jedinečný šifrovací klíč nezbytný pro zabezpečení aplikace
  • php artisan migrate — aplikuje schémata a vytvoří všechny tabulky ve vaší databázi MySQL
  • php artisan config:cache — uloží konfigurační soubory do cache pro rychlejší výkon v produkci
  • php artisan route:cache — optimalizuje načítání tras vaší aplikace pro požadavky návštěvníků

Často kladené otázky

Proč zvolit pro Chroot Shell uživatele možnost 'None'?

Režim 'None' umožňuje vašemu uživateli spouštět globální binární soubory systému Debian (zejména PHP CLI, Git a Composer). Běžné chrootované prostředí omezuje přístupy a blokovalo by normální spouštění příkazů Artisan a Composer.

Proč se po nasazení na úvodní stránce zobrazuje chyba 500?

Chyba HTTP 500 obvykle vzniká kvůli chybějícímu aplikačnímu klíči v souboru .env (spusťte php artisan key:generate) nebo nedostatečným oprávněním ke složkám storage a bootstrap/cache, které musí být pro webový server zapisovatelné.

Jak přimět ISPConfig, aby směřoval přímo do podsložky public v Laravelu?

Do možností webu v ISPConfig můžete vložit vlastní Apache direktivu pro předefinování DocumentRoot na /var/www/votresite.com/web/public, nebo nahradit standardní složku web symbolickým odkazem směřujícím do složky public vašeho projektu.

Je nutné přistupovat k serveru pomocí účtu root?

Ne, veškeré operace správy souborů, instalace závislostí Composeru, konfigurace .env i příkazy Artisan se provádějí kompletně pomocí shell uživatele přiřazeného k webu vytvořenému v ISPConfig.

SSL certifikát Let's Encrypt se v ISPConfig neaktivuje, co dělat?

Ujistěte se, že DNS záznam typu A skutečně směřuje na IP adresu vašeho VPS a že propagace již skončila. Let's Encrypt před potvrzením a vystavením certifikátu kontroluje dostupnost domény zvenčí.

Užitečné odkazy

help.lws.net/a/7955
Byl pro vás tento článek užitečný?

Ano

Ne

Přečteno 3×

Děkujeme! Neváhejte se ptát na naši dokumentaci, pokud chcete více informací, a pomozte nám ji zlepšit.

Podobné články

Máte otázku k tomuto článku?

Položte ji týmu LWS a komunitě. Odpověď bude zveřejněna po kontrole moderátorem.

Položte týmu LWS a jeho komunitě otázku

GDPR: Správce: LWS-Ligne Web Services. Účel: moderace a veřejné zveřejnění vašeho dotazu, případné upozornění na odpověď. Právní základ: souhlas (čl. 6 odst. 1 písm. a GDPR). Uchovávání e-mailů: 90 dní po upozornění, nejvýše 12 měsíců bez odpovědi. Pro uplatnění svých práv viz oddíl GDPR našich obchodních podmínek.